2012-03-03 201 views
0

如何以特定的采样率采样音频波,然后从音频波中获取数值?我在我的项目中使用了accord.net平台,naudio.net和alvas.audio。如何采样音频文件?在我的项目后期涉及歌曲,语音,沉默等检测如何在c#中采样音频?

+1

这个问题没有什么意义,当您从文件中读取音频时,音频已经被采样。无论什么应用程序写入文件照顾它。 – 2012-03-03 15:12:01

回答

1

如果您使用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();