2024山东大学软件学院项目实训开发日志(6)-语音输出

系统语音回复功能实现使用pyttsx3离线使用、免费开源、安装简单、无网络延迟、跨平台支持以及更好的隐私和安全性

尝试使用其他pyttsx3,Festival,espeak,Google Cloud Text-to-Speech

本周主要任务是在现有对话系统中实现语音回复功能,并将其集成到Gradio界面中,以提供更直观和多样化的用户交互体验。

1. 功能实现准备
   确定使用的技术和工具:选择了Python中的`pyttsx3`库作为语音合成引擎,因其简单易用且支持多种语言。
   集成Gradio:Gradio作为用户界面框架,用于构建和部署用户友好的交互界面,方便用户进行金融相关的自然语言交互。

2. 技术实现步骤
   实现语音合成功能:使用`pyttsx3`库对金融对话系统生成的文本进行语音合成,生成自然流畅的语音回复。
   Gradio界面设计:调整现有Gradio界面,新增音频输出控件,以便将语音回复直接呈现给用户。

3. 集成测试与优化
   测试语音回复功能的准确性和流畅度。
   调整Gradio界面的布局和样式,确保用户友好性和一致性。

from gtts import gTTS
import os
import pyttsx3
import pygame  # 导入pygame库
pygame.mixer.init()   # 初始化pygame.mixer

def text_to_speech_pyttsx3(text, output_file="output.mp3"):
    engine = pyttsx3.init()
    engine.save_to_file(text, output_file)
    engine.runAndWait()
    return output_file
def text_to_speech_gtts(text, output_file="output.mp3"):
    tts = gTTS(text=text, lang='zh')
    tts.save(output_file)
    return output_file
def generate_welcome_audio():
    welcome_message = "你好我是你的金融助手小智"
    output_file = "welcome.mp3"
   # tts = gTTS(text=welcome_message, lang='zh')
    #tts.save(output_file)
    text_to_speech_pyttsx3(welcome_message, output_file)
    return output_file

def play_audio(audio_file):
    try:
        pygame.mixer.music.load(audio_file)
        pygame.mixer.music.play()
    except Exception as e:
        print(f"播放欢迎语音时出错:{e}")
welcome_audio_file = generate_welcome_audio()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值