先日放送されていた
水曜日のダウンタウンの企画で使われていた
清春さんの新曲にAIは
どこまで正しく文字起こしできるのか
検証してみることとしました。

解説動画はこちら




はじめに


元ネタは「水曜日のダウンタウン」の企画
「清春の新曲、歌詞を全て書き起こせるまで脱出できない生活」
です。

ここでは、清春さんの新曲「霧」の歌詞を
芸人「きしたかの」が二人合わせて聞き取っていましたが
AI文字起こしでどこまで正しく文字起こしできるのか
試してみる事としました。


手順としては
1.spleeterでボーカル音声を抽出する
2.ボーカル音声をWhisperで文字起こしする
となります。



1.Spleeter でボーカルを抽出する

楽曲の音声ファイルから
声だけを抜き取るには
「Spleeter」を使うと出来ます。

詳しい使い方は
音楽データからボーカル・伴奏の音を抽出できるspleeterを使ってみた


インストール
# インストール
!pip uninstall tensorflow -y
!pip install yt-dlp
!pip install pydub
!pip install spleeter==2.4.0

ライブラリの読み込み
# モジュール読み込み
import warnings
warnings.simplefilter('ignore')
from IPython.display import Audio,display,clear_output,update_display
import glob
import os
import subprocess
import re
import ipywidgets as widgets
import shutil
from pydub import AudioSegment
from spleeter.separator import Separator

音声ファイルをディレクトリ に起きます。
配置したmp3からボーカルだけを抽出します。
#@title mp3からボーカル抽出
from spleeter.separator import Separator
file_name = "霧.mp3"#@param {type:"string"}
MP3_BITRATE = "192k"#@param {type:"string"}

# 2stemsモデルを使用してボーカルと伴奏に分離
separator = Separator('spleeter:2stems')

# 音楽ファイルを読み込み、分離を実行
separator.separate_to_file(file_name, '/content')

# wavをmp3に変換する
dir_path = file_name.replace(".mp3","")
vol_file_name = "vocals.wav"
audio_file_path = f"/content/{dir_path}/{vol_file_name}"
AudioSegment.from_wav(audio_file_path).export(audio_file_path.replace(".wav",".mp3"),format="mp3",bitrate=MP3_BITRATE)

抽出した音声を聴く場合は
#@title ボーカル抽出を聞いてみる
from IPython.display import Audio

# 音声ファイルのパス
audio_file_path = '/content/霧/vocals.mp3'#@param {type:"string"}

# 音声の再生
Audio(audio_file_path)

2.Whisperで文字起こしをする

whisperはopen AI が開発した
音声文字起こしです。

詳しくはこちら
音声認識ライブラリWhisperを使って文字起こししてみる


OpenAI Whisperのインストール
!pip install git+https://github.com/openai/whisper.git

文字起こしの実行はこちら
#@title OpenAI Whisperで文字起こし
import whisper

vocal_file_path = "/content/霧/vocals.wav"#@param {type:"string"}

model = whisper.load_model("base")
result = model.transcribe(vocal_file_path)

answer = result["text"]
print(answer)

うまく文字起こしできたら
テキストが表示されると思います。


さーて
うまくいったのでしょうか!!?!

結果は動画をお楽しみ下さい
それでは。