Matlab 如何播放NumPy阵列中包含的样本中的声音?

Matlab 如何播放NumPy阵列中包含的样本中的声音?,matlab,audio,numpy,scipy,Matlab,Audio,Numpy,Scipy,我试图在Matlab中找到一个对应于soundsc()和sound()的函数。基本上,我喜欢通过播放NumPy数组中包含的样本来听声音。有一些函数可以执行此操作吗?我不确定是否存在执行此操作的numpy函数,但您可以使用fromscipy.io.wavfile将数组(只要它只包含整数)转换为wav文件,然后播放该文件 我还没有深入了解细节,但我认为参考了Python中有用的声音工具 编辑:另请参见与Linux和Mac相关的 大多数Linux计算机都预装了vox库,让您可以从命令行播放音频 因此,

我试图在Matlab中找到一个对应于
soundsc()
sound()
的函数。基本上,我喜欢通过播放NumPy数组中包含的样本来听声音。有一些函数可以执行此操作吗?

我不确定是否存在执行此操作的
numpy
函数,但您可以使用from
scipy.io.wavfile
将数组(只要它只包含整数)转换为wav文件,然后播放该文件

我还没有深入了解细节,但我认为参考了Python中有用的声音工具


编辑:另请参见与Linux和Mac相关的

大多数Linux计算机都预装了
vox
库,让您可以从命令行播放音频

因此,假设您使用
scipy.io.write
将数组写入wave文件,您可以使用
子流程模块在Python程序中播放它

下面是一个完整的示例:

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
从scipy.io.wavfile导入写入
将numpy作为np导入
fs=44100#采样频率
输入数组=np.random.rand(fs*2)#2秒音频
写入('output.wav',fs,input_数组)
#现在该文件已写入磁盘-播放它
导入子流程

subprocess.call([“play”,'output.wav'])我的回答有帮助吗?