开发者社区> 问答> 正文

如何在不保存到文件的情况下听IBM Watson文本到语音结果(python)

我正在编写一个简单的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)

这不是我想要的,我想在不保存的情况下播放音频,我怎么能做到呢。 问题来源StackOverflow 地址:/questions/59379071/how-to-listen-to-ibm-watson-text-to-speech-result-without-saving-to-a-file-pyth

展开
收起
kun坤 2019-12-30 09:52:53 427 0
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
    

    *学分

    2019-12-30 09:53:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载