我想学习音频编程

在我的高中,我们可以上课,我们基本上自己学习一个学科一个学期.我在想我想要了解“声音编程”,但是我意识到我不知道这是什么.我有兴趣了解,例如,合成器的工作原理以及声音在计算机科学中的作用.我真的要专注于低级代码部分,而不是组成部分.这是可行的主题吗?有没有什么好的教程,有一些人是全新的?
我知道C并且正在使用Windows. this的第一个答案是我感兴趣的东西(尽管在我头上).
“声音编程”是一个非常广泛的领域.首先,这绝对是一个可行的课题,但是由于你需要填写一个学期,你需要限制你的范围.我可以看到你正在寻找一个开始的地方,所以这里有一些想法让你思考.

既然你已经提到了“计算机科学中的声音”和“合成器”,值得指出的是模拟声音,采样声音和合成声音之间的区别,因为它们是不同的概念.我会在这里简单解释一下.

模拟声音是我们人类通常解释的声音 – 人耳感觉到的空气的振动.您可以将声音视为一维信号,其中自变量为时间,因变量为振幅.模拟声音在时域和幅度域都是连续的.较旧的录音方法(例如磁带)使用模拟声音表示.模拟声音不常用于计算机(计算机不存储连续域数据),但是理解模拟信号是重要的.如果您沿着这条路径走下去,预期会看到大量的数学(如复数,傅立叶变换).

抽样声音是使用计算机进行处理的声音表示.人们最熟悉通过CD和其他音乐录音的抽样声音.模拟信号以某种频率进行采样(例如用于CD记录的44.1KHz).所以采样的声音信号在时域上是离散的.如果信号被量化,那么它也将在振幅域中离散.格式如MP3是采样格式.如果您有兴趣,还有很多要学习的东西,如恢复(删除静态等)和压缩(再次,编解码器MP3,Ogg Vorbis).这很有趣,因为有很多实验和代码.

模拟和采样声音都深入到了称为数字信号处理的领域. Google为此而感受到了什么.它通常被教授为大学的课程,所以如果你真的很热衷于你可以看一些讲座幻灯片,甚至尝试一些更早,更简单的项目.

合成声音是适合再现音乐轨道的表示,其中播放音轨的乐器预先已知.将其视为计算机的乐谱.有人必须编写乐谱 – 你不能只记录它像模拟或采样的声音.这使得合成声音与模拟声音和采样声音完全不同.计算机需要知道乐器是什么(例如钢琴),以便它可以播放(综合)轨道.如果它不知道乐器,它会放弃或选择一个紧密的匹配(例如用钢琴键盘替换钢琴).我从来没有和合成器一起工作,所以我不能评论他们的学习曲线.

所以,根据我写的 – 选择一个方向感兴趣你更多,谷歌围绕,然后改善你的问题.

编辑

阅读的好书是this.你可以看看亚马逊的相关标题,找到更新的东西,但是从我做音频处理购物以来,已经有一段时间了.

如果你有半小时的时间,那么看看这个video tutorial.它涵盖声音,图像和视频处理 – 实际上是密切相关的领域.

翻译自:https://stackoverflow.com/questions/4801690/i-want-to-learn-audio-programming

转载注明原文:我想学习音频编程