你好我想创建一个特定频率的MP3文件,我想要的包括更高的频率(高于22kHz的人类范围)。 我试过HTML5,但它无法记录谢谢
答案 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位字节(注意你的字节序)