«Создание звуковых уведомлений на C» — практический проект для тех, кто знает основы C и хочет превратить циклы в собственный звук. Вы начнёте с короткого тона 440 Гц, измените его на 660 Гц и создадите программу на C, которую можно использовать повторно, для настоящего WAV-уведомления из двух тонов, паузы и плавных начал и окончаний.
Две пошаговые лабораторные работы знакомят с генерацией отсчётов, а затем с композицией из коротких сегментов. Самостоятельное задание меняет высоту тонов и длительности, сохраняя те же методы. Каждая работа начинается с собственных подготовленных файлов; из предыдущих нужны только знания, а не файлы или запущенные программы.
Чему вы научитесь
- Связывать частоту дискретизации, индекс отсчёта и длительность с числом отсчётов, которые должен создать цикл.
- Генерировать знаковые 16-битные монофонические отсчёты PCM с ограниченной амплитудой с помощью синусоидальной формулы и математической библиотеки C.
- Соединять два тона паузой из нулевых значений и применять линейное нарастание и затухание на обоих концах каждого тона.
- Компилировать повторно используемый генератор, проверять настоящий формат WAV и длительность, воспроизводить, перематывать и скачивать сохранённый файл в браузере.
Для кого этот курс
Курс предназначен для изучающих C, которые хотят выполнить небольшой творческий проект со знакомыми средствами языка. C Programming for Beginners даёт подходящую основу.
Предварительные требования: Переменные и числовые значения C, условия, циклы, массивы и функции, базовые команды терминала и переходы между каталогами. Дискретизация, необходимые вызовы двоичного вывода и поля WAV объясняются до использования. Опыт работы с указателями, двоичными файлами и обработкой сигналов не предполагается.
Учебная среда: LabEx предоставляет компилятор C, математическую библиотеку, подготовленные исходники, терминал в браузере и проигрыватель ваших настоящих аудиофайлов. Локальная установка не нужна. Вывод программы и подписи проигрывателя остаются на английском языке.
Часто задаваемые вопросы
Какие части я напишу?
Вы напишете циклы генерации отсчётов, управление временем, тишину и плавные переходы каждого тона. Предоставленная и объяснённая функция записи упаковывает эти отсчёты в байты WAV, но не генерирует тоны за вас. Вы сдадите исходный код C, рабочий исполняемый файл и настоящий WAV-файл.
Какой звук я создам?
Проект использует определённый несжатый формат WAV: знаковый 16-битный монофонический PCM с 16 000 отсчётов в секунду. Вы проверите сохранённые отсчёты и длительность. Универсальные аудиокодеки, фильтры и редактирование звука не входят в курс.
Нужны ли записи или микрофон?
Нет. Звуки синтезирует ваша программа C, а не готовая запись. Проигрыватель в браузере читает сохранённый файл для воспроизведения, перемотки и скачивания; отсутствующие отсчёты никогда не достраиваются.

