我在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()