0
如何以特定的采样率采样音频波,然后从音频波中获取数值?我在我的项目中使用了accord.net平台,naudio.net和alvas.audio。如何采样音频文件?在我的项目后期涉及歌曲,语音,沉默等检测如何在c#中采样音频?
如何以特定的采样率采样音频波,然后从音频波中获取数值?我在我的项目中使用了accord.net平台,naudio.net和alvas.audio。如何采样音频文件?在我的项目后期涉及歌曲,语音,沉默等检测如何在c#中采样音频?
如果您使用Accord.NET,您可以看看audio recorder sample application。它会打开一个音频文件或一个捕获设备,并以给定的采样率从中读取。如果您已经安装了该框架,则应在开始菜单中提供示例应用程序文件夹的快捷方式。否则,其source code is also available online。
最有可能你会希望从示例应用程序下面的章节,这将打开计算机的麦克风第一:
// Create capture device
var source = new AudioCaptureDevice();
source.DesiredFrameSize = 4096;
source.SampleRate = 22050;
source.NewFrame += source_NewFrame;
source.AudioSourceError += source_AudioSourceError;
// Start
source.Start();
或本节中,从内存读取的音频数据流:
var output = new AudioOutputDevice(this.Handle, decoder.SampleRate, decoder.Channels);
output.NewFrameRequested += output_NewFrameRequested;
output.Stopped += output_PlayingFinished;
output.FramePlayingStarted += output_FramePlayingStarted;
output.Play();
这个问题没有什么意义,当您从文件中读取音频时,音频已经被采样。无论什么应用程序写入文件照顾它。 – 2012-03-03 15:12:01