Jetson Nano python中文语音播报数字距离 基于pyttsx3

我在Jetson Nano上并没有找到好的语音包和方法去实时播报数字距离。

语音播报的数也只是121.232机械化地读,并没有按照中文习惯的一百二十一点二三二

于是自己写了一个代码

注意,这里只读了保留两位小数的距离想加三位四位都可以自己去加

想读4位数也可以自己去加

把所有num改成自己想要读的变量即可

如果Jetson下有好用的中文包麻烦告知一下

import os
import pyttsx3
engine=pyttsx3.init()
voices = engine.setProperty(  
     'voice', "zh")
engine.setProperty('rate',120)
num=156.2324
num = round(num,2)
num_str = str(num)
numx1 = num_str[-2]
numx2 = num_str[-1]
if num <100:
    num1 = num_str[0]
    num2 = num_str[1]
    readline = f'{num1}十{num2}'

elif num==100:
    readline = "一百"

elif num>100 and num<1000:
    num1 = num_str[0]
    num2 = num_str[1]
    num3 = num_str[2]
    readline = f'{num1}百{num2}十{num3}'

text = f'距离为{readline}点{numx1}{numx2}米'
engine.say(text)
engine.runAndWait()

你可能感兴趣的:(语音识别,python)