我正在尝试查找对应于 soundsc()
的函数和 sound()
在 Matlab 中。基本上,我想通过播放 NumPy 数组中包含的样本来听声音。是否有一些功能可以做到这一点?
最佳答案
这适用于 Linux 和 Mac
大多数 Linux 计算机都预装了 vox
让你从命令行播放音频的库。
因此,假设您使用 scipy.io.write
将数组写入波形文件,您可以在 Python 程序中使用 subprocess
播放它模块。
这是一个完整的例子:
from scipy.io.wavfile import write
import numpy as np
fs = 44100 # sampling frequency
input_array = np.random.rand(fs*2) # 2 seconds audio
write('output.wav', fs, input_array)
# now that file is written to the disk - play it
import subprocess
subprocess.call(["play", 'output.wav']) <- for linux
subprocess.call(["afplay", 'output.wav']) <- for Mac
对于 Windows,据我所知,没有内置的命令行播放器——因此在使用上述代码之前,您可能需要安装一些允许您这样做的程序。
关于matlab - 如何从 NumPy 数组中包含的样本中播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32344524/