【第8回PYTHON講座】音声合成ライブラリ『gtts』を 使ってプログラムを作ろう①

PYTHON

今回は、音声合成(テキストから音声ファイルを作成する)ライブラリ『gtts 』を利用したプログラムを作成します。

完成プログラムの内容

GUIベースの入力欄に文字を入力し、実行ボタンをクリックして、音声を再生させるプログラム。また、入力される言語選択ををプルダウンで選択出来るようにする。

今回はGUIなしで、決まった文章を音声合成し、再生するプログラムまでを作ります。

『gtts』、『playsound』のインストール

音声ファイルを作成する為のライブラリ『gtts』、音声ファイルを再生する為のライブラリ『playsound』の2つのインストールして下さい。

pip install gtts 
pip install playsound

これでプログラム作成の準備が整いました。

『gtts』を使用して音声ファイルを作る

from gtts import gTTS 

myText = "おはようございます"
language ='ja'
output = gTTS(text=myText, lang=language, slow=False)
output.save("output.mp3")
1行目:関数のインポート

gttsのライブラリから「gTTS」という関数をインポートします。

3行目:myTextに音声変換する文字列を保存します。
4行目:languageに言語を指定

日本語なので『ja』になります。英語の場合は「en」になります。

5行目:音声の出力

音声合成をする関数『gTTS』です。

引数として、text:(音声変換する文字)、lang:(言語)、slow:(音声速度)があります。langは、先ほど設定したlanguageを設定します。

プログラムを実行すると、音声ファイル『output.mp3』が作成されます。

音声ファイルを再生する

先ほどの音声ファイル『output.mp3』を再生してみましょう。

えっ、ファイルはどこにあるの?

プログラムを見ると、どこに音声ファイルが出力されているか分かりません。

では、ファイルが出力されている場所を確認しましょう。

プログラムがどのフォルダを基準(現在の作業フォルダ)としているを知るためには、先ほどのプログラムに、下記を追記し、どこのフォルダが作業フォルダであるかを確認します。

import os
path = os.getcwd()
print(path)

私の場合(windows10)、”C:\Users\ユーザー名”のフォルダに保存されていました。

『output.mp3』を見つけたら、一度、再生してみて下さい。女性の声で”おはようございます”と流れます(音声は女性のみになります)。

ここで、音声ファイルを解りやすい所、指定したフォルダに出力するように工夫します。下記のようにファイル名を変えてみて下さい。

storepath = "C:/pythontest/"
storefile = storepath + "output.mp3"
output.save(storefile)
1行目:出力先のフォルダを指定

もしCドライブの下の「pythontest」に保存します。別のフォルダに保存したい場合は、適宜変更して下さい。

2行目:ファイル名と出力先のフォルダを繋げる

ファイル名と出力先のフォルダを設定することで、このファイルに音声データを保存させるという指令になります。

ここで『/』と『\』の違いですが、プログラム内で階層(ディレクトリ)を区切るには、『/』を使って下さい。windowsのフォルダアドレスをそのままコピーすると、『\』になってしまうので注意して下さい。

プログラムで音声を再生『playsound』

プログラム内で再生するにはライブラリ『playsound』を使用します。

from playsound import playsound

playsound(storefile)

プログラムを実行すると音声が流れます。

今回のコード

from gtts import gTTS 
import os
from playsound import playsound

path = os.getcwd()
print(path)

storepath = "C:/pythontest/"

inText = "おはようございます"
language ='ja'
output = gTTS(text=inText, lang=language, slow=False)
storefile = storepath + "output.mp3"
output.save(storefile)

playsound(storefile)

実際は、作業フォルダを知る為のコードは不要です。

最後に

いかがだったでしょうか。

文字から音声への変換(音声合成)と音声再生を実行することが出来ました。

次はGUIベースでこのプログラムを拡げていきます。楽しみにしていて下さい。

役に立った!」と思れましたら、下のSNSボタンで記事のシェアをしていただけると嬉しいです!

コメント

タイトルとURLをコピーしました