【问题标题】:How do i sample an audio file say .wav , in an 8 bit 8khz parameter如何以 8 位 8khz 参数对音频文件进行采样,例如 .wav
【发布时间】:2011-09-18 11:59:37
【问题描述】:

我对编程不是很了解,我需要对通过手机录制的音频文件进行采样,我知道移动设备会录制语音,并且有采样率,每个采样都有 8 位或 16 位采样尺寸。我需要 8khz 的 8 位样本大小。编程环境是 lua,但这并不重要,基本交易是采样。任何帮助将不胜感激。

【问题讨论】:

  • 实际上你的编程环境,尤其是你手机上的环境,确实很重要。使用库而不是“手动”处理波可能更有意义。但是,如果您想了解低级,请访问 Wikipedia 作为 wave 格式的起点。对 FFT 的一些基本了解可能会派上用场。

标签: audio lua sampling


【解决方案1】:

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

【讨论】:

  • 谢谢伙计,细节是,是的,我知道我可以重新采样,但我需要数组中的波形并将通常的 2000 3000 索引分成 10-12 段,然后处理信息,从而制作音频匹配更快和增强,重采样不给我吗?我其实不知道。此外,编程环境是 Corona SDK,就其 API 而言,我的理解只能让您指定采样率,而不是波形或采样位大小。任何跨平台的移动开发环境都给了我,如果它不能做到这一点?
  • @Mohammad:重采样的整个是让您的波形达到所需的采样率和位深度,即 8 位 @ 8 kHz,无论采样率和位如何你开始的深度。
  • 我明白了,但我需要数组中的波形和我读过的内容,(整个 FRIGGIN API)我不能这样做,显然如果我需要匹配音频样本我每次都不能使用整个音频文件,所以如果我不能得到波形,我该怎么办,有什么建议吗?我可以补充一下,你很有帮助吗,非常感谢
  • 您可能需要提出一个新问题,因为您最初的问题是关于将音频转换为正确的格式(8 位 @ 8 kHz),但现在您似乎在询问如何分割文件或将音频流分成块进行某种匹配(我猜你正在尝试做类似 Shazam 的事情?)。
  • 哦,不,不像 shazam,有点不同,但是,非常感谢,我会发布另一个问题
【解决方案2】:

我不了解 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 2010-12-27
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多