matlab - 如何从 NumPy 数组中包含的样本中播放声音?

标签 matlab audio numpy scipy

我正在尝试查找对应于 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/

相关文章:

python - 使用 python 3.0 的 Numpy

python - 我的 jupyter 笔记本无法一致导入 anaconda 模块

python - 选择优化最小数量的元素以跨越一个区域

c++ - 在 C++ 中 reshape Matlab

android - 在Android上处理音频文件

matlab - 了解多核、多处理器和 MPI 上的 MATLAB

c# - 在 C# 中创建正弦波或方波

JavaFX ChangeListener 持续时间问题

MATLAB 快速(按分量)矢量运算......非常快

matlab - 使用 ODE45 查找函数的最大值