在特定频率上创建MP3

时间:2014-08-02 10:46:47

标签: audio mp3 html5-audio

你好我想创建一个特定频率的MP3文件,我想要的包括更高的频率(高于22kHz的人类范围)。 我试过HTML5,但它无法记录谢谢

1 个答案:

答案 0 :(得分:0)

可用的最大频率受采样率限制 - 查找nyquist频率的概念 - 因此网络音频API可以处理96kHz的最大采样率,因此其最大频率将是远高于人类范围的一半。

声音的来源是什么?从麦克风合成或录制? Web Audio API支持这两种技术 - 您需要什么平台?网络/笔记本电脑......? 什么语言 ? mp3与压缩编解码器有关 - 未压缩的音频数据称为PCM(脉冲编码调制),您可以更直接地将其保存为WAV格式。

要合成一个频率,就可以像将一条曲线上的点保存到缓冲区一样简单 - 这里是一些伪代码

var max_samples = 100;
var num_cycles = 8; // influences frequency
var curr_theta = 0.0;
var incr_theta = 2 * Math.PI / (max_samples * num_cycles); // 2 * PI is one Hz

for (var curr_sample = 0; curr_sample < max_samples; curr_sample++) {

   audio_buffer[curr_sample] = Math.sin(curr_theta); // store current sample
   curr_theta += incr_theta;
}

然后将此audio_buffer保存到输出文件中 - 与采样率的重要主题分开是位深度的概念 - 这是用于存储每个样本的分辨率 - 典型音频使用16位作为每个样本的位深度 - 如果将上述audio_buffer中的每个条目存储为16位,则需要在文件保存步骤中将其切换为8位字节(注意你的字节序)