Speex

редактировать
Speex
Speex logo 2006.svg
Расширение имени файла .spx
Тип Интернет-носителя audio / x-speex, audio / speex, audio / ogg
РазработаноXiph.Org Foundation, Жан-Марк Валин
Тип форматаАудио
СодержитсяOgg
Стандартный RFC 5574
Открытый формат ?Да
Веб-сайтwww.speex.org
libspeex
Разработчик (и) Xiph.Org Foundation, Жан-Марк Валин
Первоначальный выпуск1.0 / март 2003 г.
Стабильный выпуск 1.2.0 / 7 декабря 2016 г.; 3 года назад (07.12.2016)
Операционная система Кросс-платформенность
Тип Аудиокодек, эталонная реализация
Лицензия Лицензия в стиле BSD
Веб-сайтЗагрузки Xiph.org

Speex - это кодек сжатия звука, специально настроенный для воспроизведения человеческой речи, а также бесплатное программное обеспечение речевой кодек, который можно использовать в приложениях VoIP и подкастах. Он основан на алгоритме кодирования речи CELP. Speex заявляет, что свободен от каких-либо патентных ограничений и лицензирован в соответствии с пересмотренной (3 пункта) лицензией BSD. Его можно использовать с форматом контейнера Ogg или напрямую передавать по UDP / RTP. Его также можно использовать с форматом контейнера FLV.

Разработчики Speex рассматривают свой проект как дополнение к Vorbis универсальному сжатию звука проект.

Speex - это формат с потерями, т. Е. Качество постоянно ухудшается, чтобы уменьшить размер файла.

Проект Speex был создан 13 февраля 2002 года. Первые разрабатываемые версии Speex были выпущены под лицензией LGPL, но начиная с версии 1.0 beta 1 Speex выпускается под версией Xiph. (пересмотренная) лицензия BSD. Speex 1.0 был анонсирован 24 марта 2003 года, после года разработки. Последняя стабильная версия кодировщика и декодера Speex - 1.2.0.

Xiph.Org теперь считает Speex устаревшим; его преемником является более современный кодек Opus, который превосходит по своим характеристикам во многих областях, за исключением самых низких частот дискретизации.

Содержание
  • 1 Описание
    • 1.1 Возможности
  • 2 Приложения
  • 3 См. Также
  • 4 Источники
  • 5 Ссылки
  • 6 Внешние ссылки
Описание

Speex нацелен на передачу голоса по IP (VoIP) и на основе файлов сжатие. Целью проектирования было создание кодека, который был бы оптимизирован для высококачественной речи и низкой скорости передачи данных. Для достижения этого кодек использует несколько битрейтов и поддерживает сверхширокополосный (32 кГц частота дискретизации ), широкополосный (частота дискретизации 16 кГц) и узкополосный ( телефонное качество, частота дискретизации 8 кГц). Поскольку Speex был разработан для VoIP вместо использования сотового телефона, кодек должен быть устойчивым к потерянным пакетам, но не к поврежденным. Все это привело к выбору линейного предсказания с кодовым возбуждением (CELP) в качестве метода кодирования для использования в Speex. Одна из основных причин заключается в том, что CELP уже давно доказал, что может выполнять свою работу и хорошо масштабироваться как до низких битрейтов (о чем свидетельствует DoD CELP @ 4.8 кбит / с), так и высоких битрейтов (как с G.728 @ 16 кбит / с). Основные характеристики можно резюмировать следующим образом:

Характеристики

Частота дискретизации
Speex в основном предназначен для трех различных частоты дискретизации: 8 кГц (такая же частота дискретизации для передачи телефонных вызовов), 16 кГц и 32 кГц. Они соответственно называются узкополосными, широкополосными и сверхширокополосными.
Качество
Кодирование Speex в большинстве случаев контролируется параметром качества, который находится в диапазоне от 0 до 10. При постоянном битовом скорость (CBR), параметр качества - это целое число, а для переменной скорости передачи данных (VBR) параметр представляет собой действительное число (с плавающей запятой ).
Сложность (переменная)
С помощью Speex можно изменять сложность, разрешенную для кодировщика. Это осуществляется путем управления способом выполнения поиска с целыми числами от 1 до 10 аналогично параметрам от -1 до -9 в утилитах gzip сжатие. При нормальном использовании уровень шума на уровне сложности 1 на 1-2 дБ выше, чем на уровне сложности 10, но требования CPU для уровня сложности 10 примерно в пять раз выше, чем для уровня сложности 1. На практике лучшее компромисс между сложностью 2 и 4, хотя более высокие настройки часто полезны при кодировании неречевых звуков, таких как тоны DTMF, или если кодирование не в реальном времени.
Переменная скорость передачи (VBR)
Переменная скорость передачи данных (VBR) позволяет кодеку динамически изменять свою скорость передачи данных, чтобы адаптироваться к «сложности» кодируемого звука. В примере Speex звуки, подобные гласным и высокоэнергетическим переходным звукам, требуют более высокого битрейта для достижения хорошего качества, в то время как фрикативные (например, звуки s и f) может быть адекватно закодирован меньшим количеством битов. По этой причине VBR может обеспечить более низкую скорость передачи данных при том же качестве или более высокое качество при определенной скорости передачи данных. Несмотря на свои преимущества, VBR имеет три основных недостатка: во-первых, указание только качества не дает никаких гарантий относительно окончательной средней скорости передачи данных. Во-вторых, для некоторых приложений реального времени, таких как передача голоса по IP (VoIP), учитывается максимальная скорость передачи данных, которая должна быть достаточно низкой для канала связи. В-третьих, шифрование речи с кодировкой VBR не может гарантировать полную конфиденциальность, поскольку фразы все еще можно идентифицировать, по крайней мере, в контролируемой настройке с помощью небольшого словаря фраз, анализируя характер изменения скорости передачи данных.
Средняя скорость передачи данных (ABR)
Средняя скорость передачи данных решает одну из проблем VBR, так как она динамически регулирует качество VBR для достижения определенной целевой скорости передачи данных. Поскольку качество / скорость передачи данных регулируются в реальном времени (разомкнутый цикл), общее качество будет немного ниже, чем качество, полученное при кодировании в VBR с точно правильной настройкой качества для достижения целевого среднего битрейта.
Голос Обнаружение активности (VAD)
Когда включено, обнаружение голосовой активности определяет, является ли кодируемый звук речью или тишиной / фоновым шумом. VAD всегда неявно активируется при кодировании в VBR, поэтому этот параметр полезен только при работе без VBR. В этом случае Speex обнаруживает периоды отсутствия речи и кодирует их с помощью достаточного количества бит для воспроизведения фонового шума. Это называется «генерацией комфортного шума » (CNG). Последняя версия VAD работала нормально - 1.1.12, с версии 1.2 она была заменена простым обнаружением любой активности.
Прерывистая передача (DTX)
Прерывистая передача - это дополнение к VAD / VBR операция, которая позволяет полностью прекратить передачу при стационарном фоновом шуме. В файле для каждого отсутствующего кадра используется 5 битов (соответствует 250 бит / с).
Улучшение восприятия
Улучшение восприятия - это часть декодера, который при включении пытается для уменьшения (восприятия) шума, создаваемого процессом кодирования / декодирования. В большинстве случаев улучшение восприятия делает звук дальше от оригинала объективно (отношение сигнал / шум), но в итоге он все равно звучит лучше (субъективное улучшение).
Алгоритмическая задержка
Каждый кодек вносит задержку при передаче. Для Speex эта задержка равна размеру кадра плюс некоторый «упреждающий просмотр», необходимый для обработки каждого кадра. В узкополосной работе (8 кГц) задержка составляет 30 мс, а в широкополосной (16 кГц) задержка составляет 34 мс. Эти значения не учитывают процессорное время, необходимое для кодирования или декодирования кадров.
Приложения
Сравнение аудиокодеков для речи.

Существует большая база приложений, поддерживающих кодек Speex. Примеры включают:

Большинство из них основаны на в фильтре DirectShow или кодеке OpenACM (например, Microsoft NetMeeting ) в Microsoft Windows или в эталонной реализации Xiph.org, libvorbis, в Linux (например, Ekiga ). Также существуют плагины для многих аудиоплееров. Подробнее см. на странице плагинов и программ на сайте speex.org.

Тип носителя для Speex - audio / ogg, когда он содержится в Ogg, и audio / speex (ранее audio / x-speex) при передаче через RTP или без контейнера.

The United Система Land Warrior армии штата, разработанная General Dynamics, также использует Speex для VoIP на радио EPLRS, разработанном Raytheon.

The Ear Bible - это наушники на одно ухо со встроенным проигрывателем Speex с 1 ГБ флэш-памяти, с предварительно загруженной записью Новой американской стандартной Библии.

ASL Safety Security на базе Linux VIPA Программное обеспечение ОС, которое используется в системах громкой связи на длинной линии связи и системах голосового оповещения на крупных международных авиатранспортных узлах и железнодорожных сетях.

Проект Rockbox использует Speex для своего голосового интерфейса. Он также может воспроизводить файлы Speex на поддерживаемых проигрывателях, таких как Apple iPod или iRiver H10.

Портативное устройство сбора данных Vernier LabQuest для естественнонаучного образования использует Speex для голосовых аннотаций, создаваемых учащимися и учителями с помощью встроенного или внешнего микрофона.

Мобильное приложение Google для iPhone в настоящее время включает Speex. Также предполагалось, что новое приложение Google голосовой поиск iPhone использует Speex для передачи голоса на серверы Google для интерпретации.

Adobe Flash Player поддерживает Speex, начиная с Flash Player 10.0.12.36, выпущенного в октябре 2008 года. Из-за некоторых ошибок в Flash Player первой рекомендуемой версией для поддержки Speex является 10.0.22.87 и более поздние версии. Speex в Flash Player может использоваться для обоих типов связи, через Flash Media Server или P2P. Speex можно декодировать или преобразовать в любой формат, в отличие от аудио Nellymoser, который был единственным речевым форматом в предыдущих версиях Flash Player. Speex также можно использовать в формате контейнера Flash Video (.flv), начиная с версии 10 Спецификации формата видеофайла (опубликованной в ноябре 2008 г.).

Диктофон JavaSonics ListenUp использует Speex для сжатия голосовых сообщений, которые записываются в браузере и затем загружаются на веб-сервер. Основные приложения - языковая подготовка, транскрипция и социальные сети.

Speex используется в качестве алгоритма сжатия голоса в голосовом помощнике Siri на iPhone 4S. Поскольку преобразование текста в речь происходит на серверах Apple, кодек Speex используется для минимизации пропускной способности сети.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Sources

В этой статье используется материал из Руководства по кодеку Speex, которое является авторским правом © Жан-Марк Валин и лицензировано в соответствии с условиями GFDL.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-09 02:23:11
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте