2015-03-02 2 views
1

Я работаю над диалоговой системой, где мне нужно получить в качестве входных как результаты ASR, так и соответствующий аудиофайл. Я использую ROS indigo на Ubuntu 14.04, и я редактирую распознаватель.py (http://docs.ros.org/indigo/api/pocketsphinx/html/recognizer_8py_source.html) , чтобы получать как текст из ASR, так и аудиофайл для каждого распознанного высказывания. я изменил трубопровод GST на:ROS pocketsphinx + записи записи gstreamer в wav-файлы

self.launch_config += " ! audioconvert ! audioresample ! tee name=t ! queue ! audioresample " \ 
         + '! vader name=vad auto-threshold=true ' \ 
         + '! pocketsphinx name=asr ! fakesink dump=1 t. ! valve drop=0 ! queue ! wavenc ! filesink location=test.wav async=0' 

но то, что мне удалось сделать, это записать все звуковой сигнал, пока распознаватель не останавливается (например,^C.). Кроме того, я пытался использовать после

self.pipeline.set_property ('rawlogdir', 'название_папки /') линии 101

но мне кажется, что GstPipeline не обладает свойством `rawlogdir»

Я нужно просто получить аудиосигнал распознанного высказывания, необходимый для обработки звука (распознавание эмоций) с использованием узла ROS pocketsphinx.

Любые идеи были бы очень полезными!

+0

К сожалению ROS pocketsphinx нужно больше работать –

ответ

0

Вы можете использовать плагин 'vader', чтобы получить звук, обнаруженный в формате .raw.

Просто добавьте эти строки в код

self.vader = self.pipeline.get_by_name('vad') 
self.vader.set_property('dump-dir', audio_dir) 

и «audio_dir», где вы хотите сохранить файлы. Для воспроизведения звука помните, что pocketsphinx использует 16-битный звук PCM на частоте 8 кГц.

Для получения дополнительной информации о плагинах GStreamer использовать

$ gst-inspect-0.10 pocketsphinx 
$ gst-inspect-0.10 vader