tts-telegram-bot の日本語タイトル

AI/ML

概要

Deepgram を利用した Telegram ボットで、ユーザーが送信した音声を受け取って文字起こしし、テキストファイル(.txt)として返すことを目的とした軽量プロジェクトです。対応するアップロード種別は Telegram の voice、audio、video_note、audio document で、Deepgram の prerecorded transcription API を呼び出してスマートなフォーマットと句読点付きの文字起こし結果を取得します。ローカルでの簡単なセットアップ手順(Python 3.10以上、仮想環境、依存関係のインストール)が README に記載されており、環境変数による API キー設定で動作します。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 6
  • ファイル数: 10
  • メインの言語: Python

主な特徴

  • Telegram の音声関連アップロード(voice/audio/video_note/document)を受け付ける
  • Deepgram の prerecorded transcription API を用いて高品質な文字起こし(スマートフォーマット・句読点付与)
  • 文字起こし結果を .txt ファイルとしてユーザーにダウンロード可能な形で返信
  • シンプルな Python 実装でセットアップが容易

技術的なポイント

本プロジェクトは Telegram Bot API と Deepgram の音声文字起こし API をつなぐ「ブリッジ」として設計されています。典型的な処理フローは、Telegram から音声ファイルを受け取り、一度ボット側でファイルを取得(Telegram の file.get_file や HTTP ダウンロード)してから Deepgram の prerecorded transcription エンドポイントにアップロードまたは送信し、返却されたテキストを整形して .txt ファイルに保存し、Telegram にファイルとして返信する、という流れです。

Deepgram 側の利点としては多言語対応やスマートフォーマット(句読点の自動挿入、話者分離やノイズ耐性など)があり、これを活かすことで単純な ASR よりも読みやすい出力が得られます。実装面では、音声形式の多様性(OGG/OPUS、MP3、M4A など)を考慮する必要があり、Deepgram が受け付けない形式が来た場合は ffmpeg 等で変換する前処理を加えるのが一般的です。非同期処理(async / await)やストリーミングアップロードを採用することで大きなファイルや複数同時リクエストに対する応答性を向上させられます。

セキュリティ・運用面では、環境変数(.env)で Deepgram API キーと Telegram ボットトークンを管理する点や、ファイルサイズ制限・タイムアウト、エラーハンドリング(API の失敗時のリトライやユーザーへの分かりやすいエラーメッセージ)を設けることが重要です。また、結果を .txt にして返す実装は軽量で互換性が高い一方、文字起こし品質の改善や多言語切替、話者分離の情報を付与する拡張も容易です。CI/CD や Docker 化、ログ収集・監視を追加すると運用が安定します。(約700字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .env.example: file
  • .gitignore: file
  • .idea: dir
  • README.md: file
  • bot.py: file

…他 5 ファイル

README の抜粋(要点):

  • 機能: voice/audio/video_note/document を受け取り Deepgram で文字起こし → .txt を返信
  • セットアップ: Python 3.10+、仮想環境推奨、依存関係インストール
  • 必要な環境変数(例): Deepgram API キー、Telegram ボットトークン

まとめ

シンプルで導入しやすく、Deepgram の高品質な ASR を手早く Telegram ボットで利用できる実装。(約50字)

リポジトリ情報: