《用 C 制作声音提示》是一门面向已掌握 C 基础、希望用循环生成原创音频的学习者的实践项目课程。你会从一段短促的 440 Hz 音调开始,将其改为 660 Hz,再编写可复用的 C 程序,生成包含两个音调、中间静音及逐渐起落效果的真实 WAV 通知音。
两个引导实验先讲解采样生成,再将小片段组合成声音提示。独立挑战会改变音高与时长,使用的方法保持一致。每个单元都有独立准备的文件,前面的实验只延续知识,不延续文件或运行中的程序。
你将学到什么
- 将采样率、采样序号和时长联系起来,确定循环需要生成的采样数量。
- 使用正弦公式和 C 数学库,生成有幅度边界的有符号 16 位单声道 PCM 采样。
- 在两个音调之间加入数值为零的停顿,并在每个音调的两端应用线性淡入淡出。
- 编译可复用的生成器,检查实际 WAV 格式与时长,并在浏览器中播放、跳转和下载保存的文件。
本课程适合谁
本课程适合希望使用熟悉的语言特性制作小型创意项目的 C 学习者。C Programming for Beginners 可提供相应基础。
前置要求: 了解 C 变量与数值、条件、循环、数组和函数,并能使用基本终端命令及切换目录。课程会在使用前解释采样、所需的二进制输出调用和 WAV 字段,不假定你已熟练掌握指针、二进制文件或信号处理。
学习环境: LabEx 提供 C 编译器、数学库、准备好的源文件、浏览器终端和读取真实音频文件的播放器,无需本地安装。程序输出和播放器标签保留英文。
常见问题
哪些部分由我编写?
你将编写采样生成循环、时序、静音和各音调的淡入淡出。课程提供并讲解的写入器只把这些采样封装为 WAV 字节,不会代你生成音调。交付物包括 C 源码、可运行程序和实际 WAV 输出。
我会制作哪种音频?
项目使用明确的未压缩 WAV 格式:每秒 16,000 个采样、有符号 16 位单声道 PCM。你会检查保存的采样与时长;通用音频编解码、滤波器和音频编辑不在课程范围内。
我需要录音素材或麦克风吗?
不需要。声音由你的 C 程序合成,不取自录音。浏览器播放器读取保存的文件进行播放、定位和下载,不会补齐缺失的采样。

