Как вызвать SPEEX Audio Decode / Encode в HTML5 / JavaScript (без Flash)

Я работаю над проектом, который требует, чтобы аудиоданные передавались через HTTP на / с сервера.

Нам нужно сжать аудиоданные с помощью SPEEX.

Во Flash мы можем использовать Alchemy и LibSpeex, но как это сделать в JavaScript? HTML5 можно использовать.

Спасибо.

Питер


person Peter Lee    schedule 03.02.2012    source источник
comment
Скорее всего, если нет чистого JS-кодека, вам нужно написать его самостоятельно :(   -  person Mikko Ohtamaa    schedule 04.02.2012
comment
Перезапись библиотеки SPEEX ...   -  person Peter Lee    schedule 04.02.2012
comment
Затем вы должны транслировать в каком-либо формате, поддерживаемом браузерами. См. WebRTC webrtc.org. Никто не заставляет вас использовать SPEEX?   -  person Mikko Ohtamaa    schedule 04.02.2012
comment
Хм. SPEEX довольно стандартен для распознавания речи. Степень сжатия довольно хорошая: 1/7 или даже меньше, но никаких явных искажений для распознавания речи. Я не уверен, как работает аудиокодек iSAC / iLBC.   -  person Peter Lee    schedule 05.02.2012
comment
Но SPEEX не является стандартным ни для Интернета, ни для браузеров ... так что :)   -  person Mikko Ohtamaa    schedule 06.02.2012


Ответы (4)


Недавно я реализовал успешный клиент HTML5 / VOIP, используя следующий JS-порт Speex, действительно потрясающий материал:

https://github.com/jpemartins/speex.js

На данный момент вам нужно либо дождаться MediaStreamRecorder, либо отказаться от оружия, как это сделал я, и использовать это:

https://github.com/jwagener/recorder.js/

Что касается того, как вы собираете все вместе в гладкую систему, ваш звонок :)

Надеюсь, я помог

person jhukdev    schedule 22.11.2012
comment
Для справки, базовая реализация аудиозаписи и загрузки HTML 5 ... только часть кодирования находится здесь: learnwithecho. ru / testaudio.html - person William Entriken; 10.08.2013
comment
эй, сирджамм, я не думаю, что это успешное решение есть на github? Хотелось бы увидеть, как у вас работает программа Recorder.js и speex.js! - person Michael Dausmann; 04.10.2013

Я работаю над проектом под названием AudioRecorder, который точно соответствует вашим потребностям. Вы можете найти это здесь. https://github.com/dbieber/audiorecorder.

Он основан на уже упомянутом кодеке speex, скомпилированном с помощью emscripten: jpemartins / speex.js.

Если у вас уже есть звук и вы просто хотите его закодировать, вызовите Codec.encode (samples). Вы также можете использовать AudioRecorder для записи звука - здесь есть пример на Github: http://dbieber.github.io/audiorecorder/examples/recorder.html

Реализация в настоящее время предполагает одноканальный звук, и если вам нужен двухканальный звук, вы можете просто кодировать или декодировать дважды.

person David    schedule 05.01.2014

У меня было аналогичное требование, и в итоге я написал Java-апплет, который использовал JSpeex и вызвал его из JS.

person edoloughlin    schedule 30.03.2012

Я опубликовал ответ на Как я могу играть в .spx файл от html5?.

С speex.js теперь я могу воспроизводить словесную речь для своего проекта онлайн-словаря.

person Feng Dihai    schedule 04.08.2015