我正在开发一个对话系统,我需要将 ASR 结果和相应的音频文件作为输入。我在 Ubuntu 14.04 上使用 ROS indigo 并编辑识别器.py ( http://docs.ros.org/indigo/api/pocketsphinx/html/recognizer_8py_source.html ) 以便接收来自 ASR 的文本和每个的音频文件公认的话语。我将 gst 管道更改为:
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', 'folder_name/') 第 101 行
但似乎 GstPipeline 没有属性“rawlogdir”
我需要的只是获取已识别话语的音频信号,这是使用 ROS pocketsphinx 节点进行音频处理(情感识别)所需的。
任何想法都会非常有帮助!