Спеекс
Расширение имени файла | .spx |
---|---|
Тип интернет-СМИ | аудио/x-speex, аудио/речь, аудио/ogg |
Разработано | Фонд Xiph.Org , Жан-Марк Вален |
Тип формата | с потерями Звук |
Содержится | Огг |
Стандартный | RFC 5574 |
Открытый формат ? | Да [1] |
Веб-сайт | www |
Разработчик(и) | Фонд Xiph.Org , Жан-Марк Вален [2] |
---|---|
Первоначальный выпуск | 1.0 / март 2003 г. |
Стабильная версия | 1.2.1 [3] / 16 июня 2022 г |
Репозиторий | |
Операционная система | Кросс-платформенный |
Тип | Аудиокодек , эталонная реализация |
Лицензия | Лицензия в стиле BSD [4] [5] |
Веб-сайт | Загрузки Xiph.org |
Speex — это кодек сжатия звука, специально настроенный для воспроизведения человеческой речи, а также бесплатный программный речевой кодек , который можно использовать в приложениях передачи голоса по IP и подкастах . [6] Он основан на с линейным предсказанием, возбуждаемым кодом . алгоритме кодирования речи [7] Его создатели утверждают, что Speex свободен от каких-либо патентных ограничений и лицензируется в соответствии с пересмотренной (3 пункта) лицензией BSD . Его можно использовать с Ogg форматом контейнера или напрямую передавать по UDP / RTP . Его также можно использовать с форматом контейнера FLV . [8]
Разработчики Speex рассматривают свой проект как дополнение к Vorbis проекту универсального сжатия звука .
Speex — это формат с потерями , т. е. качество постоянно ухудшается из-за уменьшения размера файла.
Проект Speex был создан 13 февраля 2002 года. [9] Первые разрабатываемые версии Speex были выпущены под лицензией LGPL , но, начиная с версии 1.0 beta 1, Speex выпускается под версией (пересмотренной) лицензии BSD от Xiph. [10] Speex 1.0 был анонсирован 24 марта 2003 года, после года разработки. [11] Последняя стабильная версия кодера и декодера Speex — 1.2.1. [3]
Xiph.Org теперь считает Speex устаревшим; его преемником является более современный кодек Opus , который использует формат SILK по лицензии Microsoft и превосходит его по производительности в большинстве областей, за исключением самых низких частот дискретизации. [12]
Описание [ править ]
Speex ориентирован на передачу голоса по IP (VoIP) и сжатие файлов. Целью разработки было создание кодека, оптимизированного для передачи высококачественной речи и низкой скорости передачи данных. Для достижения этой цели кодек использует несколько скоростей передачи данных и поддерживает сверхширокополосный ( 32 кГц частота дискретизации ), широкополосный (частота дискретизации 16 кГц) и узкополосный (телефонное качество, частота дискретизации 8 кГц). Поскольку Speex был разработан для VoIP, а не для использования в сотовых телефонах, кодек должен быть устойчив к потерянным пакетам, но не к повреждению. Все это привело к выбору линейного предсказания с кодовым возбуждением (CELP) в качестве метода кодирования для Speex. [7] Одна из основных причин заключается в том, что CELP уже давно доказал, что он может выполнять свою работу и хорошо масштабироваться как для низких скоростей передачи данных (о чем свидетельствует DoD CELP @ 4,8 кбит/с), так и для высоких скоростей передачи данных (как в случае G.728 @ 16 кбит) . /с).Основные характеристики можно резюмировать следующим образом:
- Бесплатное программное обеспечение с открытым исходным кодом , без патентов и лицензионных отчислений.
- Интеграция узкополосной и широкополосной связи в одном битовом потоке.
- Доступен широкий диапазон скоростей передачи данных (от 2 кбит/с до 44 кбит/с).
- Динамическое переключение скорости передачи данных и переменная скорость передачи данных (VBR).
- Детектор голосовой активности (VAD, интегрированный с VBR) (не работает с версии 1.2).
- Переменная сложность.
- Сверхширокополосный режим на частоте 32 кГц (до 48 кГц).
- Опция интенсивного стереокодирования.
Особенности [ править ]
- Частота выборки
- Speex в основном предназначен для трех различных частот дискретизации: 8 кГц (та же частота дискретизации для передачи телефонных звонков), 16 кГц и 32 кГц. Их соответственно называют узкополосными, широкополосными и сверхширокополосными.
- Качество
- Кодирование Speex большую часть времени контролируется параметром качества, который находится в диапазоне от 0 до 10. В режиме постоянной скорости передачи данных (CBR) параметр качества представляет собой целое число , а для переменной скорости передачи данных (VBR) этот параметр представляет собой число. действительное ( с плавающей запятой ) число.
- Сложность (переменная)
- С помощью Speex можно изменять сложность кодера. Это делается путем управления выполнением поиска с помощью целого числа в диапазоне от 1 до 10, аналогично параметрам от -1 до -9 в gzip утилитах сжатия . При обычном использовании уровень шума при сложности 1 на 1–2 дБ выше, чем при сложности 10, но требования к ЦП для сложности 10 примерно в пять раз выше, чем для сложности 1. На практике лучший компромисс между сложностью 2 и 4, [13] хотя более высокие настройки часто полезны при кодировании неречевых звуков, таких как тональные сигналы DTMF , или если кодирование не происходит в режиме реального времени.
- Переменный битрейт (VBR)
- Переменный битрейт (VBR) позволяет кодеку динамически изменять битрейт, чтобы адаптироваться к «сложности» кодируемого звука. В примере Speex такие звуки, как гласные и высокоэнергетические переходные процессы, требуют более высокой скорости передачи данных для достижения хорошего качества, в то время как фрикативные звуки (например, звуки s и f) могут быть адекватно закодированы с меньшим количеством битов. По этой причине VBR может обеспечить более низкую скорость передачи данных при том же качестве или лучшее качество при определенной скорости передачи данных. Несмотря на свои преимущества, VBR имеет три основных недостатка: во-первых, за счет указания только качества нет гарантии конечной средней скорости передачи данных. Во-вторых, для некоторых приложений реального времени, таких как передача голоса по IP (VoIP), важна максимальная скорость передачи данных, которая должна быть достаточно низкой для канала связи. В-третьих, шифрование речи, закодированной с помощью VBR, может не обеспечить полную конфиденциальность, поскольку фразы все равно можно идентифицировать, по крайней мере, в контролируемых условиях с помощью небольшого словаря фраз. [14] путем анализа закономерностей изменения скорости передачи данных.
- Средняя скорость передачи данных (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. Примеры включают в себя:
- Потоковые приложения, такие как телеконференции (например, TeamSpeak , Mumble )
- Системы VoIP (например, Asterisk )
- Видеоигры (например, Xbox Live , [15] Civilization 4 , DropMix , ...) вокальные треки
- Приложения для обработки звука.
Большинство из них основаны на фильтре DirectShow или кодеке OpenACM (например, Microsoft NetMeeting ) в Microsoft Windows или эталонной реализации Xiph.org, libvorbis, в Linux (например, Ekiga ). Также существуют плагины для многих аудиоплееров. Дополнительную информацию см. на странице плагинов и программного обеспечения на сайте speex.org. [16]
Типом носителя для Speex является audio/ogg, пока он содержится в Ogg, и audio/speex (ранее audio/x-speex), когда он транспортируется через RTP или без контейнера.
армии США , Система Land Warrior , разработанная General Dynamics , также использует Speex для VoIP на радио EPLRS разработанном Raytheon .
Ушная Библия [17] — одноканальные наушники со встроенным Speex-плеером и флэш-памятью объемом 1 ГБ, [18] с предустановленной записью Новой американской стандартной Библии .
ASL Безопасность и безопасность [19] Программное обеспечение VIPA OS на базе Linux [20] который используется в системах громкой связи на длинных линиях и системах голосового оповещения в крупных международных узлах воздушного транспорта и железнодорожных сетях.
Проект Rockbox использует Speex в качестве голосового интерфейса. Он также может воспроизводить файлы Speex на поддерживаемых проигрывателях, таких как Apple iPod или iRiver H10.
Вернье ЛабораторияКвест [21] портативное устройство сбора данных для естественнонаучного образования использует Speex для голосовых аннотаций, создаваемых учащимися и преподавателями с помощью встроенного или внешнего микрофона.
Мобильное приложение Google для iPhone в настоящее время включает Speex. [22] Также было высказано предположение, что новое Google приложение голосового поиска для iPhone использует Speex для передачи голоса на серверы Google для интерпретации. [23]
Adobe Flash Player поддерживает Speex, начиная с Flash Player 10.0.12.36, выпущенного в октябре 2008 года. [24] Из-за некоторых ошибок в Flash Player первой рекомендуемой версией для поддержки Speex является 10.0.22.87 и более поздние. Speex в Flash Player можно использовать для обоих видов связи: через Flash Media Server или P2P . Speex можно декодировать или конвертировать в любой формат, в отличие от звука Nellymoser , который был единственным форматом речи в предыдущих версиях Flash Player. [25] [26] Speex также можно использовать в Flash Video формате контейнера (.flv), начиная с версии 10 спецификации формата видеофайла (опубликованной в ноябре 2008 г.). [27]
Прослушивание JavaSonics [28] диктофон использует Speex для сжатия голосовых сообщений, которые записываются в браузере, а затем загружаются на веб-сервер. Основными приложениями являются языковое обучение, транскрипция и социальные сети.
Speex используется в качестве алгоритма сжатия голоса в голосовой помощи Siri на iPhone 4S . [29] Поскольку преобразование текста в речь происходит на серверах Apple, кодек Speex используется для минимизации пропускной способности сети.
См. также [ править ]
- Сравнение форматов кодирования звука
- Opus (аудиоформат) — преемник Speex
Источники [ править ]
В этой статье используются материалы из Руководства по кодекам Speex , авторские права на которые принадлежат © Жан-Марку Валину и которые лицензируются в соответствии с условиями GFDL .
Ссылки [ править ]
- ^ «PlayOgg! — FSF — Фонд свободного программного обеспечения» . 17 марта 2010 г. Проверено 1 октября 2013 г.
- ^ Жан-Марк Вален (2009). «people.xiph.org — личное веб-пространство ксифов — Жан-Марк Вален» . Xiph.Org . Проверено 11 сентября 2009 г.
- ^ Jump up to: Перейти обратно: а б «Новости Спекса» . Фонд Xiph.Org . Проверено 13 апреля 2023 г.
- ^ «Руководство по кодеку Speex — Лицензия Speex» . Фонд Xiph.Org . Проверено 1 сентября 2009 г.
- ^ «Пример Xiph.Org варианта лицензии BSD» . Фонд Xiph.Org . Проверено 29 августа 2009 г.
- ^ Xiph.Org Speex: бесплатный кодек для свободы слова , дата обращения 1 сентября 2009 г.
- ^ Jump up to: Перейти обратно: а б Xiph.Org Введение в кодирование CELP , дата обращения 1 сентября 2009 г.
- ^ Спецификация формата Adobe FLV , получено 18 апреля 2016 г.
- ^ Релизы Xiph.org Speex - до 1.0 - НОВОСТИ и журнал изменений в speex-0.0.1.tar.gz , дата обращения 1 сентября 2009 г.
- ^ Xiph.Org Часто задаваемые вопросы о Speex - Под какой лицензией выпускается Speex? , Проверено 1 сентября 2009 г.
- ^ Xiph.Org (24 марта 2003 г.) Speex достигает 1,0; Xiph.Org теперь является некоммерческой организацией 501(c)(3) , дата обращения 1 сентября 2009 г.
- ^ [1] Домашняя страница Speex, получено 11 апреля 2017 г.
- ^ «Описание кодека» . www.speex.org .
- ^ «Найди меня, если сможешь: раскрытие разговорных фраз в зашифрованных разговорах VoIP (Чарльз В. Райт, Лукас Баллард, Скотт Э. Коулл, Фабиан Монроуз, Джеральд М. Массон)» (PDF) .
- ↑ Как объявил Ральф Джайлз, специалист по обслуживанию кодеков Theora , в LugRadio . 29-й серии
- ^ «Свободный кодек для свободы слова» . Спекс . Проверено 29 декабря 2012 г.
- ^ Ласеллес, ООО. «Самая удобная аудиобиблия в мире» . Ушная Библия . Проверено 29 декабря 2012 г.
- ^ Ласеллес, ООО. "Поддерживать" . Ушная Библия . Проверено 29 декабря 2012 г.
- ^ «Программное обеспечение PA/VA, PSIM и системы управления станциями > Безопасность и защита ASL» . Asl-control.co.uk . Проверено 29 декабря 2012 г.
- ^ IPAM 400: интеллектуальный усилитель громкой связи на базе IP. Архивировано 4 сентября 2011 г. на Wayback Machine — Руководство пользователя.
- ^ «LabQuest 2 > Vernier Software & Technology» . Вернье.com. 2012-05-23 . Проверено 29 декабря 2012 г.
- ^ «Юридические уведомления» . Гугл Инк . Проверено 5 декабря 2014 г.
- ^ Байо, Энди (18 ноября 2008 г.). «Деконструкция голосового поиска Google Mobile на iPhone» .
- ^ Adobe (2008) Техническое описание Flash Player 10 , дата обращения 1 сентября 2009 г.
- ^ AskMeFlash.com (10 мая 2009 г.) Speex for Flash , проверено 12 августа 2009 г.
- ^ AskMeFlash.com (10 мая 2009 г.) Speex против Nellymoser. Архивировано 15 апреля 2009 г. на Wayback Machine , проверено 12 августа 2009 г.
- ^ Adobe Systems Incorporated (ноябрь 2008 г.). «Спецификация формата видеофайла, версия 10» (PDF) . Adobe Systems Incorporated. Архивировано из оригинала (PDF) 23 сентября 2010 г. Проверено 5 декабря 2014 г.
- ^ Фил Берк. «Апплет записи голоса JavaSonics ListenUp для Java, который загружает сообщения на веб-сервер» . Javasonics.com . Проверено 29 декабря 2012 г.
- ^ «Апплидиум — Новости» . Applidium.com. Архивировано из оригинала 16 ноября 2011 г. Проверено 29 декабря 2012 г.
Внешние ссылки [ править ]
- RFC 5574 — формат полезной нагрузки RTP для кодека Speex.
- Официальная домашняя страница Speex
- Страница плагинов и программного обеспечения
- JSpeex — это порт Speex на платформу Java.
- NSpeex — это порт Speex на платформу .NET и Silverlight на основе JSpeex. Архивировано 3 декабря 2011 г. на Wayback Machine.
- CSpeex — это порт Speex на платформу .NET на основе JSpeex. Архивировано 13 декабря 2009 г. на Wayback Machine.
- RFC 5334 – Типы носителей Ogg
- [2] Архивировано 21 декабря 2013 г. в Wayback Machine — Speex Encoder Player (César MBUMBA).