Попытка сделать помощника Уотсона IBM в Python. Как я могу исправить свой код, чтобы сказать ответ в IDE Pycharm без аудио файла. Использование VLC - PullRequest
0 голосов
/ 01 мая 2020

Этот код взят из другого вопроса Уотсона. Я пытаюсь создать систему, в которой моя речь вводится как вопрос или команда, и в ней говорится, что ответ в IDE - это ссылка на мой предыдущий вопрос Мой предыдущий вопрос , но как я могу исправить приведенный ниже код? ,

Это код ...

    import vlc
    from ibm_watson import TextToSpeechV1
    from ibm_cloud_sdk_core.authenticators import IAMAuthenticator

authenticator = IAMAuthenticator("API Key")
text_to_speech = TextToSpeechV1(
    authenticator=authenticator
)

text_to_speech.set_service_url(
'https://api.us-south.text-to-speech.watson.cloud.ibm.com/instances/113cd664-f07b-44fe-a11d-a46cc50caf84')

# define VLC instance
instance = vlc.Instance('--input-repeat=-1', '--fullscreen')

# Define VLC player
player = instance.media_player_new()

# Define VLC media
media = instance.media_new(
    text_to_speech.synthesize(
        'Hello world',
        voice='en-US_AllisonVoice',
        accept='audio/wav').get_result().content)

# Set player media
player.set_media(media)

# Play the media
player.play()][1]

После регистрации, безусловно, произошло улучшение. Я изменил ключ и URL и получил только 2 маленьких ошибки кода ...

Traceback (most recent call last):
  File "C:/Users/PycharmProjects/IBM Test/iBM tEST.py", line 24, in <module>
    accept='audio/wav').get_result().content)
  File "C:\Users\PycharmProjects\IBM Test\venv\lib\site-packages\vlc.py", line 1947, in media_new
    if ':' in mrl and mrl.index(':') > 1:
TypeError: a bytes-like object is required, not 'str'

1 Ответ

0 голосов
/ 01 мая 2020

Ошибка говорит вам, что среда выполнения python не может найти модуль vl c. Вам нужно выполнить

pip install python-vlc

или

sudo pip install python-vlc

Правки для дополнительного вопроса

Вам понадобится отладить код для работы выясните, какую ошибку возвращает сервис. Для этого вам придется разбить ваш код.


try:
  result = text_to_speech.synthesize(
        'Hello world',
        voice='en-US_AllisonVoice',
        accept='audio/wav').get_result()
  print(result)

except Exception as e:
  print(e.message)

правки для третьего вопроса

http 404 не найден, подразумевая, что у вас неправильный URL

правки для четвертого вопроса

http 403 запрещено, что означает недопустимое сочетание URL, ключа и метода. Предполагается, что вы используете URL и ключ для совершенно другого сервиса.

...