返回顶部
首页 > 资讯 > 后端开发 > Python >python3 - 文本读音器
  • 860
分享到

python3 - 文本读音器

读音文本 2023-01-30 23:01:04 860人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

本篇分享的是使用python3制作一个文本读音器,简单点就是把指定的文本文字转语音说出来;做这么个小工具主要是为了方便自己在平时看一些文章眼累的时候,可通过语音来帮助自己,当然如果你是小说迷,可以扩展成一个小说读音器。 1 pip in

本篇分享的是使用python3制作一个文本读音器,简单点就是把指定的文本文字转语音说出来;做这么个小工具主要是为了方便自己在平时看一些文章眼累的时候,可通过语音来帮助自己,当然如果你是小说迷,可以扩展成一个小说读音器。

1 pip install pyttsx3

这里我选择了pyttsx3工具,其实百度的语音接口很不错,不过有些麻烦,我们姑且忽略;先安装python的文字转语音的工具pyttsx3,来简单封装一个文字转语音的方法:

 1 import pyttsx3
 2 
 3 class ttsx(object):
 4     def __init__(self,rate=-10):
 5         self.rate = rate
 6 
 7     def sayText(self,str):
 8         self.engine = pyttsx3.init()
 9 
10         #语速
11         rate = self.engine.getProperty('rate') 
12         self.engine.setProperty('rate', rate + self.rate)
13 
14         #音量
15         #volume = self.engine.getProperty('volume') 
16         #engine.setProperty('volume', volume - 0.25)
17 
18         #声音
19         #voices = self.engine.getProperty('voices')
20         #for voice in voices:
21         #   self.engine.setProperty('voice', voice.id)
22         #   print(voice.id)
23 
24         self.engine.say(str)
25         self.engine.runAndWait()

这里采用系统默认的语音驱动,默认的语速过快,我们可以通过rate来设置下,然后可以通过调用说一句你想说的话,比如:

1 ttx = ttsx()
2 ttx.sayText("我是神牛003,欢迎大家关注")

正常情况下,能够听到有电脑系统的语音,这里也没法演示;注意在语言播放的时候程序是阻塞的,self.engine.runAndWait()这句是关键;为了方便操作我加入了ui界面,先引用tkinter插件

1 import tkinter
2 from tkinter.constants import *
3 from tkinter import filedialog

这里初始化一个操作窗体并附加几个元素,图像界面有点low,如下:

图形窗体关键代码如下,或许不是很友好:

 1     #初始化窗体
 2     def tkMain(self,title,h=500,w=300):
 3         self.tk = tkinter.Tk()
 4         self.tk.title(title)
 5         self.tk.minsize(h,w)
 6         self.tk.resizable(False,False)
 7 
 8         tkinter.Label(self.tk, text="文本路径:").grid(row=0, column=0)
 9 
10         self.entryvar = tkinter.StringVar()
11         entry = tkinter.Entry(self.tk,textvariable = self.entryvar,borderwidth=2,width=50)
12         entry.grid(row=0, column=1)
13 
14         tkinter.Button(self.tk,text="选择",command=self.selectPath).grid(row=0, column=2)
15         tkinter.Button(self.tk,text="开读",command=self.readTxt).grid(row=0, column=3)
16 
17         self.txt = tkinter.Text(self.tk)
18         self.txt.grid(row=1,columnspan=4)
19 
20         self.tk.mainloop()

再者通过filedialog并增加一个按钮事件来达到选择电脑磁盘中的某个文件,并读取txt内容显示在文本框中:

 1     #选择文件
 2     def selectPath(self):
 3         self.filename = filedialog.askopenfilename() # 打开文件夹对话框
 4         if not self.filename:
 5             return
 6 
 7         self.entryvar.set(self.filename) # 设置变量entryvar,等同于设置部件Entry
 8         self.txt.delete(0.0,"end")
 9         #加入到界面txt
10         with open(self.filename,'r') as f:
11           while True:
12               line = f.readline()
13               if(line):
14                   self.txt.insert('insert',line)
15               else:
16                   break

最后开读按钮事件只需要获取到文本框中内容,并调用读音方法就行了:

1     #读取txt中文本
2     def readTxt(self):
3         strTxt = self.txt.get(0.0,"end")
4         self.sayText(strTxt)

--结束END--

本文标题: python3 - 文本读音器

本文链接: https://lsjlt.com/news/180593.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python3 - 文本读音器
    本篇分享的是使用python3制作一个文本读音器,简单点就是把指定的文本文字转语音说出来;做这么个小工具主要是为了方便自己在平时看一些文章眼累的时候,可通过语音来帮助自己,当然如果你是小说迷,可以扩展成一个小说读音器。 1 pip in...
    99+
    2023-01-30
    读音 文本
  • Python3 中文转拼音
    1.查看是否有相应的库 命令:pip list 截图: 如果没有相应的库通过如下命令安装 命令:pip install xpinyin 截图:2.相关示例 示例代码: #!/usr/bin/python from xpinyin impor...
    99+
    2023-01-31
    中文 拼音
  • Python3 读写文件
    读文件 打开一个文件用open()方法(open()返回一个文件对象): >>> f = open(filename, mode,buffering) #buffering寄存,具体自行搜索 mode:决定了打开文...
    99+
    2023-01-30
    文件
  • python3读取pdf文件
    一.安装pdfminer3k模块二.读取pdf文件import sys import importlib importlib.reload(sys) from pdfminer.pdfparser import PDFParser, P...
    99+
    2023-01-31
    文件 pdf
  • python3-分割文本文件
    #myhaspl@myhaspl.com fId=1 with open("tf-allsrc.txt","r") as sf: while True: with open("tf-src-"+str(fId)+"...
    99+
    2023-01-31
    文本文件
  • Python3 读取 toml 配置文件
    【吐槽】    先吐槽一下其他几个配置文件。ini:表达能力不够,比如不能表达列表等结构;没有官方注释符号,虽然一般以分号作为注释符号。json:没有官方注释符号,虽然某些第三方包提供了注释结构。yaml:语法比较复杂,可读性不太高。【to...
    99+
    2023-01-31
    配置文件 toml
  • Python3 读取 ini 配置文件(
    【背景】  Windows 的记事本会给 UTF-8 文件添加 BOM 头,很烦,搞个通用的读取配置文件的代码。可能报这种错误:configparser.MissingSectionHeaderError: File contains no...
    99+
    2023-01-31
    配置文件 ini
  • python3 文本变图片
    python3下的PIL叫做 pillowpython -m pip  install pillow创建目录 fonts,把微软雅黑字体放到下面。msyh.ttf#!/usr/bin/env python # -*- coding: utf...
    99+
    2023-01-31
    文本 图片
  • Python3读取文件的操作详解
    目录1、引言2、 fileinput2.1 方法介绍2.2 默认读取2.3 处理一个文件2.4 处理批量文件2.5 读取与备份2.5 重定向替换2.6 进阶3、总结1、引言 小鱼:小...
    99+
    2024-04-02
  • python3 如何读取python2的npy文件
    python3读取python2打包的npy文件会报错,原因是编码方式不同,所以只要在读取的时候加上编码方式即可。 解决方法 docs_train = np.load('./da...
    99+
    2024-04-02
  • python3 json数据包含中文的读
     python3 默认的是UTF-8格式,但在在用dump写入的时候仍然要注意:如下 import json data1 = { "TestId": "testcase001", "Method": "post", ...
    99+
    2023-01-31
    中文 数据 json
  • python怎么读取音频文件
    要读取音频文件,你可以使用Python中的音频处理库,如pydub或wave。首先,你需要安装相应的库。你可以使用以下命令来安装py...
    99+
    2023-10-27
    python
  • Python3+叠加两个音频文件,实现混
    将两个单声道的音频文件叠加成一个新的音频文件。 实现:a + b = c(新) 同理,如果用 c - b 可以得到文件a 同理,也可以将多个单声道音频文件叠加到一起。 注意: 两个文件要是相同声道的文件,这里的代码只适用1声道的。 两...
    99+
    2023-01-31
    音频文件 两个
  • Python3 文件(夹)基本操作
    相关模块 os os.path shutil pathlib(New in version 3.4) 基本操作 判断文件(夹)是否存在。 os.path.exists(pathname) # new pathlib.Path(pat...
    99+
    2023-01-31
    操作 文件
  • python3 csv文件基本操作
    csv(Comma-Separated Values),也叫逗号分割值,如果你安装了excel,默认会用excel打开csv文件。 废话少说直接贴代码: import csv # 打开文件,用with打开可以不用去特意关闭file了,p...
    99+
    2023-01-31
    操作 文件 csv
  • python3 文件的读取和通用操作
    import os           # 当前操作目录,os.chdir() 切换操作目录 >>> import os >>> os.getcwd() 'C:\\ProgramFiles\\Pyth...
    99+
    2023-01-31
    操作 文件
  • python中音频文件怎么读取
    使用python读取音频文件的方法:1.新建python项目;2.导入wave和numpy模块;3.使用wave.open()方法打开音频文件;4.使用getparams()方法读取文件数据;具体步骤如下:首先,打开python,并新建一个...
    99+
    2024-04-02
  • css 只读文本框
    CSS 只读文本框在Web开发中,文本框是常见的网页元素之一。通常我们使用文本框来让用户输入文字或者数字等信息。但是有时候我们需要在文本框中展示一些信息,而不让用户对其进行编辑或者修改。这时候就可以使用只读文本框。只读文本框是一种特殊的文本...
    99+
    2023-05-14
  • html怎么读取本地文本文件
    html自身无法直接读取本地文件,但可以通过以下方法解决:使用filereader api:使用filereader api的readastext()方法读取文本文件内容。使用xmlht...
    99+
    2024-04-05
  • python读取中文txt文本
    对于python2.7 字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,再从unicode编码成另一种编码。 先用一些编...
    99+
    2023-01-31
    中文 文本 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作