DeathMarch.net

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

RaspberryPi ガジェット

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

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

LINEで送る
Pocket

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

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

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

スポンサーリンク

 

実装方法

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

小説の下ごしらえ

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

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

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

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

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

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

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

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

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

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

 

朗読コマンドの作成

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

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

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

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

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.

関連記事

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

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

BME280

Arduinoでスマートな温湿度+気圧計を作ろう!

Arduinoで生活に役立つものを作りたい。ありきたりなものではなく、自作ならではのちょっとリッチなものですよね!

MacのFinderでFlashAirをマウントして快適に使う方法

MacでFlashAirを快適に使う方法を紹介します!Finderでファイルを簡単に扱えるようにできますよ!

ラジオ

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

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

本格的な夏を迎える前に自宅サーバの健康診断と掃除をしよう

本格的に暑い時期になります。年に一度の健康診断の意味も込めて自宅サーバを掃除しました。

2018/11/13

割れた食器を金継ぎDIYで復活させる方法

日本伝統の器の修復方法である金継ぎですが、本格的な漆を使った金継ぎは時間がかかるので気軽にチャレンジするには難しいと思います。そんな金継ぎですが、化学の力を使って出来るなんちゃって金継ぎに挑戦してみま …

2018/11/12

薪ストーブ1年目で揃えた道具を紹介

家を新築する際、薪ストーブのある家が理想だったので薪ストーブを導入しました!しかし道具はどこまで必要なんだろうか…そんな方も多いと思うので、今回は私が薪ストーブ1年目で揃えた道具を紹介します!

2018/09/29

シンプルで美しく実用的な山田照明 Z-LIGHTが素晴らしい!

シンプルで美しく、かつ実用的な山田照明 Z-LIGHTのおすすめポイントを紹介しようと思います!

2018/08/29

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

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

薪ラック完成形

2018/08/27

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

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