0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

キャラごとに違う声でしゃべるWebアプリを作ってみた【Python × gTTS × Streamlit】

Posted at

ふと「テキストで会話してるやり取り、声がついたらもっと楽しいのにな」って思ったのがきっかけで、
キャラごとに違う声でしゃべってくれるWebアプリを作ってみました。
名前は VoiceTalker です。

テキストで書いた会話を、キャラクターの声で読み上げてくれるアプリです。


できること

VoiceTalkerでは、こんなことができます。

  • テキストから会話音声を生成
  • キャラクターごとに声の設定(高さ・速さ・音量・太さ)ができる
  • 複数キャラの会話を1つの音声ファイルとして出力
  • 調整した声をリアルタイムで試聴できる

セットアップ

環境はPythonです。以下で起動できます。

git clone https://github.com/mtrtrdev/voicetalker.git
cd voicetalker
pip install -r requirements.txt
streamlit run app.py

起動するとブラウザが開き、Webアプリが立ち上がります。


会話の作り方

サイドバーから「会話生成」を選んで、使いたいキャラクターにチェックを入れます。

テキストはこんな感じで入力します。

アリス: おはよう!
ボブ: おはよう、アリス。

そのあと「音声生成」ボタンを押すと、会話が音声化されます。


声のカスタマイズ

「声の設定」では、キャラクターごとに細かい調整ができます。

  • 話す速さ:0.5~1.5(1.0が標準)
  • 声の高さ:-12~+12(0が標準)
  • 音量:-20~+20 dB(0が標準)
  • 声の太さ:0~12(数字が大きいほど低音強め)

テスト用のテキストを入れると、その場ですぐに試聴できます。


技術スタック

VoiceTalker は以下の技術で作られています。

  • Python 3.9+
  • Streamlit:WebアプリのUI
  • gTTS:Google Text-to-Speech(音声生成)
  • librosa:音声の加工(ピッチ、速さ、音量)
  • soundfile:音声ファイルの読み書き

すべてPythonだけで構成されているので、比較的扱いやすいです。


注意点

  • gTTSを使用しているため、インターネット接続が必要です
  • 音声生成には少し時間がかかる場合があります(数秒)
  • 音声ファイルは一時的に生成されますが、サーバーには保存されません

GitHub

コードはこちらで公開しています。
スターしてもらえると励みになります!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?