当前位置: 首页 > article >正文

文字语音相互转换

目录

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.运行结果


http://www.kler.cn/a/560660.html

相关文章:

  • 零基础学QT、C++(五)QT编译、导入OpenCV
  • 相似性搜索(2)
  • k8s使用containerd作为容器运行时配置Harbor私有仓库与阿里云私有仓库以及镜像加速器,k8s基于containerd如何配置harbor私有仓库
  • DeepSeek崛起:如何在云端快速部署你的专属AI助手
  • 【多语言生态篇三】【DeepSeek×Go:高并发推理服务设计】
  • 有哪些开源大数据处理项目使用了大模型
  • 前缀和刷题-- LeetCode
  • 【JavaWeb学习Day19】
  • 【论文精读】YOLO-World:实时开放词汇目标检测
  • 如何向zookeeper中注册内容
  • LeetCode 235. 二叉搜索树的最近公共祖先
  • SQL Server 链接服务器 MySQL 详细步骤
  • java23种设计模式-抽象工厂模式
  • Java Queue实现类面试题
  • 网络安全 机器学习 计算机网络安全课程
  • Spring Boot 中为什么 需要限流、降级和熔断?
  • 1. Nacos 全面解析与使用指南
  • 吐血整理:在 Docker 中运行 Milvus
  • CPU多级缓存与缓存一致性协议
  • WordPress R+L Carrier Edition sql注入漏洞复现(CVE-2024-13481)(附脚本)