Доступна реализация на JavaScript звуковых кодеков MP3, Apple Lossless, FLAC и AAC

Разработчики сервиса Official.fm выступили с инициативой реализации популярных аудиокодеков на языке JavaScript. В настоящее время уже подготовлены самодостаточные JavaScript-модули с реализацией декодеров MP3, ALAC (Apple Lossless), FLAC и AAC, которые могут воспроизводить сжатые звуковые потоки на уровне выполняемого внутри браузера приложения, без необходимости наличия поддержки данных форматов в системе и без использования сторонних плагинов, таких как Adobe Flash.

С учётом роста производительности JavaScript-движков современных браузеров, библиотеки позволяют обеспечить декодирование звука с достаточно высоким битрейтом. Например, JavaScript-декодер MP3 обеспечивает беспроблемное проигрывание MP3-файлов с битрейтом вплоть до 320 KBit/sec. Для воспроизведения декодированного звука необходима поддержка браузером Web Audio API или Audio Data API. Исходные тексты JavaScript-библиотек размещены на GitHub и распространяются под лицензией GPLv2.

В процессе разработки кодеков, также было разработано несколько вспомогательных проектов. Например, подготовлен фреймворк Aurora.js, существенно упрощающий реализацию декодеров на JavaScript. Aurora предоставляет набор типовых функций для выполнения типичных операций обработки звука, таких как работа с бинарными данными, обеспечение цикла декодирования, разбор медиаконтейнеров и вывод звука через специфичные браузерные API. Код Aurora написан на CoffeeScript, который компилируется в JavaScript. Дополнительно реализован 128-битный вещественный тип longdouble.js и подготовлена библиотека Pitch.js, которую можно использовать для выделения голоса или определённых инструментов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.