如何用julia语言播放任何波形的音频?

dex*_*dev 6 julia

我有一个长度为5秒的正弦曲线,如下所示:

x=sin(0:.01:2*pi*500*5);
Run Code Online (Sandbox Code Playgroud)

现在我想通过给出类似如下的命令来听到这个波形的音频:

playsound(x,samplingfrequency);
Run Code Online (Sandbox Code Playgroud)

如果我能将这个音频数据写入wav或mp3文件,对我来说会很有用.这个功能需要什么库以及julia中的等效命令?

chr*_*hro 5

您可以使用https://github.com/ssfrr/AudioIO.jl播放音频

对于写/读wav https://github.com/JuliaLang/Sound.jl/blob/master/src/Sound.jl

但是,这两个模块目前都处于早期阶段。


Dan*_*Dan 5

您可以使用WAV.jl对 WAV 文件中的数据进行编码。您可以通过 Julia 软件包系统安装软件包:

Pkg.add("WAV")
Run Code Online (Sandbox Code Playgroud)

然后,使用该wavwrite函数创建文件:

wavwrite(data, "example.wav", Fs=8000)
Run Code Online (Sandbox Code Playgroud)

WAV 源代码库中有一个函数 ( wavplay ) 也可以播放音频,但它只适用于 Linux。在我将其作为正式版本的一部分之前,我正在等待有人贡献 windows 和 mac 版本。