您好,我想创建一个特定频率的MP3文件,该频率包含更高的频率(高于人类22kHz的频率)。
我已经尝试过HTML5,但无法记录谢谢
最佳答案
可用的最大频率受采样率的限制(查找奈奎斯特频率的概念),因此网络音频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位字节(注意您的字节序)
关于audio - 在特定频率上创建MP3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25094180/