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.

関連記事

RaspberryPi

Raspberry Piを無線LANでも安定して使う方法

我が家では複数台のラズパイが無線LANで動作しています。今回は安定して無線LANで動作させるための方法を紹介します。

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

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

雨

RaspberryPiで天気予報を聞こう

平日って、毎朝同じ時間帯に同じことをしていますよね。食事したり服を着替えたり。 そんな時、ラズパイが今日の天気を教えてくれたら便利じゃないですか?

Arduinoで手軽に使える有機ELを買ってみた!イエロー&ブルーは要注意!

激安で人気な128×64の有機EL(OLED)を買ってみました!Arduinoで使えることはわかったのですが、注意点もあったので紹介しようと思います!

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

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

2019/03/11

METIS PLUSとASRock J4105-ITXで省電力・静音録画サーバを作る

録画サーバのリプレースとして、METIS PLUSとASRock J4105-ITXを使って自作サーバを構築したので紹介しようと思います。ちなみに自作PC初体験でした。

2019/03/11

Hario V60 Copperドリッパーでコーヒータイムを優雅にしよう

Hario V60カパーコーヒードリッパーを購入しましたが、ネットでも情報が少ないので記事にしようと思います。

2018/11/13

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

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

2018/11/12

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

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

2018/09/29

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

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