デフエンジニアの会アドベントカレンダー5日目の記事です。
はじめに
私は耳が聞こえないので、日常的に音声文字起こしアプリを利用しています。
そして常々「自分でも一度音声文字起こしアプリを作ってみたいな」と思っていた時に、Difyを知りました。
そこには音声認識が標準掲載されていてAPIを使えば音声認識が使えると知り、これを使って音声文字起こしアプリが作れるかを確かめてみました。
すると簡易なものですが一応できたので、この記事では、ノーコードAI開発プラットフォーム「Dify」を使ってリアルタイム音声文字起こし+AI要約アプリを作成する方法をご紹介します。
この記事を読めば、非プログラマでも簡易的だけど実用性のあるアプリが作れるかなと思います。
この記事で作るもの
以下の機能を持つWebアプリケーションを作成します。
※今回は相手からの音声を文字起こしするのみで、こちらからの文を音声に変える機能はつけていません
- リアルタイム音声文字起こし: マイクからの音声を即座にテキスト化
- AI要約機能: 会話内容をAIが自動的に要約
- キーワード抽出: 重要なポイントを自動抽出
- 会話履歴の保存: 過去の会話を振り返り可能
- 話者識別: 誰が話しているかを識別(オプション)
なぜDifyなのか?
Difyを選んだ理由は以下の通りです:
- 完全ノーコード: ドラッグ&ドロップで開発可能
- 音声認識標準搭載: 追加設定なしで音声入力が使える
- 複数AIモデル対応: GPT-4、Claude、Llamaなどから選択可能
- 無料で始められる: 無料プランで十分な機能が使える
- RAG機能: 専門用語辞書などを組み込んで精度向上
- whisperが使える: OpenAIが開発した高精度な音声認識AIモデルで、音声ファイルを日本語を含む多言語で高精度に文字起こしできる
記事執筆時の情報
この記事は2025年12月時点のDifyの画面に基づいて作成しています。Difyは頻繁にアップデートされるため、画面の表記や配置が若干異なる場合がありますが、基本的な機能は同じです。
事前準備
1. Difyアカウントの作成
- Dify公式サイトにアクセス
- 「Get Started」をクリック
- GitHubまたはGoogleアカウントでサインアップ
2. OpenAI APIキーの取得(推奨)
より高精度な音声認識を利用するため、OpenAI APIキーを取得します。
- OpenAI Platformにアクセス
- アカウント作成後、API Keysセクションで新しいキーを作成
- キーをコピーして保管(後で使用します)
無料で始めたい場合は、DifyのデフォルトモデルでもOKです!私はデフォルトモデルで作成しました。
アプリの作成手順
ステップ1: 新規アプリの作成
- Difyにログイン後、トップページで「スタジオ」をクリック
- 「最初から作成」を選択
- アプリタイプは「チャットフロー」を選択
- アプリ名を入力(例: 「音声文字起こし支援アプリ」)
- 「作成」ボタンをクリック
ステップ2: LLMモデルの設定
- 右側のパネルにある「LLM」セクションを確認
- 現在「gpt-4 CHAT」が選択されている部分をクリック
- 使用したいモデルを選択(例:gpt-4o-mini など)
独自のOpenAI APIキーを使いたい場合
- 画面上部の歯車アイコン(設定)をクリック
- モデルプロバイダー」を選択
- OpenAIの設定でAPIキーを入力
Difyのデフォルトキーを使う場合は、この手順は不要です。
ステップ3: 音声認識機能の有効化
-
画面上部のツールバーにある「機能」ボタン(または画面右側)をクリック
-
「音声からテキストへ」のトグルをONにする
ステップ4: プロンプトの設定
アプリの動作を定義するプロンプトを設定します。
画面右側のパネルで「SYSTEM」セクションを見つけ、アプリの動作を定義するプロンプトを設定します。
そして、以下のプロンプトを入力してください。
あなたは聴覚障害者の方々に音声を文字で伝えるAIアシスタントです。
以下のタスクを実行してください。
1. ユーザーが音声入力した内容を正確にテキスト化する
2. 会話の要点を箇条書きで3〜5点にまとめる
3. 重要なキーワードを5個抽出する
4. 専門用語や難しい言葉があれば、わかりやすく説明する
出力形式:
## 文字起こし
[入力された音声の全文をここに表示]
## 要約
- [要点1]
- [要点2]
- [要点3]
## 重要キーワード
- [キーワード1] - [簡単な説明]
- [キーワード2] - [簡単な説明]
- [キーワード3] - [簡単な説明]
## 補足説明
[専門用語や難しい内容があれば、わかりやすく説明]
ステップ5: テストと調整
-
画面右側のプレビュー画面で「公開する」ボタンをクリック
-
「更新を公開」をクリックして変更を保存
-
画面右上の「プレビュー」ボタンをクリックしてテスト画面を開く
-
何か話してみて、文字起こしと要約が正しく動作するか確認
初回はブラウザからマイクへのアクセス許可が求められます。「許可」をクリックしてください。
実際の使用例
例1: 会議での使用
音声入力:
「おはようございます。今日の会議では、新製品のマーケティング戦略について話し合います。特に、ターゲット層の明確化と、SNSを活用したプロモーション施策について検討が必要です。予算は500万円で、3ヶ月以内の実施を目指します。」
AIの出力
(私が試したときに実際に出てきた内容です)
文字起こし
おはようございます。今日の会議では、新製品のマーケティング戦略について話し合います。特に、ターゲット層の明確化と、SNSを活用したプロモーション施策について検討が必要です。予算は500万円で、3ヶ月以内の実施を目指します。
要約
- 新製品のマーケティング戦略を会議で話し合う
- ターゲット層の明確化が必要
- SNSプロモーション施策を検討
- 予算500万円
- 実施期間は3ヶ月以内
重要キーワード
- マーケティング戦略 - 製品やサービスを市場で成功させるための計画
- ターゲット層 - 製品やサービスの主要な顧客層
- SNS - ソーシャルネットワーキングサービス、オンラインでの情報共有プラットフォーム
- プロモーション施策 - 製品やサービスの宣伝活動
- 予算 - 計画のために割り当てられた資金
補足説明
- SNS(ソーシャルネットワーキングサービス)は、FacebookやTwitterなどの、ユーザーが情報を共有したり交流を行うオンラインプラットフォームのことです。
例2: 医療現場での使用
音声入力
「血圧が140/90で、やや高めですね。高血圧の初期症状かもしれません。塩分摂取を控えて、適度な運動を心がけてください。2週間後にもう一度測定しましょう。」
AIの出力
文字起こし
血圧が140/90で、やや高めですね。高血圧の初期症状かもしれません。塩分摂取を控えて、適度な運動を心がけてください。2週間後にもう一度測定しましょう。
要約
- 血圧が140/90で少し高め
- 高血圧の初期症状の可能性
- 塩分摂取を控える必要
- 適度な運動を推奨
- 2週間後に再測定する
重要キーワード
- 血圧 - 心臓が血液を送り出すときの血管内の圧力
- 高血圧 - 血圧が正常範囲を超えて高くなる状態
- 塩分摂取 - 塩分を含む食品や調味料の消費
- 適度な運動 - 健康維持のために無理なく行う身体活動
- 測定 - 血圧を測ること
補足説明
高血圧は、血液が血管の壁に強い圧力をかける状態で、心臓病や脳卒中などのリスクを高めます。塩分の摂取を控えることで、血圧を下げる手助けになります。
応用編: さらに機能を強化する
1. 専門用語辞書の追加(RAG機能)
特定の業界や分野で使う場合、専門用語の辞書を追加できます。
- 画面上部にある「スタジオ」をクリックし、トップページに戻る
- 画面上部にある「ナレッジ」ボタンをクリック
- テキストファイルやPDFで専門用語集をアップロード
- 作成したナレッジをアプリに関連付ける
- 画面右側の「コンテキスト」セクションで、作成したナレッジを選択
これにより、専門用語を正確に認識できるようになります。
2. 話者識別機能の追加
複数人の会話を識別するには、プロンプトに以下を追加します。
複数人の発言がある場合は、話者を識別して以下の形式で出力してください:
[話者A]: 発言内容
[話者B]: 発言内容
3. 多言語対応
プロンプトに以下を追加して、自動翻訳機能を組み込めます。
日本語以外の言語で話された場合は、日本語に翻訳してください。
4. 感情分析の追加
会話のトーンや感情を分析するには
発言のトーン(落ち着いている、興奮している、心配そうなど)を分析して、
絵文字で表現してください。
Webアプリとして公開する
作成したアプリを他の人と共有したい場合
- 画面右上の「公開する」ボタンをクリック
- 表示されたメニューから「アプリを実行」をクリック
- 新しいタブまたはウィンドウでWebアプリが開きます
- そのURLをコピーして共有すれば、他の人もアクセスできます
その他の公開オプション
- サイトに埋め込む: 自分のWebサイトに埋め込むためのコード取得
- 探索ページで開く: Dify内の探索ページで公開
- API リファレンス: API経由でアプリを利用する場合
実際の活用シーン
ビジネス
- 会議の議事録作成
- 取引先との商談記録
- オンライン会議のリアルタイム字幕
医療
- 診察内容の記録
- 患者への説明の補助
- カンファレンスの議事録
教育
- 講義内容の文字起こし
- グループディスカッションの記録
- 遠隔授業での字幕表示
日常生活
- 友人や家族との会話のサポート
- 電話内容の記録
- イベントや講演会での情報取得
⚠️ 重要:コストについて
使用前に必ずお読みください
このアプリを使用すると、音声認識と要約処理にコストが発生します
Difyの無料プラン(Sandbox)を使用する場合
- 月200メッセージ分のクレジットが無料で付与されます
- このクレジット内なら追加料金は発生しません
- クレジットを超過すると使用できなくなります
Difyの有料プランを使用する場合
- より多くのクレジットが付与されます
- クレジット超過分は従量課金されます
独自のOpenAI APIキーを使用する場合
- 使用量に応じてOpenAIから直接請求されます
- Whisper(音声認識): $0.006/分(約0.9円/分)
- GPT-4o-mini(要約): 非常に安価
コスト試算例(独自APIキー使用時)
- 10分の会話: 約10円
- 1時間の会議: 約60円
- 非常に安価ですが、使用量によっては積み重なります
推奨事項
- まずは無料プランの200メッセージ内でテストしてください
- 本番運用前に、実際のコストを必ず確認してください
- 独自APIキーを使う場合は、OpenAIのダッシュボードで使用量を定期的に確認してください
コストについて(詳細)
Difyの料金
- Sandboxプラン(無料): 月200メッセージ、5アプリまで
- Professionalプラン($59/月): より多くのメッセージとアプリ
- Teamプラン($159/月): チームでの利用に最適
OpenAI APIの料金(Whisper)
- 音声認識(Whisper): $0.006/分
- GPT-4o-mini(要約): 非常に安価(1万トークンあたり約$0.15)
詳しいコスト試算は上記の「重要:コストについて」セクションをご確認ください。
トラブルシューティング
音声が認識されない
原因: マイクの設定が正しくない
解決方法:
- ブラウザの設定でマイクへのアクセスを許可
- システム設定でマイクが有効になっているか確認
- 別のブラウザで試してみる
文字起こしの精度が低い
原因: 周囲の雑音、話し方の速さ、専門用語
解決方法:
- できるだけ静かな環境で使用
- はっきりと話す
- RAG機能で専門用語辞書を追加
- プロンプトに「正確な文字起こしを優先してください」を追加
APIキーのエラー
原因: APIキーが無効または残高不足
解決方法:
- OpenAIのダッシュボードでAPIキーを確認
- 使用量制限や残高を確認
- 必要に応じて課金設定を行う
改善のアイデア
今後、以下のような機能追加も検討できます。
- スマホアプリ化: PWA(Progressive Web App)として実装
- 多言語自動翻訳: リアルタイムで他言語に翻訳
- 重要ワード通知: 特定のキーワードが出たら通知
- 分析ダッシュボード: 会話の傾向を可視化
- カレンダー連携: 会議の予定と自動紐付け
- UI/UXのカスタマイズ: より見やすいデザインに
まとめ
Difyを使えば、プログラミング知識がなくても、実用的なAI音声文字起こしアプリを約1〜2時間で作成できます。
このアプリはろう者・難聴者またはろう者難聴者と話したい聴者だけでなく、以下のような方々にも役立ちます。
- 議事録作成を効率化したいビジネスパーソン
- 講義内容を記録したい学生
- 患者とのコミュニケーションを記録したい医療従事者
- 外国語の学習をしている方
ノーコードツールの進化により、誰もがアイデアを形にできる時代になりました。この記事をきっかけに、皆さんも試しに何かアプリを作ってみてください。きっと楽しいです!






