“声音编程”是一个非常广泛的领域。首先,这绝对是一个可行的科目,但是由于您需要将东西塞进一个学期,因此您需要限制您的范围。我可以看到您正在寻找一个开始的地方,所以这里有一些想法可以让您思考。
既然您提到了“声音在计算机科学中的工作原理”和“合成器”,那么值得指出模拟声音、采样声音和之间的区别>合成声音,因为它们是不同的概念。我将在这里简要解释一下。
模拟声音是我们人类通常解释的声音——人耳感知到的空气振动。您可以将声音视为一维信号,其中自变量是时间,因变量是振动幅度。模拟声音在时域和幅度域中都是连续的。较旧的录音方法(例如磁带)使用模拟声音表示。计算机不经常使用模拟声音(计算机不擅长存储连续域数据),但理解模拟信号仍然很重要。如果您沿着这条路走,预计会看到大量数学知识(例如复数、傅里叶变换)。
采样的声音是一种很适合用计算机处理的声音表示。人们最熟悉通过 CD 和其他音乐录音采样的声音。以某种频率对模拟信号进行采样(例如,用于 CD 录制的 44.1KHz)。因此,采样的声音信号在时域中是离散的。如果信号被量化,那么它在幅度域中也是离散的。 MP3 等格式是采样格式。如果您有兴趣,可以在这个领域研究很多东西,例如恢复(去除静态等)和压缩(同样,编解码器 MP3、Ogg Vorbis)。这很有趣,因为有很多东西要试验和编码。
模拟和采样声音都深入研究了一个称为数字信号处理的领域。谷歌一下,以了解它的感觉。它通常在大学里作为一门课程教授,所以如果你真的很感兴趣,可以看看一些讲座幻灯片,甚至可以尝试一些早期的、更简单的项目。
合成的声音是一种适用于再现音乐曲目的表示,其中播放曲目的乐器是事先已知的。把它想象成电脑的乐谱。必须有人编写活页乐谱——你不能像模拟或采样声音一样录制它。这使得合成声音与模拟声音和采样声音完全不同。此外,计算机需要知道乐器是什么(例如钢琴)以便它可以播放(合成)曲目。如果它不知道乐器,它要么放弃要么选择一个接近的匹配(例如用电子键盘代替钢琴)。我以前从未使用过合成器,所以我无法评论它们的学习曲线。
所以,根据我写的内容——选择一个你更感兴趣的方向,谷歌搜索,然后完善你的问题。
编辑
一本好书是this。您可能可以在亚马逊上查看相关标题并找到更新的内容,但我已经有一段时间没有进行音频处理购物了。
如果你有半小时的空闲时间,那么看看这个video tutorial。它涵盖了声音、图像和视频处理——它们实际上是密切相关的领域。