|
|
1
103
正如一些人在评论中指出的那样,你想研究的是 PCM audio . 简而言之, sound 是一种在空气中传播的波。为了捕捉这种声音,我们使用 microphone ,它包含一个薄膜,当声波撞击它时,薄膜会振动。这种振动会转化为电信号,电压会上下波动。然后,电压的这种变化通过 analog-to-digital converter (ADC)通过每秒采样一定次数(“ sampling rate “-44 KHz,即每秒44100个样本),在当前情况下,存储为脉冲编码调制(PCM)音频数据。 A. speaker 相反地工作;PCM信号通过 digital-to-analog converter (DAC),然后模拟信号进入扬声器,在那里它会振动一个薄膜,在空气中产生振动,从而产生声音。 操纵音频 有很多库可以处理许多语言的音频,但是你把这个问题标记为“语言无关”,我会提到一些简单的方法(我只知道这些!),你可以用你喜欢的语言处理音频。 我将以伪代码的形式展示代码示例。
伪码将使每个音频样本的幅度在-1到1的范围内。这将取决于您用于存储每个样本的数据类型。(我还没有处理过32位
放大 为了放大音频(因此,增加声音的音量),您需要使扬声器的振动更大,从而增加声波的幅度。 为了使扬声器移动更多,您必须增加每个样本的值:
得到的样本现在被放大了2倍,在播放时,声音应该比以前大得多。 沉默 当没有振动时,就没有声音。通过将每个样本降至0或任何特定值,可以实现静音,但样本之间的幅度没有任何变化:
播放上述内容应不会产生声音,因为由于样本的振幅没有变化,扬声器上的膜根本不会移动。 加速和减速 加速和减速可以通过两种方式实现:(1)更改播放采样率或(2)更改采样本身。 将播放采样率从44100 Hz更改为22050 Hz将使播放速度降低2。这将使声音变慢,音调变低。从22KHz的源开始,以44KHz的频率播放,声音会非常快,音调很高,就像鸟儿啁啾一样。 更改样本本身(并保持恒定的播放采样率)意味着样本要么(a)被丢弃,要么(b)被添加。 加速 播放音频时,抛出样本:
上述程序的结果是,音频将加速2倍,类似于播放以22KHz和44KHz采样的音频。 减速 在播放音频时,请加入一些示例:
在这里,添加了额外的样本,从而减慢了播放速度。在这里,我们有一个
基于FFT的频谱分析和声音修正 使用一种称为 Fast Fourier transform (FFT),可以将幅度时域中的声音数据映射到频率时域,以找出音频的频率分量。这可用于生产 spectrum analyzers 你可能会在你最喜欢的音频播放器上看到。 不仅如此,既然现在你有了音频的频率分量,如果你改变 如果你想截断某些频率,你可以使用FFT将声音数据转换到频率时域,并将不需要的频率分量归零。这叫做 filtering . 制作一个 high-pass filter ,这允许高于特定频率的频率可以这样执行:
在上面的例子中,中途标记上的所有频率都被切断。因此,如果音频可以产生22KHz的最大频率,则高于11KHz的任何频率都将被切断。(对于以44 KHz播放的音频,可以产生的最大理论频率为22 KHz。请参阅 NyquistâShannon sampling theorem .) 如果你想增加低频范围(类似于低音增强效果),请取FFT变换数据的下端并增加其幅度:
此示例增加了音频频率分量的下四分之一,导致低频变得更响亮。 可以对样本做很多事情来操纵音频。继续做实验吧!这是最令人兴奋的学习方式。 |
|
|
2
5
看来你想了解更多 PCM audio 基本上,每个32位值表示指定时间的电压电平。 由于采样频率为44100Hz,因此每个通道每秒可获得441000个32位值(*2,因为您有立体声) 对于立体声,左声道和右声道通常是交错的,这样第一个样本代表左声道,第二个样本代表右声道,以此类推。 |
|
|
3
3
要理解这些32位浮点数组代表什么,你需要阅读一本关于数字音频的好介绍。 如果你在图书馆附近,Curtis Roads的《计算机音乐教程》可能会很有用。具体来说,第一章“数字音频概念”。(不过我已经很久没读这本书了)。 一旦你了解了数字音频,有很多方法可以操纵它。当你准备好了,这些链接可能会有所帮助。 这个 Dsp + Plugin Development forum at KVR Audio 是一个提问的地方。这里的帖子通常分为通用音频DSP和VST插件主题。 MusicDsp 有很多代码片段。 The Scientist and Engineer's Guide to Digital Signal Processing 是一本免费的在线教科书,深入探讨了标准DSP主题。其中大部分也适用于数字音频。 |
|
|
4
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/ |