こんにちは、CTO室技術基盤グループの id:hogelog です。
STORES Product Blog でも多くの文字起こし記事がありますが、社内重要会議の文字起こしなど STORES 社内には様々なところで音声の文字起こし業務が存在します。そんな文字起こし業務ですが完全に人力で実施するのは作業コストがかなり高いです。今日はそのような業務を効率化する音声文字起こし技術とその変遷について紹介します。
Google Text to Speech の活用
以前 論より動くもの.fmを支える技術 〜Podcast初心者が使っているツール紹介〜 - STORES Product Blog でも紹介しましたが STORES 社内では Google Text to Speech が STORES 社内の様々な文字起こし業務に活用されてきました。
Google Text to Speech については機能検証をしただけでシステム開発はいっさいしておらず、文字起こし業務をする人に Google Cloud コンソールを直接使ってもらいました。
whisper.cpp 登場
whisper.cpp は OpenAI Whisper モデルによる音声文字起こしを扱いやすく、モデルもチューニングしハイパフォーマンスに処理できるようにしたアプリケーションです。
miyagawa さんによる紹介ツイートで知った whisper.cpp を検証し、whisper.cpp による文字起こしは Google Text to Speech よりも精度が高いと感じられたためさっそく活用を考えました。しかし whisper.cpp は CLI アプリケーションです。CLI に慣れてる人にとっては扱いやすいものですが、そうではない人にとっては難しいものです。STORES で文字起こし業務をする人の多くもエンジニア以外の人がほとんどです。
whisper.cpp ウェブフロントエンドの作成
まず手早く扱いやすいインターフェースを作るためにウェブアプリケーションを作成しました。
https://github.com/hogelog/speech2text
粗く実装したので親切な画面はありませんが、音声ファイルを文字に変換するツールとして最低限の機能は備えています。こちらを Cloud Run で動かし、社内向けに提供しました。提供する機能も少なくどう操作すべきか明確なためかスムーズに社内に浸透し活用されていきました。
whisper.cpp デスクトップアプリケーションの作成
speech2text は社内でも喜ばれたのですが、冒頭に書いた通り文字起こし業務は重要会議で使われることが多いです。そのような業務については内容にも社内であっても秘匿性が高く「関係者以外には見えないようにできないか」という問い合わせが多くありました。
speech2text は文字起こしの内容も社内全員に公開される仕様です。もちろん適切に認証認可を実装しシステムの権限などを設定すれば秘匿性の高いデータも扱えます。しかし趣味と片手間で開発運用してる社内システムに秘匿性の高い情報をあまり入れたくはありません。
そこで whisper.cpp のフロントエンドとなるだけの簡単なデスクトップアプリケーション whispercppapp を作成しました。データの処理が手元で完結するならばデータの秘匿性などで神経質になる必要もありません。
https://github.com/hogelog/whispercppapp
リリース済みバイナリは macOS 版しか用意できていませんが、Windows 版も手元では動いています。このアプリケーションは STORES 社内でもより多くの人に活用いただいています。
これらのソフトウェアは無償で公開しており、特に whispercppapp についてはダウンロードしてインストールすればそのまま利用できます。よろしければぜひご活用ください。
感想
冒頭の Google Speech to Text を動かしたときもこんなに気軽に安い料金で文字起こしをできることに驚きましたが、whisper.cpp は更なる精度と完全に手元で動かしてしまえるお手軽さに、より驚かされました。
Whisper を開発する OpenAI 社も、 whisper.cpp も有償のデータやソフトウェアとして公開してるわけではありません。それらを利用してちょっとしたシステムを作成するだけで大幅な業務効率化ができています。
今これらのアプリケーションを作成することに意味がありましたが、これらのアプリケーション作成にはそこまでの手間はかかっていません。将来的にはより安く扱いやすい音声文字起こしサービスが各プラットフォームから提供されていくことは想像に難くありません。また音声文字起こし技術以外にも既存の業務内容が大幅に変わっていくような技術革新が止まる気配はありません。
私個人は機械学習などの理解は浅いですが、STORES としてはこういった技術についてのチャレンジをかかさずプロダクトや業務への価値提供を考えています。STORES は新しい技術を楽しみ、価値を生み出すことにのめりこめるようなエンジニアを求めています。もしも STORES の技術やビジネス、ミッションなどに興味を持っていただけたら一度お話などしてみませんか? お待ちしております。