4

我想使用 python 获得短信的发音。例如,消息“text”应转换为“tekst”,消息“привет”(俄语)应转换为“privet”。

我曾尝试使用googletrans,但实际上没有发音(发音是 None,我的问题)。

有人知道这个任务的一些包吗?我已经用谷歌搜索了它,但没有结果。我找到了超过 5 个用于将文本转换为语音或文本翻译为语音的包,但我不需要音频文件,我只需要发音文本。phonemizer是非常好的解决方案,但我无法在 Windows 上运行它的后端

也许有人知道如何获取这个这个这个这个的一些“API”吗?

4

4 回答 4

2

您可能想查看Epitran python 库

于 2020-05-24T14:48:32.813 回答
1

好吧,python中有一个名为pronouncing的模块,其中包括获取单词发音的函数,例如:

>>> import pronouncing
>>> pronouncing.phones_for_word("permit")
[u'P ER0 M IH1 T', u'P ER1 M IH2 T']
  1. pronouncing.phones_for_word() 函数返回在 CMU 发音词典中找到的给定单词的所有发音列表。
  2. 发音是使用称为 ARPAbet 的特殊语音字母表给出的。
  3. 这是 ARPAbet 符号列表以及它们所代表的英语发音。发音字符串中的每个标记都称为“电话”。
  4. 元音后面的数字表示元音的重音。数字 1 表示主要应力;2表示二次应力;0 表示无应力。

我从发音的教程和食谱页面得到这个

还有另一个名为pysle的模块可以帮助您

于 2020-05-24T14:47:51.917 回答
1

您可以使用 selenium 从 macmillandictionary.com 获取文本。使用 selenium,您可以在页面中导航、单击、输入文本等。因此,您的工作将在搜索栏中点击单词并使用 selenium 获取结果。您也可以使用 oxfordlearnersdictionaries.com。

于 2020-05-24T14:46:17.263 回答
0
from googletrans import Translator
translator = Translator()
k = translator.translate("who are you", dest='hindi')
print(k)
print(k.text)
p = translator.translate(k.text,dest='hindi')#convert same language to same to get
                                             #pronunciation
print(p)
print(p.pronunciation)

请试试这个发音

输出:

Translated(src=en, dest=hi, text=तुम कौन हो, pronunciation=None, extra_data="{'translat...")
तुम कौन हो
Translated(src=hi, dest=hi, text=तुम कौन हो, pronunciation=tum kaun ho, extra_data="{'translat...")
tum kaun ho

安装 googletrans 的要求

于 2020-07-29T06:07:14.973 回答