PI-Assistant icon indicating copy to clipboard operation
PI-Assistant copied to clipboard

微软 Azure ASR 和 TTS 问题

Open dujiaoxi-t opened this issue 1 year ago • 7 comments

我注册了 Azure 语音服务,注册完成后给我了两个密钥,我应该用哪个?还有节点地址发现和代码中调用的地址不一样,是我注册错误呢还是这块需要更改代码重新编写?

dujiaoxi-t avatar Mar 09 '25 05:03 dujiaoxi-t

Azure的两个密钥任选一个即可,节点地址应该不会有变动,你可以发出来我看一下

Lucky-183 avatar Mar 09 '25 12:03 Lucky-183

微软Azure 位置区域:eastasia 微软Azure 节点:https://eastasia.api.cognitive.microsoft.com/

dujiaoxi-t avatar Mar 09 '25 13:03 dujiaoxi-t

节点地址不需要更改,按照代码,填入密钥应该就可以运行

Lucky-183 avatar Mar 09 '25 14:03 Lucky-183

作者大大,我注册的SpeechServices区域和节点是 koreacentral https://koreacentral.api.cognitive.microsoft.com/

然后测试的时候,deepseek api返回了文字,但是无法播放语音。log显示

2025-03-14 14:16:00 | INFO | chat.py:421 - The command is '你好'
2025-03-14 14:16:03 | INFO | chat.py:137 - start new conversation
2025-03-14 14:16:06 | INFO | chat.py:322 - 

嗯,你好呀!😊 其实最近我在忙着准备考试呢!你最近怎么样?有什么想聊的吗?
2025-03-14 14:16:06 | INFO | chat.py:358 - A conversation end
2025-03-14 14:16:08 | INFO | chat.py:137 - start new conversation
2025-03-14 14:16:09 | INFO | chat.py:191 - prepare to start record
2025-03-14 14:16:10 | INFO | speechpoint.py:30 - 正在获取声音中...
2025-03-14 14:16:15 | WARNING | chat.py:200 - listening timed out while waiting for phrase to start

请问该如何解决呢?谢谢

节点地址不需要更改,按照代码,填入密钥应该就可以运行

swansun95 avatar Mar 14 '25 06:03 swansun95

@swansun95 将 tts.py azure_reco.py tts_stream.py 三个文件中的 url 地址由 eastasia 替换为 koreacentral , 试一下

Lucky-183 avatar Mar 14 '25 06:03 Lucky-183

koreacentral

@Lucky-183 报错了

2025-03-14 15:00:02 | INFO | 

你好呀!有什么我可以帮你的吗?最近你好像特别开心呢!有什么特别值得分享的吗?哈哈~
Exception ignored on calling ctypes callback function: <function PushAudioOutputStream.__write_callback at 0x7f96e51760>
Traceback (most recent call last):
  File "/home/swansun/pi-ass/lib/python3.11/site-packages/azure/cognitiveservices/speech/audio.py", line 309, in __write_callback
    return obj.write(view)
           ^^^^^^^^^^^^^^^
  File "/home/swansun/PI-Assistant/tts_stream.py", line 56, in write
    self.stream.write(buffer.tobytes())
  File "/home/swansun/pi-ass/lib/python3.11/site-packages/pyaudio.py", line 585, in write
    pa.write_stream(self._stream, frames, num_frames,
SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats
Exception ignored on calling ctypes callback function: <function PushAudioOutputStream.__write_callback at 0x7f96e51760>
Traceback (most recent call last):
  File "/home/swansun/pi-ass/lib/python3.11/site-packages/azure/cognitiveservices/speech/audio.py", line 309, in __write_callback
    return obj.write(view)
           ^^^^^^^^^^^^^^^
  File "/home/swansun/PI-Assistant/tts_stream.py", line 56, in write
    self.stream.write(buffer.tobytes())
  File "/home/swansun/pi-ass/lib/python3.11/site-packages/pyaudio.py", line 585, in write
    pa.write_stream(self._stream, frames, num_frames,
SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats
Exception ignored on calling ctypes callback function: <function PushAudioOutputStream.__write_callback at 0x7f96e51760>
Traceback (most recent call last):
  File "/home/swansun/pi-ass/lib/python3.11/site-packages/azure/cognitiveservices/speech/audio.py", line 309, in __write_callback
    return obj.write(view)
           ^^^^^^^^^^^^^^^
  File "/home/swansun/PI-Assistant/tts_stream.py", line 56, in write
    self.stream.write(buffer.tobytes())
  File "/home/swansun/pi-ass/lib/python3.11/site-packages/pyaudio.py", line 585, in write
    pa.write_stream(self._stream, frames, num_frames,
SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats
Exception ignored on calling ctypes callback function: <function PushAudioOutputStream.__write_callback at 0x7f96e51760>
Traceback (most recent call last):
  File "/home/swansun/pi-ass/lib/python3.11/site-packages/azure/cognitiveservices/speech/audio.py", line 309, in __write_callback
    return obj.write(view)
           ^^^^^^^^^^^^^^^
  File "/home/swansun/PI-Assistant/tts_stream.py", line 56, in write
    self.stream.write(buffer.tobytes())

swansun95 avatar Mar 14 '25 07:03 swansun95

@Lucky-183 解决了,根据chatGPT提示,卸载了 PyAudio-0.2.11,安装最新的 pyaudio-0.2.14就可以了。我是 Raspberry Pi OS(64bit)。默认带了python 3.11.2

谢谢

swansun95 avatar Mar 14 '25 07:03 swansun95