文本转化为声音

在许多场景下需要将文本转化为MP3格式,本文将实现文本转化为声音,并且将声音保存为MP3格式。本文一朱自清的《春》为例,要实现阅读《春》并且转化为mp3格式的音频文件。

1 导入包

import pyttsx3
from docx import Document
def read_word_doc(file_path):
    doc = Document(file_path)
    full_text = []
    for para in doc.paragraphs:
        full_text.append(para.text)
    return '\n'.join(full_text)
## 文本内容
text = read_word_doc('E:\工作\服务器\GPU\文字声音转化\春.docx')
# print(text)

在这里插入图片描述

2 读取文本文件

def read_word_doc(file_path):
    doc = Document(file_path)
    full_text = []
    for para in doc.paragraphs:
        full_text.append(para.text)
    return '\n'.join(full_text)
## 文本内容
text = read_word_doc('E:\工作\服务器\文字声音转化\春.docx')
# print(text)

3 核心代码

#文字转语音
def text_to_speech_pyttsx3(text):
    engine = pyttsx3.init()
    #打印语速,单位是词/分钟.默认是200
    rate = engine.getProperty("rate")
    print("语速",rate)
    #设置语速
    engine.setProperty('rate',190)
    print("当前音量",engine.getProperty('volume'))
    voices = engine.getProperty('voices')
    for voice in voices:
        print(f"语音 ID: {voice.id}")
        print(f"语音名称: {voice.name}")
    #通过say方法添加要转换的文本,
    engine.say(text)
    #将语音保存为MP3文件
    engine.save_to_file(text,r"E:\工作\服务器文字声音转化\春.mp3")
    # 并通过runAndWait方法执行转换并等待完成:
    engine.runAndWait()
text_to_speech_pyttsx3(text)
def notify_user(message):
    engine = pyttsx3.init()
    engine.say(message)
    engine.runAndWait()
notify_user("主人,任务已完成。")

结果:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值