スピーカーを接続したラズベリー・コルタナ・パイ(仮)ですが。
ちょっとずつ喋るようになっています。
ちょっとずつというのは、ちょっとずつ学習しているワケではなくて、仕様上ちょっとずつしか喋れないからですが、それはどうでもイイのです。
Googleが文字数制限付きで無料でスピーチ機能を提供しているということですが、いちいちネット経由とか、制限とかアレですし。
コルタナはマイクロソフトだからGoogleはダメなんじゃないか?という変なこだわりもあるので使ってないのです。
それで、ローカルでなんとかなるOpen JTalkを使うことにしました。
基本は男性の声なのですが、音声のファイルをダウンロードすると女性の声にも出来たり。
ただし、色々パラメータを調節してもコルタナっぽい声にはなりません。
そして、恐らくソフトで使っている辞書に載ってないから、ということだと思いますが、英語はあまり得意ではないようです。
なので、英語の混ざったフレーズを喋らせようとすると英語部分はアルファベットで1文字ずつ読むのですが。
なぜかその時は全体的に声が震えているような。
気のせいなのか、どうなのか。
せっかく喋るようになったのですが、こっちの声を聞き取るためのマイクを付ける(USB的)余裕がないので、声で対話とかは出来たりはしないですけど。
(というか、Raspberry Pi Zeroだと音声を合成するのにけっこう時間がかかるので、マイクがあっても対話にははなりそうにない。)
あんまり喋ってばかりもうるさそうですし、いつどんな情報を喋ってもらうのか、考え中です。
<!-- そういえば、男性の声だったらDoomに登場するVEGAっぽいかも、とか思ってしまったのですが、それだとコルタナが乗っかってる意味がなくなるのに気付きました。-->
間に合うのかどうかは知りませんが、出来る限りのことはしているのです。
というか、日付が変わってもう23日とか。
その他のことも色々やってないままなので焦りますよね。
マズいと思っているのですが、全然やる気がないのですけど。
一応色々と考えて、しかも書き始めてもいるのですが。
これまで気付いていなかったのですが、ずっと家にいたりすると、アイディアって出てこないようです。
家にいるから、というよりは刺激がないって事なのかも知れませんけど。
とはいっても、今から外に出るワケにもいきませんし、絞り出してひねり出すしかないのですけど。
でもなぜか部屋の片付けだけは捗っているとか。
まいっちゃいます。
正解はこちら!
ということで、どの問題に対しての正解かは知りませんが極秘に、そして少しずつバラしながら進められていたラズパイで何かを企むやつはコレだったのです。
魔改造版コルタナ?
<!-- LEDを点灯させると股間に光が当たるのは元々の仕様なので、私のせいではありません。-->
何がどうなっているのか?というと、メインはコルタナよりも下の部分なのですが。
Raspberry Pi Zero にこれまで時々登場してきたディスプレイとかリモコンの送受信のとか。あとは湿温度計も付いているのです。
なぜか盛り沢山な感じなのですが、最初の計画ではせっかく光るのに光らせてないコルタナの台座部分のLEDをどうにかする、ということでもありました。
台座を調べてみると、電池から直接並列つなぎになってるだけの簡単構造だったので、ケーブルを取り替えたりする工作をしただけで、あとは基本的なRaspberry Piのエルチカだったのです。
でも、せっかくRaspberry Pi を使うのだから、ということで、どんどん機能が増えていってしまうのですけど。
今のところ全ての機能が調整中でもあるので、どうなるのか心配していて下さい。
<!-- というか、ディスプレイを固定するのに苦労した話を書くはずだったのが、すっかり忘れてました。それはまた今度。-->
あるいは出来ている事になっている。
ということで、圧縮チューブがなかなか届かないので、フライングでPythonのクラスに挑戦して、ラズパイにつないだ液晶に文字を表示してみたのですけど。
実行する度にエラーが出てたのですが、間違いがすぐに解るようなエラーだったので、一回ごとに直していったら上手くいきました。
ただ、液晶に文字を表示するサンプルのコードを強引にクラスにした感じなので、ホントにコレであっているのか?とか。
しかも自分で書いたのは「self.」を付け足したところだけ、といっても過言ではないのですけど。
とりあえずは、文字を表示したり、バックライトのオンオフしたりするコードが使い回せるということになったので、色々と液晶を活用出来るはずなのです。
<!-- 液晶に表示されている単語が間違っているような気もするのですが、どうでしょうか。-->
ということで、昨日書いた強く念じるホームですが。
ゴチャゴチャしている机の上を利用して、LEDの付いているブレッドボードを45度ぐらいに傾けて置いて使ってみたら、一発で照明が消えました!
というか、上手く動くようにするというのは、そういうことではない気もしますが。
でも結構部屋の端の方にある場所からちゃんと使えたということは、光量はそれなりということなのかも知れません。
とはいっても、コレだとLEDのが向いている方向の機械しか動かせないですし。
今の所LEDが2つ付いているので、それぞれに角度をつけたら2つの機械ぐらいは動かせるかも知れませんけど。
LED四つを四方向に向けるのが一番良さそうなのですが、これ以上LEDを増やすには回路を難しくしないといけないとかで。
もっと簡単に出来ると思ってたのですが、スマートホームにするためにはスマートにやらないとダメみたいです。
ということで、最近のラズパイなのですが。
というか、ラズパイで何かをしてることをここに書いていたか忘れてますが、何かをしているのです。
その中の一つにラズパイをリモコン送信機にして家電を操作しよう!というのがあるのです。
上手くいけば温度計モジュールとかと連携して、室温によって自動的にエアコンのスイッチが入ったり、時間で照明をオンオフしたり。
スマートホームが激安で出来てしまうのです。
それで、色々と調べて、家電のリモコンのコードをラズパイで読み取ったり、読み取ったものを送信するのに赤外線のLEDを点滅させたりすることは出来るようになったのです。
それって、もう完成じゃん!って感じなのですが、試しに照明を動かそうとしても、LEDが受光部まで届いてないのか、上手く動きません。
でも照明の方に向きを変えて何度かやると上手くいくのですが。
いちいち向きを調整しないといけないとか、全然スマートじゃないですし。
LEDの光を拡散させるキャップというのを試してみたのですが、今度は光が弱くなって向きを調整しても動かなくなりました。
なんか、これはテレビのリモコンが壊れた時に、ボタンを押しながら「つけー!」って念じている時みたいな状態だったりするのですが。
あんまり念じていると、私のサイキックな力が強化されて、念力で家電が動かせるようになったりするかも知れませんが。
それはないと思うので、ちゃんと動かす方法を考えないといけません。
この前のBlack-holicの開設記念日回で書くはずだったのに忘れてたので、ここで補足なのですが。
今回の「何時だか解らないCanvas時計」のために作った、JavaScriptを書くためのJavaScriptとか書いてたやつです。
「チヘソユフチホテ・ジェネレータ」に表示するドット絵的なカタカナを表示するための座標情報をコピペするためのものなのですが。
我ながら上手く行ったと思っているので、ここに書いておくのですけど。
最初は方眼紙のマスを塗りつぶしてやろうと思っていたのですが、「ア〜ン」までをそれでやるのは大変すぎるので、こうなっております。
上のマス目で表示したい点をクリックすると、下にその場所の対応した座標が表示されるという趣向になっております。
説明したところで他に使いみちはないですけど。
とにかく、JavaScriptも結構面白くなってきたので、「何時だか解らないCanvas時計」の後もちょっとなにかを企んでたりするのです。
<!-- 公開されることはないと思いますが、面白いのが出来たらまたここで紹介して自己満足に浸るのです。-->
<!-- 追記:読み返して気づいたのですが、「ア〜ン」というのはア〜ンって言ってみたいに思えますね。でも「ア」から「ン」までという意味ですよ。-->
というキーワードで検索したらもっと意味が解らないはずですが、さっきの続きなのです。
試しに別のブラウザで表示したら、上手く表示されてるのが解って、さらにワケが解らないという感じだったのですが。
メインのブラウザを再起動したら、こっちでも上手く行ったのです。
推測ですが、原因を考えてみたりしますけど。
テスト用の環境で使っているサイト全体用のCSSファイルがシンボリックリンクだったのですが、それの元ファイルがなくなっていたのです。ブラウザではキャッシュの方を使っていたのか、なぜかちゃんと表示されてたのです。
そこに今回のCSSファイルに変更を加えたら変になってたっぽいですが。
これを読んでもワケが解らないと思いますが「効かない なぜ」で検索するような人の参考になるかも知れませんし。
解らなくなったら何でも再起動が基本ということですね。
<!-- でも再起動の前に、なくなったら困るものがないか確認も忘れずに。-->
これで検索しても答えが解るとは思えないですが、せっかく上手く行ってると思ったのに、思わぬところで躓いているのです。
Little Mustapha's Black-holeの登場人物の紹介コーナーを変更してGlossaryにしたのは前回の模様替えだったと思いますが。
変えてから、個別の項目にリンクが出来なくて、一部からは改悪との意見もあった、という設定になっていたので、直したのです。
見かけでは、ちょっとの変更ですが、データベースの仕様を変えたりして、中身的には全とっかえなのですが。
それは上手く行ったのでどうでも良かったりするのですけど。
簡単なはずのCSSが変だったりして。
一番簡単な形式と思われる、タグ名にスタイルを適用とかで試してもダメですし。
こういう時は、単純なところで間違えているに違いないですし、そこに気づいた時にはモヤモヤしてしまうのですけど。
しかし、もうけっこうな時間悩んでますし、今回の単純な間違いはかなり難解な単純さかも知れないです。
ということで、Little Mustapha's Black-holeの開設記念日が近づいているので、トップページの模様替え作業が続いているのですが。
今年はまだプロ野球のシーズンが終わってなかったりするので、もうすぐ10月31日という実感が全く無いのです。
なので、ぼんやりとした感じで作業をしていて、多分出来てるけど、なんか違うような気もするという感じで良く解らないのですが。
多分、今夜の日付が変わってからではなくて、明日の更新になるでしょう。
<!-- それとは全く関係ないのですが、Google日本語入力はマニアックなワードとか最新のネタみたいなのには強いのですが、文脈から判断みたいな変換はやっぱりATOKが優れているようです。なので、最近書いた文章を読み直してみると、解りやすく誤変換しているのが多いです。-->
大変なことになりそうだった昨日の思いつきなのですが、JavaScriptを書くために書いたJavaScriptのおかげで大体できた感じになっているのです。
おかげで今回のCanvas時計はかなりバカげた事になっているのですが。
そして、その他の模様替え要素は全く進んでないという事もありますけど。
今回のアレはベータ版から公開ということになったりするかも知れません。
ヤバいので技術部ソコノこと曽古野貴美じゃないんじゃないか?ってことですが。
JavaScriptの季節なのに、すごく面倒なことを思いついてしまったのですが、JavaScript を書くためのJavaScript を書けば出来る!とか思って頑張って作ったら、それは出来たのですが。
果たしてコレをやるだけの価値があるのかは解らないですし、間に合わない気もしてきましたが。
せっかく書くためのJavaScriptを書いたので、使わないともったいないとかもありますし。
あと3日でなんとかなるのか?
まあ、ならなくてもどうということはないのですが。
私としては締切に追われて、なんとか間に合った方が達成感がありますから、そうしたいのです。