45112

[code]

    from gtts import gTTS
    from io import BytesIO
    
    mp3_fp = BytesIO()
    tts = gTTS('hello', 'en')
    tts.write_to_fp(mp3_fp)
    
[/code]

gTTSでmp3ファイルを作成するのはいいんですけれども、  
いちいちセーブをして、そのセーブによってできたmp3ファイルを  
再生するという手順をとっています。  
こういう回りくどいことをしないで、直接音を鳴らせないものかと  
思いました。  
そこで、公式を見てみると、  
<http://gtts.readthedocs.io/en/latest/module.html#languages-gtts-lang>

> Playing sound directly  
>  There’s quite a few libraries that do this. Write ‘hello’ to a file-like
> object do further manipulation::

と書いてあり、直接音を再生する手順が書いてあるように読めるのですが、  
上のサンプルコードからどのようにすれば、直接音が出るようになるのでしょうか。

その下に、

> Load `audio_fp` as an mp3 file in  
>  the audio library of your choice

と書いてあり、あなた自身の選択でオーディオライブラリ内のmp3ファイルとしてaudio_fpをロードしなさいと書いてあります。こうしろということなのでしょうが、いまいちわからなかったです。  
python3.6.3 gTTS2.0


CC BY-SA 4.0
2018-06-21T07:53:09.233
44948
2018-06-28T02:43:17.150
2018-06-28T02:43:17.150
3060
24284
question
python mp3
gTTSで作製したMP3の音声を、一時保存せず直接再生するには？


<https://teratail.com/questions/118339>

teratailという別の質問サイトで似たような質問を見付けました。

それに対しての解答があったのですが、`io.BytesIO`と、`pygame.mixer`を

を組み合わせて音を再生することが、できなくはないようです。

しかし、不安定になるため、一旦セーブした方がいいとのことでした。

`wav`を再生するモジュールは、結構ありますが、`mp3`を再生するモジュールは、  
恐らく`pygame`くらいしかないし、自分も過去`mp3`を直接再生しようとして、  
`pygame`を使用したところ、クラッシュの連続だったので、こうした機能の  
将来の発展を待ち望むことにして、とりあえずは据え置きということにしようと思います。

ありがとうございました。


CC BY-SA 4.0
2018-06-28T02:24:47.827
45112
2018-06-28T02:24:47.827
24284
44948
answer