Как получить произношение (фонетику) текста (не речи, а только текста)?

Я хочу получить произношение коротких сообщений, используя python. Например, сообщение «текст» должно быть преобразовано в «текст», а сообщение «привет» (русское) должно быть преобразовано в «привет».

Я пытался использовать для этого googletrans, но на самом деле произношения нет (произношение None, моя проблема).

Кто-нибудь знает какой-нибудь пакет для этой задачи? Я погуглил, но результатов нет. Я нашел более 5 пакетов для преобразования текста в речь или преобразования текста в речь, но мне не нужен аудиофайл, мне нужен только текст произношения. phonemizer — очень хорошее решение, но я не могу запустить его бэкенды в Windows.

Может быть, кто-нибудь знает, как использовать некоторый «API» этого, это или это или это?


person Дмитрий Пасько    schedule 24.05.2020    source источник


Ответы (4)


Возможно, вы захотите ознакомиться с библиотекой Python для epitran.

person Filip Henningsson    schedule 24.05.2020
comment
Спасибо! Это выглядит очень похоже на то, что мне нужно, но обычно дает не такой ток (без некоторых символов). Например, «салам» (персидский) соответствует «slom», а не «solom», а «man» (персидский) соответствует «mn», а не «man». Однако это лучше, чем ничего - person Дмитрий Пасько; 24.05.2020
comment
@ДмитрийПасько, вы уверены, что символы, отличные от ascii, печатаются правильно? - person Filip Henningsson; 25.05.2020
comment
Я имею в виду, что это не очень хороший пакет. Дает недостаточно правильное произношение -- для фарси без большого количества символов, для русского -- не только английских символов (например) Так вроде и хочется, но мало - person Дмитрий Пасько; 25.05.2020

Вы можете использовать селен для получения текстов с macmillandictionary.com. С помощью селена вы можете перемещаться по странице, нажимать, вводить тексты и т. д. Таким образом, ваша работа будет нажимать слово в строке поиска и получать результат с помощью селена. Вы также можете использовать oxfordlearnersdictionaries.com.

person Vitor Guimarães    schedule 24.05.2020
comment
Спасибо, интересное решение, но я надеюсь использовать для этой задачи не только английский, но и переводчик google/yandex/microsoft или определенный пакет, не такое универсальное решение - person Дмитрий Пасько; 24.05.2020

Ну, есть модуль с именем произношение в python, который включает функцию для получения произношения таких слов, как:

>>> import pronouncing
>>> pronouncing.phones_for_word("permit")
[u'P ER0 M IH1 T', u'P ER1 M IH2 T']
  1. Функция pronouncement.phones_for_word() возвращает список всех произношений данного слова, найденных в словаре произношений CMU.
  2. Произношения даются с использованием специального фонетического алфавита, известного как ARPAbet.
  3. Вот список символов ARPAbet и названия английских звуков, которые они обозначают. Каждый токен в строке произношения называется «телефоном».
  4. Цифры после гласных обозначают ударение гласных. Цифра 1 указывает на первичное напряжение; 2 указывает вторичное напряжение; и 0 указывает на безударный.

Я получил это из учебника и страницы кулинарной книги по произношению

Существует еще один модуль с именем pysle, который может вам помочь

person Prathamesh Jadhav    schedule 24.05.2020
comment
Спасибо, но произношение не дает того, что мне нужно: телефоны жесткие, а этот пакет вообще поддерживает рифмы и что-то в этом роде. Pysle также дает сложную фонетику, я должен использовать только латинские символы, такие как «bomb» = «bomb», а не «bomb» = «bɒm». - person Дмитрий Пасько; 24.05.2020

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

person sourab maity    schedule 29.07.2020