我正在寻找帮助开始以编程方式使用音频。
具体来说,我正在使用的平台公开API以从资源(如MP3)中提取音频数据,或者将任意数据作为音频播放。在这两种情况下,实际数据是32位浮点数的字节数组,代表44.1 KHz立体声。我正在寻找的是帮助理解这些花车代表什么,以及用它们可以用什么样的方式动态分析或修改它们代表的声音。
我需要学习哪种概念才能以这种方式处理音频?
答案 0 :(得分:96)
答案 1 :(得分:4)
您希望了解有关PCM audio
的更多信息基本上每32位值代表指定时间的电压电平。 由于采样频率为44100Hz,每通道每秒可获得441000个32位值(* 2,因为您有立体声)
对于立体声声音,左右声道通常是交错的,因此第一个样本代表左声道,第二个样本代表右声道,依此类推。
答案 2 :(得分:3)
要了解32位浮点数表示什么,您需要阅读数字音频的优秀介绍。
如果你在图书馆附近'柯蒂斯路的电脑音乐教程'可能会有用。特别是第一章“数字音频概念”。 (虽然我读了这本书已经有很长时间了。)
了解数字音频后,有很多方法可以对其进行操作。当你准备好这些链接可能会有所帮助。
Dsp + Plugin Development forum at KVR Audio是一个提问的地方。这里的帖子通常分为通用音频DSP和VST插件主题。
MusicDsp有很多代码段。
The Scientist and Engineer's Guide to Digital Signal Processing 是一本免费的在线教科书,深入探讨标准DSP主题。其中大部分也适用于数字音频。
答案 3 :(得分:1)
我最近发布了一个类似的问题:good audio dsp tutorials。
黄金链接肯定是The Audio EQ Cookbook,如果你想编写和排序了解EQ,但更一般地说,musicdsp.org archive是我找到的音频DSP编码的最佳资源。
这是我在Flash中制作的合成器(“Soundoid”)的视频: http://www.youtube.com/watch?v=O-1hHiA7y4o
你可以在这里玩它:http://www.zachernuk.com/2011/03/28/soundoid-audio-synthesizer-v0-5/