DeathMarch.net

カメラや写真、RaspberryPiやLinux関連の活用方法、普段使っているモノのレビューや自作したものを写真多めで紹介します。

RaspberryPi ガジェット

RaspberryPiに小説を朗読してもらう(実装編)

投稿日:2017年5月5日 更新日:

LINEで送る
Pocket

ラズパイでできること…RaspberryPiに小説を朗読してもらうことにしよう!
今回は機能実装をします!

前回、構想編ということだったので、今回は実装編になります。

RaspberryPiに小説を朗読してもらう(構想編)
有名な小説は学生時代に読んでおけばよかったな…でも今さら読む時間もあまり取れないしな…そもそも本を買わないといけないし…今回、そんなモチベーションから始まった思...

スポンサーリンク

 

実装方法

それでは実装します。
まずは小説の下ごしらえをしましょう。

小説の下ごしらえ

青空文庫から好きな小説をテキスト形式でダウンロードします。(青空文庫のリンク)

テキストファイルをテキストエディタで開きます。テキストエディタは正規表現が扱えるものにした方が良いです。私の環境はMacなのでmiを使用しています。

消さなければならないのは、《○○》や[○○]といったもので囲まれています。

正規表現で置換していきます。正規表現で《○○》や[○○]を検索し、置換文字を何も指定しなければ削除したことになります。
例として「《○○》」を検索する正規表現は以下の通りです。(エディタによって異なる場合があります)

正規表現:《[^》]+》

これで不要な記号が削除されました。まだ他にも残っている場合は、正規表現を変えて削除して下さい。

次に句点で改行となるように整えます。

まず、改行コードを全て削除します。こちらも正規表現を使います。
改行コードは「¥r」や「¥n」で検索できると思います。
…これで、小説の全文が1行になります。

次に、句点を「句点+改行コード」となるように置換します。
…これで、テキスト全てが句点直後に改行された文章になっていると思います。

最後に、下ごしらえしたテキストファイルをUTF-8で保存します。(SJISファイルだとOpenJTalkで読めません)

 

朗読コマンドの作成

小説は句点毎に改行されているテキストファイルです。

OpenJTalkの引数として渡したファイルを開き、先頭から1行ずつ読み込んで喋る…ということをファイルの最終行まで繰り返せば良いのです。

シェルスクリプトで実装します。

jsayコマンドについては、こちらの記事を参考にして下さい。

ラズパイにOpenJTalkを入れて喋ってもらうまでの手順
RaspberryPi 3にOpenJTalkのソースをコンパイルしてインストールしました。アイデア次第でなんでも喋ってくれます。 インストール方法(ソースから)aptでインスト...

朗読コマンドに実行権限を与え、下記コマンドで実行できます。

$ ./roudoku.sh bocchan.txt

引数に渡しているbocchan.txtは、小説のテキストファイルですので、下ごしらえで作ったファイル名を指定して下さい。

見ての通り、エラー処理や便利機能は一切実装していないため、必要に応じて追加実装する必要があります。

 

まとめ

どうでしょう?ひたすら朗読をしていると思います。(笑)

お分かりだと思いますが、再開機能はありません。シェルを止めるにはCtrl+Cで止めて下さい。

スクリプトをちょっと改造すれば、指定行からの再開なども簡単に実装できると思います。

次は何を作ろうかなー!

スポンサーリンク
LINEで送る
Pocket

-RaspberryPi, ガジェット
-,

執筆者:


  1. […] Previous PostPrevious RaspberryPiに小説を朗読してもらう(実装編)Next PostNext 香川(うどん県)の「もり家」に行ってきた […]

comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

関連記事

ラズパイで朗読

RaspberryPiに小説を朗読してもらう(構想編)

有名な小説は学生時代に読んでおけばよかったな…でも今さら読む時間もあまり取れないしな…そもそも本を買わないといけないし…今回、そんなモチベーションから始まった思いつきです。

ラズパイでニュース読み上げ

RaspberryPiでニュースを読み上げる

ラズパイで何か便利なものを作れないか…と考えた結果、毎日定時に最新のニュースを読み上げてもらっています。

ラジオ

RaspberryPiでコミュニティラジオを聴こう

コミュニティラジオって知っていますか? 日本各地には、小さなコミュニティラジオ局がたくさん存在します。 じゃあ、ラズパイでコミュニティラジオを聴いてみよう!

超便利なGoogle Homeが我が家にやってきた!

最近話題のAIスピーカー、Google Home Miniを購入しました!超便利だし可愛いのでレビューしてみようと思います!

最新スマートウォッチにも負けない!チープカシオのデータバンク!

最近はスマートウォッチが流行っていますが、まだまだ欠点も多い。CASIOのデータバンクは次元が違う!今回はデータバンクを紹介します!

2018/08/29

コーヒー好きなら絶対に後悔しない!カリタ ナイスカットGを紹介します!

ゆっくりコーヒーを楽しみたい人、忙しくても美味しいコーヒーが飲みたい人、気分によって色んなコーヒーを飲みたい人、すべての人にオススメできるカリタ ナイスカットG(NiceCutG)を紹介しようと思いま …

薪ラック完成形

2018/08/27

DIYで薪ラックを自作しよう!2×4材で簡単に作る方法を紹介します!

薪ストーブやキャンプでは必ず薪が必要になりますよね。特に薪ストーブユーザにとって薪集めは楽しみでもあり悩みでもあるはず。 今回は2×4材を使ったシンプルな薪ラックの作り方を紹介しようと思います!

2018/06/17

Synology DS218playで快適生活を手に入れた!

ファイルサーバのリプレースとして高機能NASを導入しました!快適すぎてたまらないので紹介しようと思います!

2018/06/04

無垢板でおしゃれな時計を安く自作する方法

無垢板でおしゃれな壁掛け時計をずっと探していたのですが、どれもシンプルなくせに高い!だったらDIYで作ってしまおうという話です。

2018/05/28

伝説のタムキューF017を購入!本当にトロトロで美しい!

先日、伝説と言われているTAMRONの90mmマクロレンズ F017を購入しました。レンズの所有欲も満たされ、写る映像もトロトロで本当に美しくて楽しいレンズです。