【要約】TikTok Live配信中のコメントを自動で読み上げるツールを作った話 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
配信者が、ゲーム中にコメントを見落とすストレスを解消するためにツールを開発した。しかし、実装過程で以下の技術的課題に直面した。
- ・
pyttsx3がWindowsのCOM周りの不具合により、2件目以降の読み上げでハングする。 - ・コメントをPowerShell経由で実行する際、コマンドインジェクションの脆弱性が生じる。
- ・Windows標準音声の品質が低く、配信の雰囲気に適さない。
// Approach
開発者は、ツールの安定性とセキュリティを確保するために、以下の設計変更を行った。
- ・読み上げ処理を完全に独立したプロセスとして実行し、ハングの影響を最小化する。
- ・コメントを直接コマンドに埋め込まず、
.ps1スクリプトの引数として渡してコード実行を防ぐ。 - ・VOICEVOXのHTTP APIを利用し、キャラクターボイスによる高品質な音声合成を実現する。
// Result
最終的に、配信者はコメントを音声でリアルタイムに把握できるようになった。具体的には以下の改善が達成された。
- ・URLや絵文字をフィルタリングし、読み上げのノイズを低減した。
- ・独立プロセス化により、連続するコメントも停止することなく処理可能となった。
- ・VOICEVOXの導入により、配信に適した高品質な音声を実現した。
Senior Engineer Insight
> 実戦的な教訓に富む。特に、外部入力をコマンドライン引数として扱う際の脆弱性への気づきは、実務でも極めて重要だ。非公式ライブラリの使用は、プラットフォームの仕様変更による破壊的変更のリスクを孕む。また、プロセス分離によるハング対策は、堅牢なシステム設計の基本である。開発体験(DX)において、AIによるコード生成と人間による検証の役割分担が明確に示されている。