Спасибо, что читаете первую книгу, посвящённую Web Audio API. Когда я впервые узнал о Web Audio API, я был новичком в цифровом аудио и только начинал путь к изучению и пониманию этого API и базовых концепций работы с аудио. Этой книги мне очень не хватало, когда я начал экспериментировать с API в 2011 году. Она призвана стать отправной точкой для веб-разработчиков вроде меня в прошлом, которые мало знакомы или совсем не знакомы с цифровым аудио. В ней собрано то, что я узнал за год изучения области цифровой обработки аудио, общения с экспертами и собственных экспериментов с API.
Я буду раскрывать теоретическую часть в специальных вставках с объяснением основных концепций. Если вы гуру цифрового аудио, можете смело их пропускать. Практическая часть будет сопровождаться примерами кода, чтобы было проще понимать, как работает API. Многие примеры также содержат ссылки на рабочие демо, который доступны на сайте Web Audio API.
Книга призвана дать общее представление о ключевых возможностях Web Audio API, но не является исчерпывающим исследованием по каждой из них. Она задумана не как полный справочник, а как удобная отправная точка. Большинство разделов книги начинаются с описания применения API: формулируется задача и её решение, а затем приводится соответствующий пример кода на JavaScript с использованием Web Audio API. Вставки с теорией по ходу текста объясняют основные аудиоконцепции в более общем виде. Книга структурирована следующим образом:
Основы посвящены базовым принципам работы аудиографов, их стандартным конфигурациям, аудиоузлам, из которых состоят аудиографы, а также загрузке и воспроизведению звуковых файлов.
Идеальный тайминг и задержка рассказывают о точном планировании проигрывания звука в будущем, одновременном воспроизведении нескольких звуков, изменении параметров звука напрямую или во времени и использовании кроссфейда.
Громкость и воспринимаемая звучность объясняют понятия усиления, громкости и воспринимаемой звучности, а также способы предотвращения клиппинга с помощью измерителей и динамической компрессии.
Высота звука и частотный спектр — это раздел о частоте звука, ключевом свойстве периодических колебаний. Также мы разбираем работу осцилляторов и анализ звука в частотной области.
Анализ и визуализация отходят от тем синтеза и обработки звука и углубляются в такие темы, как анализ и визуализация.
Продвинутые темы продолжают материал предыдущих разделов и углубляются в более сложные темы, такие как биквадратные фильтры, симуляция акустики помещений и пространственная обработка звука.
Интеграция с другими технологиями описывает способы
взаимодействия Web Audio API с такими веб-API, как WebRTC и тег <audio>.
Исходный код этой книги опубликован под лицензией Creative Commons и доступен на GitHub.
В книге используются следующие правила оформления текста:
Используется для обозначения новых терминов, URL-адресов, адресов электронной почты, названий и расширений файлов.
Моноширинный шрифтПрименяется для листингов программ, а также внутри текста для упоминания элементов программ, таких как имена переменных или функций, базы данных, типы данных, переменные окружения, операторы и ключевые слова.
Моноширинный жирныйПоказывает команды или другой текст, который должен быть введен пользователем буквально.
Моноширинный курсивОбозначает текст, который нужно заменить значениями, вводимыми пользователем, или значениями, определяемыми контекстом.
Эта иконка обозначает совет, рекомендацию или общее примечание.
Эта иконка указывает на предупреждение или предостережение.
Эта книга создана, чтобы помочь вам в работе. В общем случае, если в книге приведены примеры кода, вы можете использовать их в своих программах и документации. Вам не нужно получать наше разрешение, если только вы не воспроизводите значительную часть кода. Например, написание программы, в которой используется несколько фрагментов кода из этой книги, не требует разрешения. Продажа или распространение CD-ROM с примерами из книг O’Reilly уже требует разрешения. Отвечая на вопрос, вы можете сослаться на эту книгу и привести пример кода без запроса разрешения. Однако включение значительного количества примеров кода из этой книги в документацию к вашему продукту требует получения разрешения.
Мы будем признательны за упоминание источника, но это не является обязательным. Обычно атрибуция включает название книги, автора, издателя и ISBN. Например: “Web Audio API by Boris Smus (O’Reilly). Copyright 2013 Boris Smus, 978-1-449-33268-6.”
Если вы считаете, что использование вами примеров кода выходит за рамки добросовестного использования или вышеупомянутого разрешения, свяжитесь с нами по адресу permissions@oreilly.com.
Safari Books Online (www.safaribooksonline.com) — это цифровая библиотека по запросу, предоставляющая экспертный контент в формате книг и видео от ведущих авторов в области технологий и бизнеса.
Профессионалы в сфере технологий, разработчики программного обеспечения, веб-дизайнеры, а также специалисты в области бизнеса и креативных индустрий используют Safari Books Online как основной ресурс для исследований, решения задач, обучения и подготовки к сертификации.
Safari Books Online предлагает различные комбинации продуктов и тарифные программы для организаций, государственных учреждений и частных лиц. Подписчики получают доступ к тысячам книг, обучающих видео и рукописей до их официальной публикации — всё это в одной полнотекстово индексируемой базе данных от таких издателей, как O’Reilly Media, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Technology и многих других. Для получения дополнительной информации о Safari Books Online, пожалуйста, посетите наш сайт.
Все комментарии и вопросы по этой книге просим адресовать издателю:
У этой книги есть веб-страница, на которой мы публикуем исправления, примеры и дополнительную информацию. Страница доступна по адресу: http://oreil.ly/web-audio-api.
Для отправки комментариев или запросов по техническим вопросам по этой книге, отправьте электронное письмо на bookquestions@oreilly.com.
Для получения дополнительной информации о наших книгах, курсах, конференциях и новостях, посетите наш сайт по адресу: http://www.oreilly.com.
Ищите нас в Facebook: http://facebook.com/oreilly.
Следите за нами в Twitter: http://twitter.com/oreillymedia.
Смотрите нас на YouTube: http://www.youtube.com/oreillymedia.
Я не эксперт в области цифровой обработки аудио, мастеринге или сведении звука. Я — инженер-программист и музыкант-любитель, которому хватило интереса вникнуть в цифровое аудио и уделить время изучению Web Audio API, а также разобраться в некоторых его ключевых концепциях. Чтобы написать эту книгу, мне приходилось постоянно беспокоить других людей, у которых было намного больше опыта в цифровом аудио, чем у меня. Я хочу поблагодарить их за то, что они отвечали на мои вопросы, проводили технические обзоры этой книги и поддерживали меня на всём пути.
В частности, этой книги не было бы без щедрой поддержки и наставничества Криса Роджерса — основного автора спецификации Web Audio и главного разработчика её реализации в WebKit/Chrome. Огромное спасибо Крису Уилсону, который сделал невероятно тщательный технический обзор содержания этой книги, и Марку Голдстину, который провёл немало ночей, вычитывая текст. Я благодарен Кевину Эннису за то, что он предоставил сайт webaudioapi.com для размещения примеров кода из книги. И последнее, но не менее важное: я бы никогда не написал эту книгу без поддержки и интереса энергичного интернет-сообщества Web Audio API.
Ну что ж, без лишних слов — приступим!