Google ColobでDeepPhonemizerを使ってテキストを音素への変換をする

初めに

以下を使ってテキストから音素を取得してみます。モデルは日本語は対応していないみたいなので、英語で試します

github.com

開発環境

モデルのダウンロード

まずは、英語のモデルからモデルをダウンロードします。 ダウンロードが終わったら、Colobにアップロードします

ライブラリのインストール

ReadMeに記載されている通り、ライブラリをインストールします

!pip install deep-phonemizer

テキストから音素を取得

以下の実行して、Phonemizing an English text is imposimpable! に対する音素を取得します

from dp.phonemizer import Phonemizer

phonemizer = Phonemizer.from_checkpoint('en_us_cmudict_ipa_forward.pt')
phonemizer('Phonemizing an English text is imposimpable!', lang='en_us')

また以下のコードでさらに詳しい情報を取得することができます

from dp.phonemizer import Phonemizer

result = phonemizer.phonemise_list(['Phonemizing an English text is imposimpable!'], lang='en_us')

for word, pred in result.predictions.items():
  print(f'{word} {pred.phonemes} {pred.confidence}')

出力は以下です

imposimpable ɪmpɑsɪmpəbəl 0.8403896714598108
Phonemizing foʊnəmaɪzɪŋ 0.9953106480866608