この記事はなに?

Google Cloud Next ’24参加にあたり、
私は英語がとてもvery苦手なので、助けてもらうと同時に実際に現地で使ってみよう。という私欲にまみれた企画です。

どんな機能があるんだい?

1.Geminiを呼ぶ
2.Speech-to-Textで文字起こしする(今日の主役!バースデー!)
3.Speech-to-Textで使用した音声データを再生する

の3本建てとなっております。

なにはともあれ、使用サービスたち

  • Flutter
  • Gemini(Google Generative AI SDK for Dart!)
  • Speech-to-Text
  • Cloud Storage
  • Cloud Firestore
  • Cloud Functions for Firebase

※ちなみに※
今回は私個人のスマホにのみインストールしているため、
Flutter側から直接APIを呼んでいますが、セキュリティ上よろしくないのでServerpotなど、何某かバックエンドを建てることを推奨します。
例えば、Cloud Functions for Firebase & Cloud Secret Managerという王道コンビなど。

1.Geminiを呼ぶ

現地では、ずっとGeminiくんに泣きついてました。だる絡み。
今回のアプリでは、チャット履歴は残してませんが…ナンダトォ!
謎な英語などを聞くと優しく教えてくれるので癒されました。ありがとうGeminiくん。
個人的には、やりたいことを一つのアプリにまとめられたので幸福度は高めです。QOLアゲっすね。

2.Speech-to-Textで文字起こしする

今回は、セッションを書き書きしてもらう想定だったので、バッチ処理の方の実装にしています。(1分超えるため)
…ので、なかなかとってもすこし文字起こしレスポンスに時間かかったかなあ…という気持ちでした。海外なので通信もゆっくりなので辛いところ。
ただし、リアルタイム処理と比べると、精度が想像していたよりも大変によく、多少詰まってもよしなに書き起こしてくれました。
個人の感想ですが、特にこれ違うんじゃない?という、文字起こしはなかったです。(異議なし!)
この子がいなければ、今回のGoogle Cloud Next ’24は300%楽しめなかったでしょう。ありがとう。感謝。

3.Speech-to-Textで使用した音声データを再生する

幸せなことに怒涛のセッション嵐だったため、音声再生はほぼ使わなかったですね。過去は振り返らぬ。
とはいえ、書き起こした文字データDBから確認するのには、とても重宝しました。

今度、改めてアプリの詳細・苦労したこと!についての記事もまとめようとおもいます。

ところで、このライブラリ便利だよ大賞(独断)

Geminiのライブラリがとてもベンリーです!個人的に今回のアプリの大賞です。
Google Generative AI SDK for Dart
https://github.com/google/generative-ai-dart

ただし、このアプリはGoogle Cloud Next ’24参加前に作成しているため、Gemini 1.0 Proで作成しています。
が!すでにGemini 1.5 Proが使用できるようになっています!うおおお、Geminiの呼吸。早速作ってみようと思います。

作ってみて所感

個人的には1から作成してGemini, Flutter, Speech-to-Textにとても愛着が湧きました。愛Love。
何より驚いたのが、Flutter知識ほぼゼロからでも超絶怒涛に簡単に作成できて泣きました。幸せってこういうこと。
作成期間は、おおよそ丸々6日間です。

当初は、Speech-to-TextとGeminiくんを統合しようと思っていましたが、あれこれAPIを呼び出しすぎた結果、時間がかかりすぎるため断念。
結果的には、分離してよかったと思ってます。ちょこちょこ、その他のことも聞けるので。
ただし、毎度API通信が発生するのがなかなか辛かったですね。iOSなどであれば、手元にインストールする機能があったらうれしいところ…すでにあるかもしれませんが…。
特にGemini Omniのようなものを切望します(強欲の壺)
また、今回はモデル適応などの認識調整などは行っていないので、調整行うとまたもりもり精度が上がりそうです。何を教えこもうかな。(悪い大人です)

最後に

自分自身を助けるために作ったアプリですが…、こんなに簡単にできるんだ!アプリ作ってみようかな!Google Cloudサイコーじゃん!と思ったいただけたら幸甚の極みです。
よきGoogle Cloudライフを!