当前位置: 首页 > news >正文

Python生成432Hz音频

使用 numpy 来生成信号,

使用 matplotlib 可视化信号,

使用 sounddevice 播放声音。

以下生成和播放 432 Hz 的正弦波信号:


import numpy as np
import sounddevice as sd
import matplotlib.pyplot as plt# 生成单音函数
def generate_tone(frequency, duration, sampling_rate):t = np.linspace(0, duration, int(sampling_rate * duration), endpoint=False)return 0.5 * np.sin(2 * np.pi * frequency * t)# 生成和弦(多个频率同时播放)
def generate_chord(frequencies, duration, sampling_rate):chord = np.zeros(int(sampling_rate * duration))for freq in frequencies:chord += generate_tone(freq, duration, sampling_rate)return chord / len(frequencies)  # 归一化def fun_music(frequency = 432, sampling_rate = 44100, duration = 2):# 参数设置frequency = 432  # 频率(赫兹)sampling_rate = 44100  # 采样率(赫兹)duration = 2  # 持续时间(秒)# 时间轴t = np.linspace(0, duration, int(sampling_rate * duration), endpoint=False)# 生成正弦波信号signal = 0.5 * np.sin(2 * np.pi * frequency * t)# 播放声音sd.play(signal, samplerate=sampling_rate)sd.wait() # 等待声音播放完成# 绘制信号plt.plot(t[:1000], signal[:1000])  # 只绘制前1000个点plt.title(f'Sine Wave - {frequency} Hz')plt.xlabel('Time [s]')plt.ylabel('Amplitude')plt.show()fun_music()
  1. 参数设置:定义了频率为 432 Hz、采样率为 44100 Hz 和持续时间为 2 秒。
  2. 生成时间轴:使用 numpy.linspace 创建时间轴。
  3. 生成正弦波信号:使用 numpy.sin 生成 432 Hz 的正弦波信号。
  4. 播放声音:使用 sounddevice 库的 play 函数播放生成的音频信号。
  5. 绘制信号:使用 matplotlib 可视化生成的音频信号。

 执行结果:


http://www.mrgr.cn/news/1951.html

相关文章:

  • SQL进阶技巧:如何不使用union all进行行转列?【三种方法实现】
  • 有效的括号---力扣
  • 基于Spring Boot的高效宠物购物平台
  • 景联文科技:一文详解如何构建高质量SFT数据
  • 大话C语言:第41篇 结构体与函数的关系
  • 云原生 | Kubernetes 之常用 CNI 网络插件简述与对比
  • 保存数据至后台表
  • Java 安全编程:揭秘加密与解密的艺术
  • 未开启语音助手时,远程控制功能助你快速在家找回手机!
  • C语言 【自定义类型——结构体】(详细)
  • [C#]winform基于深度学习算法MVANet部署高精度二分类图像分割onnx模型高精度图像二值化
  • 人工智能缺陷检测方案METIS(梅迪斯):汽车零部件检测
  • MySQL单表条件查询语句
  • 【页面提取】将搜索到的内容进行截屏保存,搜索到的标题及链接输出到电子表格
  • 探索 Resolume Arena 7 - 引领 VJ 音视频创作的卓越软件
  • 【AI学习】LLaMA模型的微调成本有几何?
  • spark client mode cluster mode 区别 与选择
  • C#中的S7协议
  • python_tutorials_t1,print input操作
  • JMeter常见的高频面试题整理