Python 罗斯口袋狮身人面像+;gstreamer将语音记录到wav文件中
我正在开发一个对话系统,在这里我需要获取ASR结果以及相应的音频文件作为输入。 我在Ubuntu 14.04上使用ROS indigo,并编辑recognizer.py () 以便接收来自ASR的文本和每个已识别话语的音频文件。 我将gst管道更改为:Python 罗斯口袋狮身人面像+;gstreamer将语音记录到wav文件中,python,ros,pocketsphinx,Python,Ros,Pocketsphinx,我正在开发一个对话系统,在这里我需要获取ASR结果以及相应的音频文件作为输入。 我在Ubuntu 14.04上使用ROS indigo,并编辑recognizer.py () 以便接收来自ASR的文本和每个已识别话语的音频文件。 我将gst管道更改为: self.launch_config += " ! audioconvert ! audioresample ! tee name=t ! queue ! audioresample " \
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_属性('rawlogdir','folder_name/')第101行
但GstPipeline似乎没有属性“rawlogdir”
我所需要的只是获取已识别话语的音频信号,这是使用ROS pocketsphinx节点进行音频处理(情感识别)所需的
任何想法都会非常有用 您可以使用“维德”插件以.raw格式获取检测到的音频 只需将这些行添加到代码中
self.vader = self.pipeline.get_by_name('vad')
self.vader.set_property('dump-dir', audio_dir )
“audio_dir”是保存文件的地方。要播放音频,请记住pocketsphinx使用8kHz的16位PCM音频
有关GStreamer插件使用的更多信息
$ gst-inspect-0.10 pocketsphinx
$ gst-inspect-0.10 vader
不幸的是,ROS pocketsphinx需要更多的工作