feature image

2022年4月30日 | ブログ記事

ツイートを合成音声に読み上げてもらおう

この記事は新歓ブログリレー2022の53日目のものです

前書き

こんにちは19の亀茶です

最近はどの班に所属しようかなぁと色々と悩んでいます

さてはてそんな事はおいといて、みなさんはtwitterをしてますでしょうか

自分はTLもといタイムラインをシュポシュポと何度も更新するのはもはや当たり前となってしまっています。かといってtwitterばかりを見ていては色々と支障が生じます。

そのため、目でTLを眺めるのではなく音でTLを聞こうというのが事の始まりです。

合成音声を使おう

さて皆さんは合成音声と聞いて何をはじめに思い浮かべますでしょうか

「ゆっくり」として広く親しまれているAquesTalk製の合成音声を思い浮かべる方も多いと思います

しかし今回使用するのはそれとは異なります。というのもAquesTalk製の声は商用利用しようとすると年間の料金が発生してしまいます。別に今回は個人利用なので特に料金は発生しませんが、せっかくなのでなるべくお金がかからない合成音声を使用したいです。

色々調べてみたところVOICEVOXというものを見かけました。

VOICEVOX | 無料で使える中品質なテキスト読み上げソフトウェア
無料で使える中品質なテキスト読み上げソフトウェア
四国
四国めたん
ずんだもん

なんとこのソフト個人利用だろうと商用利用だろうと無料で使用することができちゃうのです。とても嬉しいですね。ただ使用するキャラごとに利用規約があるので、おおやけで使う時はきちんと確認しておきましょう。

また、このソフトは合成音声を作成する部分(エンジン)がオープンソースとして公開されているのです。そのため知識さえつければ自分も開発を手伝うことができちゃうのです。そういう背景もあってかエンジンがDockerImageとして配布されています。

GitHub - VOICEVOX/voicevox_engine: 無料で使える中品質なテキスト読み上げソフトウェア、VOICEVOXの音声合成エンジン
無料で使える中品質なテキスト読み上げソフトウェア、VOICEVOXの音声合成エンジン. Contribute to VOICEVOX/voicevox_engine development by creating an account on GitHub.

Dockerを使って実現しよう

ここでDockerという言葉が出てきましたが、詳しい事は後のなろう講習会で説明されると思うので省いておきます。

ごく簡単にいうとWebサーバー等の環境をコンテナという単位で簡単に生成したり破棄したり制御したりすることができる凄いやつ、という認識でいいとおもいます。実際自分も詳しい事は分かってないです...

さて、簡単な説明も終わったのでやりたい事を簡単な図に表してみます。

Dockerを使ってVOICEVOXのサーバーを立てると、そのサーバー君に適切にTextを与えると、音声ファイルを返してくれるようになります。

次にTwitterのタイムラインを取得します。twitterのタイムラインをプログラムから取得するにはAPIというものを使用するのですが、詳しい説明はなろう講習会に任せます。

認証情報とかをよしなにしてアクセストークン等を用意するとAPIを使えるようになります。ちなみにAPIを使用してデータをもってきたりすることを、ちまたではAPIを叩くと言われているみたいです。かっこいいですね。

APIを叩いて無事タイムラインがtwitterから送られてきたら、そこから文章データだけを取ってきてVOICEVOXサーバーに投げるだけです。これでTLから音声データを作製することができるようになりました。

さて無事音声データ(.wave)を作製することができたのであとは再生するだけです。もうすこしでやりたいことが実現できますね、とても楽しみです。

...が、サウンドカードの共有に阻まれ敗北...

普通音声データを再生する場合は該当ファイルをダブルクリックすれば大丈夫だとおもいますが、今回は少し事情が異なります。

Docker上で音声ファイルを出力していて、Docker上のプログラムから音声を鳴らそうとしているのです。その対処として、パソコン本体のサウンドカードを待機常態にし、そこに音声データを飛ばして流してもらうという方法があります。

そのためにPulseAudioというソフトを使用するのですが、困ったことに自分のwindows10環境だと上手く動いてくれませんでした。

PulseAudio

幸運なことに自分はmac環境を用意できたためmacで環境を構築することで動作するようになりました。windows環境は難しいですね...

あとがき

かわいらしい四国めたんちゃんの声で自分のTLが再生された時は感動を覚えました。これでTLをしゅぽしゅぽする生活から解放されるのかと思うとわくわくしました。

が、結局TLを読み上げてもらいながら音声化が追いついていない最新のツイートを目で追うようになってしまいました。さてはて、どうすればよいのやら...

お借りした素材

上記の「ゆっくりしていってね」画像は拾い画ですが元は↓のnicotalk&キャラ素材配付所だと思います。

nicotalk���L�����f�ޔz�z��
立ちめたん素材 / akihiyo さんのイラスト
四国めたんの足が短い立ち絵です。パスワードは metan でいけると思います。https://ux.getuploader.com/hiyohiyo25252/download/4
立ちずんだもん素材 / akihiyo さんのイラスト
声が可愛かったので描きました。ずんだもんの立ち絵セットです。パスワードは zunda で大丈夫だと思います。https://ux.getuploader.com/hiyohiyo25252/download/3
kamecha icon
この記事を書いた人
kamecha

全強志望の全弱 強強の人たちに囲まれるから自分も強くなるのでは?と勘違いした人です

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2022年4月7日
traPグラフィック班の活動紹介
annin icon annin
2022年4月5日
アーキテクチャとディレクトリ構造
mazrean icon mazrean
2022年3月29日
課題・レポートの作成、何使う?【新歓ブログリレー2022 21日目】
aya_se icon aya_se
2022年4月25日
部内ichigojamに参加した
Komichi icon Komichi
2022年4月19日
【入門】JUCEを使ってVSTプラグインを作ろう!!
kashiwade icon kashiwade
2022年3月27日
ReactでToDoリストを作る(後編)
mehm8128 icon mehm8128
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記