【问题标题】:How to listen to IBM Watson Text To Speech result without saving to a file (python)如何收听 IBM Watson Text To Speech 结果而不保存到文件(python)
【发布时间】:2020-04-10 05:47:50
【问题描述】:

我正在编写一个简单的 python 程序,它获取一个文本文件,然后使用 IBM Watson Text To Speech 将其转换为音频,然后使用 playsound 等模块直接播放音频。

大多数教程都向您展示了如何将结果仅保存到文件中,而不是如何将结果传递给模块以播放音频

from ibm_watson import TextToSpeechV1
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator

authenticator = IAMAuthenticator('{apikey}')
text_to_speech = TextToSpeechV1(
    authenticator=authenticator
)

text_to_speech.set_service_url('{url}')

with open('hello_world.wav', 'wb') as audio_file:
    audio_file.write(
        text_to_speech.synthesize(
            'Hello world',
            voice='en-US_AllisonVoice',
            accept='audio/wav'        
        ).get_result().content)

这不是我想要的,我希望能够播放音频而不保存它,我该怎么做。

【问题讨论】:

    标签: python ibm-cloud text-to-speech ibm-watson watson-text-to-speech


    【解决方案1】:

    如果你对外部库开放,你可以使用pip install python-vlc为python安装vlc绑定

    并使用播放器方法直接从以下内容播放音频。

    import vlc
    from ibm_watson import TextToSpeechV1
    from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
    
    authenticator = IAMAuthenticator('{apikey}')
    text_to_speech = TextToSpeechV1(
        authenticator=authenticator
    )
    
    text_to_speech.set_service_url('{url}')
    
    
    #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()
    

    vlc 播放器的优点是您可以直接从 URL 播放大多数媒体类型(不仅仅是 mp3),还可以执行类似播放器的选项,例如

    >>> play.pause()  #pause play back
    >>> player.play() #resume play back
    >>> player.stop() #stop play back
    

    *credits

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 2018-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多