Представлена JavaScript-реализация аудиокодеков MP3, FLAC, AAC и ALAC

13/07/2012 00:47

Разработчики сервиса Official.fm представили реализацию популярных аудиокодеков на языке JavaScript. В настоящее время уже подготовлены самодостаточные JavaScript-модули с реализацией декодеров MP3, ALAC (Apple Lossless), FLAC и AAC, которые могут воспроизводить сжатые звуковые потоки на уровне выполняемого внутри браузера приложения, без необходимости наличия поддержки данных форматов в системе и без использования сторонних расширений, таких как Adobe Flash. С учётом роста производительности JavaScript-движков современных браузеров, библиотеки позволяют обеспечить декодирование звука с достаточно высоким битрейтом. Например, JavaScript-декодер MP3 обеспечивает беспроблемное проигрывание MP3-файлов с битрейтом вплоть до 320 Кбит/сек. Для воспроизведения декодированного звука необходима поддержка браузером Web Audio API или Audio Data API. Исходные тексты JavaScript-библиотек размещены на GitHub и распространяются под лицензией GPLv2. В процессе разработки кодеков, также было разработано несколько вспомогательных проектов. Например, подготовлен фреймворк "Aurora.js", существенно упрощающий реализацию декодеров на JavaScript. Aurora предоставляет набор типовых функций для выполнения типичных операций обработки звука, таких как работа с бинарными данными, обеспечение цикла декодирования, разбор медиа-контейнеров и вывод звука через специфичные браузерные API. Код Aurora написан на CoffeeScript, который компилируется в JavaScript. Дополнительно реализован 128-битный вещественный тип "longdouble.js" и подготовлена библиотека "Pitch.js", которую можно использовать для выделения голоса или определённых инструментов.
Источник