2011-09-18 150 views
0

我不是那么大的编程,我需要采样通过手机录制的音频文件,我明白,移动设备记录语音,并且有采样率,并且每个采样具有8位或16位采样大小。我需要8khz的8位样本量。编程环境是卢阿,但这并不重要,真正的基本交易是抽样。任何帮助,将不胜感激。我如何采样音频文件说.wav,在一个8位8khz参数

+0

其实你的编程环境,尤其是你的手机上的编程环境确实很重要。使用库可能更有意义,而不是手动处理波。但是如果你想走低水平的话,可以到维基百科作为波形格式的起点。对FFT的一些基本理解可能会派上用场。 – Philip

回答

0

您需要在将声音采样记录为8位@ 8 kHz时设置录制参数,或者,如果不能,或者没有对实际录制过程的任何控制,则需要您将需要resample原始录音将其转换为您需要的格式。您可以使用SoX这样的工具离线执行此操作,也可以编写可以即时执行此操作的代码。如果您在问题中提供更多细节,那么我可以在答案中添加更多具体细节。

+0

感谢队友,细节是,我知道我可以重新采样它,但我需要阵列中的波形,并将正常2000 3000个索引分成10-12个分段,然后处理这些信息,从而使音频匹配速度更快,增强,重采样不会给我那么做吗?我其实不知道。此外,编程环境是Corona SDK,它的API和我的理解只允许您指定采样率而不是波形或采样位的大小。任何跨平台的移动开发环境给我,如果它不能完成这个? –

+0

@Mohammad:重新采样的全部*点*是从你开始的任何采样率和位深度,将波形转换为所需的采样率和位深度,即8位@ 8 kHz。 –

+0

我明白了,但我需要数组中的波形和我从我读过的(全部FRIGGIN API)我不能这样做,显然如果我需要匹配音频样本,我不能每次使用整个音频文件,那么如果我不能得到波形,还有什么建议呢?我可以添加你是否有帮助,不胜感激 –

0

我不知道lua,但正如Paul R所建议的,您始终可以使用SoX或ffmpeg后处理您的音频文件。在Linux上,只需要安装的ffmpeg:

sudo apt-get install ffmpeg 

然后:

ffmpeg -i trenet.wav -ar 8000 trenet-8k.wav 

此重新采样音频为8000 Hz。我没有找到如何处理比特/采样参数,但您可以随时调整比特率。对于文档:

man ffmpeg 
相关问题