Web Audio: локальная аудиомастерская
Общий проект «Аудиомастерская» развивается от договора данных до готового результата. Каждый урок объясняет один переход; фрагменты привязаны к файлам полного примера.
Предпосылки: Основы JavaScript, массивов и Promise; готовность различать секунды, кадры и байты. Среда: Нативные ES modules, AudioContext, OfflineAudioContext, AudioBuffer, Canvas 2D и DataView; современный браузер, локальный HTTP-сервер.
Материалы опубликованы. Учебное приложение не запускалось, тесты и измерения не выполнялись. Показанные результаты ожидаемые. Архив содержит один полный итоговый набор файлов, а не десять выполненных снимков.
Уроки
| Урок | Результат |
|---|---|
| 1. Web Audio API: звуковой файл, семпл и контракт редактора | Контракт mono/stereo, кадров и полуоткрытого диапазона с явными пределами. |
| 2. Web Audio API: декодирование локального файла | Локальный файл превращается в проверенный AudioBuffer; последнее намерение защищено счётчиком. |
| 3. AudioContext и управляемое воспроизведение | Одноразовый источник имеет управляемый запуск, остановку и позицию по звуковым часам. |
| 4. Web Audio API: звуковой граф и громкость без скачка | Источник, огибающая и основной уровень разделены; фиксированный уровень применяется один раз. |
| 5. Web Audio API: волна и временная шкала | Canvas показывает экстремумы по временным колонкам; индикатор позиции обновляется отдельно. |
| 6. Web Audio API: выделение и воспроизведение фрагмента | Секунды преобразуются в целые кадры; проигрывание и экспорт используют проверенный снимок. |
| 7. Web Audio API: плавное начало и окончание фрагмента | Линейная огибающая планирует начало и конец внутри неизменной длины участка. |
| 8. OfflineAudioContext и результат обработки | OfflineAudioContext возвращает обработанный буфер с заданными каналами, частотой и длиной. |
| 9. Экспорт WAV PCM16 в браузере: от семплов к файлу | PCM16 WAV получает корректные отношения размеров, little-endian и чередование каналов. |
| 10. Web Audio API: ограничения, ошибки и передача аудиоредактора | Состояния интерфейса, ошибки, контрольные числа и границы описаны для следующего разработчика. |
Исходники и продолжение
Скачать полный проект. README описывает самостоятельное открытие через HTTP, ограничения и будущие проверки. Исходники требуют технической проверки перед публикацией приложения.