目录

1.介绍

2.思路

3.安装python包

3.程序:

4.运行结果


1.介绍

当我们使用一些本地部署的语言模型的时候,往往只能进行文字对话,这一片博客教大家如何实现语音转文字和文字转语音,之后接入ollama的模型就能进行语音对话了。

2.思路

使用离线本地语音:pyttsx3实现文字转语言,然后使用whisper实现语音转文字

3.安装python包

pip install pyttsx3

pip install whisper
  • 文字转语音 (TTS)
    • 使用 pyttsx3 将输入文本转换为音频文件 output.wav
    • pyttsx3 生成的语音文件是本地生成的,不依赖于网络。
  • 语音转文字 (STT)
    • 使用 Whisper 模型将 output.wav 文件中的语音转录为文字。
    • Whisper 通过 PyTorch 在本地运行,不需要外部网络访问。

3.程序:

import pyttsx3
import whisper
import os

# 文字转语音(TTS)部分
def text_to_speech(text, output_file="语音文字相互转换/output.wav"):
    # 初始化 pyttsx3 引擎
    engine = pyttsx3.init()

    # 设置语速和音量
    engine.setProperty('rate', 150)    # 语速
    engine.setProperty('volume', 1.0)  # 音量

    # 将文本保存为音频文件
    engine.save_to_file(text, output_file)

    # 运行并生成语音文件
    engine.runAndWait()

    print(f"Text-to-Speech conversion complete! Audio saved as '{output_file}'.")

# 语音转文字(STT)部分
def speech_to_text(input_file):
    # 加载 Whisper 模型
    model = whisper.load_model("base")

    # 转录音频文件
    result = model.transcribe(input_file)

    # 打印转录的文本
    print("Transcribed Text:", result["text"])

# 主函数
if __name__ == "__main__":
    # 1. 输入文本
    text = "hello,today is a good day!"

    # 2. 文字转语音
    text_to_speech(text, output_file="语音文字相互转换/output.wav")

    # 3. 语音转文字
    speech_to_text("语音文字相互转换/output.wav")

4.运行结果

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐