matlab - 你如何在 MATLAB 中生成双音频率?

标签 matlab audio

我有兴趣在运行时产生一个音调频率,频率和持续时间是可变参数。在 MATLAB 中生成此声音文件并使其在脚本中可访问以供稍后使用以与以类似方式针对不同频率/持续时间生成的其他声音文件连接的最佳方法是什么?预先感谢您的评论。

最佳答案

给定向量播放的持续时间取决于向量中元素的数量和采样率。例如,一个 1000 元素的矢量,当以 1 kHz 播放时,将持续 1 秒。当以 500 Hz 播放时,它将持续 2 秒。因此,您应该做出的第一个选择是您要使用的采样率。避免aliasing , 采样率应该是 twice as large as the largest frequency component of the signal .但是,您可能希望使其更大,以避免接近采样率的频率衰减。

给定 1 kHz 的采样率,以下示例创建给定持续时间和音调频率的声音向量(使用 LINSPACESIN 函数):

Fs = 1000;      %# Samples per second
toneFreq = 50;  %# Tone frequency, in Hertz
nSeconds = 2;   %# Duration of the sound
y = sin(linspace(0, nSeconds*toneFreq*2*pi, round(nSeconds*Fs)));

当使用 SOUND 以 1 kHz 播放时函数,此向量将生成持续 2 秒的 50 Hz 音调:

sound(y, Fs);  %# Play sound at sampling rate Fs

然后可以使用 WAVWRITE 将矢量保存为 wav 文件功能:

wavwrite(y, Fs, 8, 'tone_50Hz.wav');  %# Save as an 8-bit, 1 kHz signal

稍后可以使用 WAVREAD 加载声音矢量功能。如果您要连接两个声音向量,您应该确保它们都设计为使用相同的采样率。

关于matlab - 你如何在 MATLAB 中生成双音频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1452455/

相关文章:

matlab - 我可以在带有 UI 的 Windows 上运行 matlab,只是代码在远程服务器上运行吗?

iOS 8 : AudioServicesPlaySystemSound is not playing Sound when AudioServicesDisposeSystemSoundID is called afterwards

audio - 在Drupal的同一页面上播放和下载音频文件

javascript - Xamarin WebView Audio.Play不起作用

audio - 简单音频单元使AU Lab崩溃,寻找HasCustomView吗?

Matlab将图形保存为特定大小?

machine-learning - matlab中的最小二乘SVM

matlab - 使用 MATLAB 和 libsvm 绘制 SVM 边距

c - 在64位机器上处理文件但在32位机器上开发

java - 在 java 中寻找用于音频控件的开源 gui 组件