🎵

日本語の音声解析をやってみた

2021/10/02に公開

Google の SpeechRecognition を使って日本語の音声解析をやってみたのでまとめます。

データセットは Common Voiceの日本語音声を使っています。

SpeechRecognition は WAV/AIFF/FLAC にのみ対応しており、データセットは mp3 ファイルのため、変換する必要があります。

https://github.com/Uberi/speech_recognition/blob/master/reference/library-reference.rst

コードはColabがこちら、GitHubがこちら

MP3ファイル -> WAVファイルへの変換

pydub を使って MP3 から WAV ファイルに変換します。

import glob
import pydub

# mp3 ファイル名の取得
mp3_files = glob.glob('cv-corpus-7.0-2021-07-21/ja/clips/*.mp3')

# データセットの音声ファイルが多いので50ファイルのみmp3への変換
for mp3_file in mp3_files[:50]:
    sound = pydub.AudioSegment.from_mp3(mp3_file)
    sound.export("wav/" + mp3_file.split("/")[-1][:-3] + "wav", format="wav")

https://algorithm.joho.info/programming/python/pydub-mp3-wav/

音声解析

speech_recognition を使って音声解析し、文字おこしします。

# wav ファイル名の取得
r = speech_recognition.Recognizer()

wav_files = glob.glob(path + 'wav/*.wav')

# 音声解析、ただし10ファイルのみ
for wav_file in wav_files[:10]:
    print(wav_file, end=" -> ")
    with speech_recognition.AudioFile(wav_file) as source:
        audio = r.record(source)
    print(r.recognize_google(audio, language='ja-JP'))

https://www.kkaneko.jp/db/speech/speechrecog.html

解析結果は以下のとおりです。

/content/drive/MyDrive/talk/wav/common_voice_ja_20836343.wav -> 彼女は部屋に入ってベッドに横になった
/content/drive/MyDrive/talk/wav/common_voice_ja_20836344.wav -> 彼女は部屋に入ってベッドに横になった
/content/drive/MyDrive/talk/wav/common_voice_ja_20836341.wav -> この靴は古いです
/content/drive/MyDrive/talk/wav/common_voice_ja_20836336.wav -> 彼女は目を逸らした
/content/drive/MyDrive/talk/wav/common_voice_ja_20836337.wav -> この靴は古いです
/content/drive/MyDrive/talk/wav/common_voice_ja_20836342.wav -> 彼女は部屋に入ってベッドに横になった
/content/drive/MyDrive/talk/wav/common_voice_ja_20836340.wav -> この靴は古いです
/content/drive/MyDrive/talk/wav/common_voice_ja_20836339.wav -> この靴は古いです
/content/drive/MyDrive/talk/wav/common_voice_ja_20836335.wav -> 彼女は目を逸らした
/content/drive/MyDrive/talk/wav/common_voice_ja_20817635.wav -> どうすれば 漢字を覚えることができますか

下記URLに common_voice_ja_20836343.wav ファイルをおいてあるので興味があれば確認してみてください。

非常に高い精度で音声解析ができているのがわかります。

common_voice_ja_20836343.wav -> 彼女は部屋に入ってベッドに横になった

https://drive.google.com/uc?id=1k36lTED74Duz6rj9r6kH7bTyj2tHQTfl

以上になります、最後までお読みいただきありがとうございました。

Discussion