🎙️

オープンソースなVOICEVOX対応Discord読み上げボット「Swiftly読み上げbot」

に公開

ご覧いただきありがとうございます。今回は、私の開発運営するディスコードボットの、「Swiftly読み上げbot」を徹底解説します。

Swiftlyの思想

Swiftlyは以下の原則に沿って開発されています。

1. ユーザーにとって不要な機能は導入しない
2. 不要なレスポンスメッセージは排除する
3. ユーザー自身がボットに貢献できるようにする(オープンソース化)

Swiftlyのすごいところ

1. コマンドの名前がわかりやすい!

/joinや/leave、/dictionaryなど、コマンドの名前がわかりやすく、初見でも割と使いやすいように作られています。

2. 夜間でも高速で安定して読み上げられる!

まだSwiftlyはあまり大規模ではないため、夜間でも安定した読み上げが行われます。また、ボットサーバーが夜間でも高速な回線で運用されているため、安定して通信できるようになっています。

3. 完全に無料!!!

開発者が学生であるため、完全に無料で運営されています。辞書もすべて無制限です。

4. オープンソース

このボットはユーザーがボットに貢献できるという点を大事にしています。AGPL3.0ライセンスで完全にオープンソースであり、誰でも貢献できます。もしもコードが書けなかったとしてもAIコードでも大歓迎です!もちろん、サポートサーバーで「こういう機能がほしいです!」という要望を出すことも貢献ですよ!
https://github.com/techfish-11/SwiftlyTTS

5. VOICEVOXのほぼすべての声が使える!

VOICEVOXのほぼすべての声が使用可能です!
要望があれば、VOICEVOX以外の声も実装します。

Swiftlyの使い方

VCに参加・退出させる方法

VCに参加して、/joinコマンドを打つ

これだけで読み上げが開始されます。

/leaveコマンドで、退出されます。

辞書機能の使い方

例えば、「Discord」を「でぃすこーど」と読ませたい場合、以下のコマンドを入力するだけで辞書登録されます。

/dictionary key:Discord value:でぃすこーど

削除したい場合は、

/dictionary-remove key:Discord

と入力するだけです。

サーバー辞書一覧を見るには、/dictionary-listコマンドを送信するだけです。

その他

声の変え方

声は、VOICEVOXのほぼすべての声が使用可能です。
/voiceコマンドを送信し、声を選んだら設定ボタンを押し、声の番号を入力し、送信するだけです。

読み上げスピードの変え方

読み上げスピードは、1x~2xで選択可能です。
/speedコマンドを送信し、以下のような画面で設定可能です。

導入する方法

以下のリンクを押し、画面に沿ってボットをサーバーに追加してください。
https://discord.com/oauth2/authorize?client_id=1371465579780767824

今後の展望

Swiftlyはまだ成長途中のボットです。これからも以下の方向でアップデートしていく予定です。

  • 対応する音声エンジンの拡大
    VOICEVOX以外の音声も選べるようにして、もっと幅広い声を楽しめるようにします。

  • 運営と開発の透明性
    オープンソースを続けつつ、ユーザーからの要望やアイデアを積極的に取り入れて「みんなで作るボット」にしていきます。

これらはあくまで予定で、みんなの意見や要望によって変わっていきます。「こういう機能ほしい!」という声がSwiftlyの未来を作るので、ぜひ気軽にサポートサーバーやGitHubで教えてください!

Discussion