今回はpythonで簡単に音声を合成できる
pyopenjtalkを使ってみました

解説動画はこちら


 

今回使用したpyopenjtalkは
日本語の文章を音素表記に
変換してくれる便利ツールです

普通のWindowsPCだと
インストールにコツがいるかもしれません

MacやLinuxは大丈夫っぽいので
Google Colabで実行できるコードを用意しました

colabだと入っていないので
まずはインストールが必要です



インストール方法
こちらのコードでインストールできます
pip install pyopenjtalk



音素表記へ変換

次は日本語のテキストを
音素表記に変換してみましょう

日本語テキストを入力してあげると
簡単に変換できます

import pyopenjtalk

talk_text = 'こんにちは'
voice = pyopenjtalk.g2p(talk_text)
print(voice)
k o N n i ch i w a




音声ファイルに変換する

次は日本語のテキストを
音声にしてみましょう

ファイル化することもできるので
colab上に音声ファイルとして出力します

displayを使うと
colab上で音声を再生することもできます
import pyopenjtalk
import numpy as np
from scipy.io import wavfile

taik_text = "どうもこんにちは 乙ぱいです"
x , sr = pyopenjtalk.tts(taik_text)
wavfile.write("output.wav", sr , x.astype(np.int16))

# 音声ファイルの再生
import IPython.display
IPython.display.Audio("output.wav" , autoplay=True )



ファイル化せず直接喋らせてみる

pyopenjtalkでは音声データとして
周波数と数値配列を生成するようです

displayを使えば
ファイル化しなくても
再生できます
import IPython.display
import pyopenjtalk
from scipy.io import wavfile

taik_text = "どうも、ゆっくり不動産です"
#taik_text = "じょ、女子高生が、す、好きなんだなぁ"
#taik_text = "先にシャワー浴びてこいよ"
#taik_text = "この紋所が目に入らぬか!"
#taik_text = "事件は会議室で起きてるんじゃない 現場で起きてるんだ!"
#taik_text = "室井さん、レインボーブリッジ封鎖できません"
#taik_text = "じっちゃんのなににかけて"

x , sr = pyopenjtalk.tts(taik_text)
IPython.display.Audio(x , rate=sr , autoplay=True)

合成した音声は
動画の方で聞いてみてください

日本語の小説など
大量の文章を音声化したいなら
少しは使えるかも知れませんね

動画作成の自動化なんかも
うまくやれば出来てしまうかもしれません

なかなか面白いツールでした
それでは