• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
MKT-porter
博客园    首页    新随笔    联系   管理    订阅  订阅
树莓派5使用USB音频驱动合成播报语音

 

cat /proc/asound/cards

 lsusb

 

3.列出所有音频输出设备

 

 

 4.列出所有音频输入设备

配置默认声卡为指定声卡

1.在$HOME下新建 .asoundrc

cd $HOME
nano .asoundrc

  

 

defaults.ctl.card 2
defaults.pcm.card 2

  2指的是指定声卡的card号,可用cat /proc/asound/cards查看

 

 

 

 

import asyncio
from edge_tts import Communicate
#import subprocess
import os
#sudo apt install mpg123
#pip install edge-tts
async def speak(text_):
    communicate = Communicate(text=text_, voice="zh-CN-XiaoxiaoNeural")
    await communicate.save("output.mp3")
    import os
    os.system("mpg123 output.mp3")
    #subprocess.run(["mpg123", "output.mp3"])

text='语音播报异常'
asyncio.run(speak(text))


'''
import subprocess

def speak_chinese(text):
    subprocess.run(["espeak-ng", "-v", "zh", text])

speak_chinese('语音播报异常')



# 线程3:语音播报
def voice_thread():
    # 初始化语音引擎
    engine = pyttsx3.init()
    engine.setProperty('rate', 150)
    engine.setProperty("volume", 0.8)
    engine.setProperty('voice', 'zh')

    last_spoken_time = 0
    try:
        while not exit_event.is_set():
            if "过大" in alarm_text:
                current_time = time.time()
                if current_time - last_spoken_time >= 3:
                    try:
                        engine.setProperty('voice', 'zh')
                        engine.say(alarm_text)
                        engine.runAndWait()
                        #speak(alarm_text)
                        last_spoken_time = current_time
                    except Exception as e:
                        print(f"🔊 语音播报异常:{e}")
            time.sleep(1)
    except Exception as e:
        print(f"🔊 语音线程异常:{e}")
        exit_event.set()
'''

  

posted on 2025-05-07 13:00  MKT-porter  阅读(70)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3