TTS на android с python - PullRequest
       0

TTS на android с python

0 голосов
/ 17 апреля 2020

У меня много проблем с настройкой любого типа TTS на android. Я использую Kivy для пользовательского интерфейса. До сих пор я пробовал gTTS, espeak и метод pyJNius. Последний не дает никаких ошибок во время выполнения, но он также не воспроизводит звук:

from kivy.app import App
from kivy.uix.widget import Widget

import android
from android.permissions import request_permissions, Permission
request_permissions([Permission.INTERNET])

class MyWidget(Widget):
    def __init__(self, **kwargs):
        super(MyWidget, self).__init__(**kwargs)
        from jnius import autoclass
        Locale = autoclass('java.util.Locale')
        PythonActivity = autoclass('org.renpy.android.PythonActivity')
        TextToSpeech = autoclass('android.speech.tts.TextToSpeech')
        tts = TextToSpeech(PythonActivity.mActivity, None)

        # Play something in english
        tts.setLanguage(Locale.US)
        tts.speak('Hello World.', TextToSpeech.QUEUE_FLUSH, None)

        # Queue something in french
        tts.setLanguage(Locale.FRANCE)
        tts.speak('Bonjour tout le monde.', TextToSpeech.QUEUE_ADD, None)

class MyApp(App):
    def build(self):
        return MyWidget()

MyApp().run()

Я также открыт для различных решений. Приложение предназначено только для личного использования, поэтому мне все равно, как это делается. Но немецкий должен быть поддержан. Спасибо!

1 Ответ

0 голосов
/ 18 апреля 2020

Оказывается, что для преобразования текста в речь требуется некоторое время и его нельзя использовать непосредственно после инициализации. Вот почему в примере не было звука.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...