見出し画像

【検証】kotoba-whisper-v1 は清春を文字起こしできるのか


はじめに

助六です。今回も検証系です。
前回は「Whisper-1 large-v2」で、清春様の歌声を正しく文字起こしできるかという対決企画をしました。
結果は清春様が流石の歌声で勝利を収めました。
↓前回の検証の記事はこちら

今回は、「kotoba-whisper-v1」というモデルで清春様と対決します。
「kotoba-whisper」とは、Whisper large-v3をもとに大量の日本語音声データで学習されたモデルです。この日本語特化モデルなら清春様に勝利を収められるのではないか?という検証です。


検証内容

GoogleColabで検証しました。コードは下記です。

# 必要なパッケージをインストール
!pip install -q transformers datasets librosa

# 必要なライブラリをインポート
import torch
from transformers import pipeline
from datasets import load_dataset
import numpy as np
import librosa
from google.colab import files

# 使用するモデルのIDを指定
model_id = "kotoba-tech/kotoba-whisper-v1.0"

# GPUが使用可能かどうかを確認し、対応するデータ型を設定
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32
# GPUが使用可能かどうかを確認し、対応するデバイスを設定
device = "cuda:0" if torch.cuda.is_available() else "cpu"

# GPUが使用可能な場合、特定のモデル設定を行う
model_kwargs = {"attn_implementation": "sdpa"} if torch.cuda.is_available() else {}

# 音声認識の設定を指定
generate_kwargs = {"language": "japanese", "task": "transcribe"}

# 音声認識パイプラインを初期化
pipe = pipeline(
    "automatic-speech-recognition",
    model=model_id,
    torch_dtype=torch_dtype,
    device=device,
    model_kwargs=model_kwargs
)

# ファイルをアップロード
uploaded = files.upload()

# アップロードされたファイルを処理
for filename in uploaded.keys():
  # 音声ファイルを読み込み、サンプリングレートを設定
  audio, sr = librosa.load(filename, sr=16000)
  sample = {"array": audio, "sampling_rate": sr}

  # 音声認識を実行し、結果を出力
  result = pipe(sample, generate_kwargs=generate_kwargs)
  print(result['text'])

文字起こしをする対象の音声部分は前回同様に下記です。

忘却の空の対象部分の歌詞

ちなみに前回、「Whisper-1 large-v2」で文字起こしした結果はこちら。

冷たい雨が降れば 煙草に火をつけて
少しだけ平気な様子でいよう

行き急いでいたいけれど 忘れてない
トリコになった時 決めたストーリーこうもといている

だからベルベネットの空の下歌う声は聞こえてる
デタラメのタウナが交わしてる僕の声が聞こえてる

絡まれるベルベネットの空できっと声は聞こえてる
鮮やかで悲しいこの空で僕の声が聞こえているから


検証結果

下記が「kotoba-whisper-v1」で文字起こした結果です。

冷たい雨が降ればタバコに火をつけて
少しだけ廃棄な夜捨てよう

息急いでいたいけれど忘れてない
トリコムになった時決めたストーリー子も抱いている

歌う声は聞こえてる
出たらなのだる長いすいこの空で僕の声が聞かれてる

からこの空で聞いた声は聞こえてる
鮮やかで悲しいこの空で僕の声が聞かれているから

ん!?なんか所々文字起こしされていなかったり、なんかおかしい。
なんで?原因がわかりませんが(原因わかる方いたら教えて😭)、
何はともあれ、今回も清春様の圧勝です!!


最後に

ここまで読んでいただきありがとうございます☀️
普段はAI機能、特に画像認識や音声認識の機能をUIにしたゲーム開発の過程や成果物、技術的な発見も発信していきます!
Xで情報発信も始めました。
「AI×ゲーム開発」にご興味ある方はフォローしていただけると嬉しいです!

この記事が気に入ったらサポートをしてみませんか?