見出し画像

Gemini API でラジオ番組の音声からの文字起こしを試す

「Gemini API」でラジオ番組の音声からの文字起こしを試したので、まとめました。


1. Gemini 1.5 Pro の 音声データ入力

「Gemini 1.5 Pro」で音声データでの入力が可能になりました。
サポートしているファイル形式は、次のとおりです。

・MIMEタイプの制限
 ・WAV - audio/wav
 ・MP3 - audio/mp3
 ・AIFF - audio/aiff
 ・AAC - audio/aac
 ・OGG Vorbis - audio/ogg
 ・FLAC - audio/flac

・1プロンプトでの音声データの最大長は 9.5 時間。
・1プロンプト内の音声ファイルの数には制限ない。
・音声ファイルは16Kbpsのデータ解像度までリサンプリングされ、複数のオーディオ チャネルは1チャネルに結合される。

2. ラジオ番組の音声の準備

今回は、「Claude 3」と「VOICEVOX」にラジオ番組の音声を作ってもらいます。

(1) 「Claude 3」に台本を書いてもらう。

(2) 「VOICEVOX」に読み上げてもらう。

完成したラジオ番組の音声 (wav) は、以下からダウンロードできます。

VOICEVOX : 四国めたん・ずんだもん

3. ラジオ番組の音声の要約

ラジオ番組の音声の要約手順は、次のとおりです。

(1) パッケージのインストール。

# パッケージのインストール
!pip install -q -U google-generativeai

(2) 左端の鍵アイコンで「GOOGLE_API_KEY」に自分の「APIキー」を指定してから、以下のセルを実行。

from google.colab import userdata
import google.generativeai as genai

# 環境変数の準備 (左端の鍵アイコンでGOOGLE_API_KEYを設定)
GOOGLE_API_KEY=userdata.get("GOOGLE_API_KEY")
genai.configure(api_key=GOOGLE_API_KEY)

(3) ラジオ番組の音声の準備。
左端のフォルダアイコンからファイル一覧を開いてColabにアップロードします。 

(4) ファイルのアップロード。
Geminiのサーバにアップロードします。

# ファイルのアップロード
audio_file = genai.upload_file(path="sample.wav")

(5) 推論の実行。

# モデルの準備
model = genai.GenerativeModel("models/gemini-1.5-pro-latest")

# プロンプトの準備
response = model.generate_content(
    [
        "次のラジオの音声を日本語で要約してください。",
        audio_file
    ]
)
print(response.text)

## ラジオ音声の要約

このラジオ番組は、DJのサクラさんとアニメ愛好家のモミジさんが、今期のオススメアニメについて語り合う内容です。

**主なトピック:**

* **今期注目のアニメ:** "未来の国からこんにちは"というSFアニメ。近未来を舞台に、AIと人間との関係を描いた作品。
* **ストーリー:** 主人公はAIを搭載したアンドロイドだが、人間社会に溶け込めず悩んでいる。そんな中、ひょんなことから人間の少女と出会い、友情を深めていく物語。
* **見どころ:**
* 美しいアニメーション、特にアンドロイドのキャラクターデザインがリアル。
* 背景の描き込みも細かく、見応え抜群。
* AIと人間のあり方について深く問いかける内容で、メッセージ性も感じられる作品。

**二人の感想:**

* モミジさんは、設定やストーリー、アニメーションの美しさに魅力を感じている。
* サクラさんも、テーマやストーリーに興味を持ち、視聴したいと思っている。

**最後に:**

* 二人は、また一緒にアニメトークをすることを約束し、リスナーに今期も素敵なアニメライフを送ることを勧めている。

4. ラジオ番組の音声の文字起こし

ラジオ番組の音声の文字起こしの手順は、次のとおりです。

(1) 推論の実行。

# モデルの準備
model = genai.GenerativeModel("models/gemini-1.5-pro-latest")

# プロンプトの準備
response = model.generate_content(
    [
        "次のラジオを日本語で発言内容そのまま文字起こししてください。",
        audio_file
    ]
)
print(response.text)

## ラジオ文字起こし

**00:00**

* さくら: 皆さんこんばんは。アニメ大好きDJのさくらです。
* もみじ: そして、アニメ愛好家の、もみじです。
* もみじ: よろしくお願いします。
* さくら:今日は、今期のおすすめアニメについて語り合っていきたいと思います。
* さくら:もみじさん、何か気になる作品はありますか?

**00:16**

* もみじ:そうですね。私が注目しているのは、「未来の国からこんにちは」というSFアニメです。
* もみじ:近未来を舞台に、AIと人間の関係を描いた作品で、設定がとてもユニークなんですよ。

**00:32**

* さくら:おお、面白そうですね。未来とAIという題材は、今の時代にぴったりな気がします。
* さくら:ストーリーはどんな感じなんでしょう?

**00:41**

* もみじ:主人公は、AIを搭載したアンドロイドなんですが、人間社会に溶け込めず悩んでいるんです。
* もみじ:そんな中、ひょんなことから人間の少女と出会って、友情を深めていくという物語なんですよ。

**00:57**

* さくら:人間とアンドロイドの友情か、いいテーマですよね。アニメーションの出来はどうですか?
* もみじ:めちゃくちゃ綺麗ですよ。特にアンドロイドのキャラクターデザインが素晴らしくて、もう本物の人間と区別がつかないくらいリアルなんです。
* もみじ:背景の描き込みも細かくて、見応え抜群ですから。

**01:17**

* さくら:ああ、それは楽しみだな。ちょっと哲学的なテーマも含まれていそうで、考えさせられる作品になりそうですね。
* もみじ:そうなんです。AIと人間のあり方について、深く問いかけてくる内容だと思います。
* もみじ:単なるエンターテイメントというだけでなく、メッセージ性も感じられる秀作だと感じましたよ。

**01:39**

* さくら:なるほど、今期一押しのアニメですね。私も早速チェックしてみます。今日はありがとうございました。
* もみじ:こちらこそ、楽しく語らせていただきました。また機会があれば一緒にアニメトークしましょう。
* さくら:是非是非。それでは皆さん、今期も素敵なアニメライフを。また次回お会いしましょう。

5. トークン数の確認

トークン数の確認の手順は、次のとおりです。

(1) トークン数の確認。

# トークン数の確認
model.count_tokens([audio_file])
total_tokens: 3808



いいなと思ったら応援しよう!