パコべーことパコリタ・ナラ・ズイルベー・Zero、あるいはRaspberry Pi Zeroで天気予報を読み上げるやつですけど。
データをダウンロードして、データから天気予報の文章を作成して読み上げるためのスクリプトはすでに出来上がっていましたが、そのあとがなんとなく面倒な気がしてなかなかやる気になってなかったりして。
さらに自動的に実行するためのcrontabの書き方は毎回忘れるので調べないといけなかったり。
読み上げの時に別のオーディオファイルを再生中だと問題なので、pythonで実行中のプロセスを調べる方法を調べたり。
さらに、pythonのモジュールをインストールしようとしたらpipなんてコマンドはないとか言われるし。
というか、これまでどうやってインストールしていたのか?という気もしますが。
ちなみに、プロセスを調べるために'psutil'というモジュールを使おうと思ったのですが、なんか違うかも知れないということで、'subprocess'で'ps'と'grep'などでアレコレしてやることにしました。
そんな感じで細かいことに時間がかかってやっと終わったのですけど。
成功すれば明日の朝起きた時に天気予報が読み上げられるはずです。
この部屋ではプラスチックっぽい製品はいつの間にかプラスチックではない何かに変わってしまうのだ!
ということでベースの弦を変えようとしたら例によってありえない壊れ方。

弦を支えるナットという部品が割れて一番細い弦のところが歯抜け状態。
(弦が変な場所にあるのは修理前だからなので関係ない。フレットのところが汚いのは写真を撮ってから気づいたので後できれいにするのです。)
こういうことになるのは明らかに部屋が暑すぎるから。というか暑過ぎるところに時々エアコンで急激に温度が下がったりするのも良くないかも知れませんけど。
この暑さが気候変動とか温暖化とかが原因ということなら、私もグレタちゃんぐらい怒ってみたくなりました。
でもこんなに夏が暑くなる前からこの部屋は暑かったので、そのせいで壊れたと思われるものは他にもあったりします。
なのでグレタちゃんほど怒らなくても良いかも知れませんけど。
この部屋が暑いのはなんとかならないのか?ということなのです。
ちなみに、壊れたところは代わりの部品を買って簡単に直ったと思いきや、高さが足りなくてかなり調整が必要だったりするので面倒なのです。
なのでやっぱりグレタちゃんぐらい怒りたくもなってきました。
パコベーことパコリタ・ナラ・ズイルベー・ZeroあるいはRaspberry Pi Zeroで天気予報を読み上げたい、計画の続きですが。
どうしてPythonだとこんなに時間がかかるのか?と思いながらやっとここまで来ました。
2024年8月31日の天気。曇り。北の風、風速7メートル、気圧 1007ヘクトパスカル、最高気温27.82度、最低気温27.26度。Thank you!
スクリプトを実行するとこういう文が出力される、ということです。
<!-- 今気づきましたが、気温はこんなに細かくなくてもよいですね。-->
最後の「Thank you!」はOpenJtalkが読めるかどうかというネタのために入れてあるので、完成品では消すことになりますが、ここで思わぬ展開。
最初マコベーこと、このMacのOpenJtalkでテストしてみたら「Thank you」の部分は全部アルファベットで読んだのですが、パコベーで同じ文を読み上げたら「you」だけは読めたのです。
さすが英語の先生という設定もあるパコベーです。
というのはアレで、たぶんインストールされている辞書がビミョーに違うということだと思います。
変なところに盛り上がってこの記事のタイトルと関係ないことになってますが、ウエザというのは知る人ぞ知るお天気キャスターですが。
スクリプトのファイル名をueza.pyにしたということなのです。
というか、英語が読めたり読めなかったりするほうが面白かったので、ウエザさんネタはどうでも良くなってしまいましたけど。
パコベーことパコリタ・ナラ・ズイルベー・ゼロ(あるいはRaspberry Pi Zeroで作ろうとしている何か)で使うスクリプトを作ろうとしているのですけど。
いつものパソコンである程度作ってからアップロードしてやるほうが良いということで、テキスト読み上げ用のOpen JTalkもこっちのMacにインストールしたものを使っているのです。
Open Jtalkの設定はRaspberry Pi Zeroのほうからコピーしたシェルスクリプトに書いてあるものなので、全く同じ設定になるはずなのですけど。
Macで作ったらパコベーの喋り方じゃないのです。
こんな感じだったっけ?と思って、試しに同じ文章をパコべーの方で書き出してみたり。
さらに同じスピーカーで再生するために、こっちのパソコンにコピーして両方再生してみたのですが、喋り方が全然違うとか。
パコベーの方はオットリした感じで、Macの方はちょっとキツめの喋り方に聞こえますけど。
なんだかコンピューターの中の何かが性格として反映されてるんじゃないか?とか思えてきて面白かったりします。
最近は喋らせてないですが、ナノベー(NanoPi NEO2)で使っていたOpen Jtalkは最初から違う人格という設定でOpen Jtalkの設定も変えてたりしてのですが、同じ設定でやるとどうなるのか?ということになってきました。
というか、試してから書けば良かったですが。これは大特集のネタになるかも知れないのでまだやらないのです。

ということで鼻眼鏡を買った記念でハンダ付けをしたので、やっとのことでブザーで遊ぶことができたのです。
意外とイイというのは鼻眼鏡ではなくてブザーの方ですけど。
Arduinoでやったらブザーを鳴らすための関数みたいなのがすでに用意されているみたいで、簡単に出来てしまいました。
周波数とかを変えて鳴らすとメロディーもいけるので、コルタナ団員の台座に組み込まれる予定なのです。
ということは何のメロディーを鳴らそうとしているのか?というのは解る人には解ると思います。
周波数と音の長さと、さらにそれなりに聴こえるようにするのに音と音の間に短いギャップを入れたりとか、全部文字で指定して書かないといけないので、「オーオーウォウォ♪」まででグッタリしてしまいましたけど。
ここからは根気よくやるのです。
(そろそろシーズン終盤ではありますが。)
ついでに書くと鼻眼鏡は意外と良くなかったのですが、それは別の機会に。
けど良く解らん。
ということですが、もっと簡単なのにすれば良かったと思い始めたTauriで作る第二弾。
なにが難しいかというと、やっぱり暗号化とかの部分ですけど。
今回はパスワードを扱うのでデータベースにそのままパスワードを保存してはいけない感じなのです。
それで、ずっとデータベースのファイルを暗号化する方法を探していたのですが、ありそうでない。
というより、ファイルを暗号化しても使うときには復号化して普通のファイルとして開くことになるし、そういう状態でアプリが落ちたりすると中身の見れるファイルが残ってしまうに違いないとか、そんなことを考えたら、こういうアプリってどうやって作るのか?とか解らなくなってきてたりして。
なので、ファイルじゃなくてデータベース内の文字を暗号化すれば良さそうとか思って、やり方を調べてたのですが。
実は、データベースにパスワードなどを記録するときには、そうやってやるのが一般的という感じみたいです。
やることが解ったので、さらに暗号化について調べてソルトとかハッシュとか「なるほど」と思ったりしているのですけど。
最終的に良く解らんですね。
<!-- 暗号化しなくて良ければもう完成している頃なのに。-->
この前の、Rustがちょっと解って喜んでいたTauriの第二弾の続きですけど。
Rustが解るようになったのに、ちょっとやらない間にJavaScriptを色々と忘れていて面倒なのです。
なんだか新しいことを覚えると、昔覚えたことが消されていくような気もしたりして。
しかも、新しいこともまだちゃんと覚えてないので、全体ではマイナスになってないか?ということでもありますが。
でも、忘れたと思っても、また使っているうちに思い出すし、新しいこともそのうちちゃんと使えるようになるに違いないということで、しっかりしたいと思います。
ちなみに、この第二弾で作っているパスワードマネージャ(仮)ですが、例によってテストボタン(2つも!)が設置されて、テスト用のパスワード情報が登録出来るようになっています。
次は、情報の更新ボタンと、削除ボタンになると思いますが、今回はテストボタンも贅沢に使っていこうと思っているのです。ということを報告する意味はないのですが、ちゃんとコードが書けているのかをテストボタンでテストするのがチョット面白いので書いてしまうのです。
そして、パスワードなので暗号化とかしないといけないはずなのですが、どうやればいいのやら。
ということで、昨日の続きでパコベーの天気予報機能を作っていこうと思ったのですが。
データのダウンロードは問題なく出来るので、英語の天気予報用語を日本語にする作業。
サイトにあったリストの上から順にやっていくと、最初は"Thunderstrom"グループということで。
これはなんとなく解る感じで辞書には「雷雨」となっていました。
ただし、この"Thunderstrom"グループの中には"Thunderstrom with rain"とか、ただの"Thunderstrom"とかがあったりするのです。
ということだと、そのまま訳していくと「雨の降らない雷雨」とか変な日本語になってしまうのですけど。
あるいは「雷雨」という言葉を使わずにただの「雷」としてしまうと、「今日の天気は雷です」という地獄みたいなことになりますし。
これはなかなか手ごわい感じがしてきました。
といっても、問題になりそうなのはこの"Thunderstrom"グループだけだったりしますけど。
こういうのは雷雨の種類とかを調べたら良いのでしょうか。そんなのがあるのか知りませんけど。
天気ネタついでに書くと、スゴい台風が来るってことで準備していたのですが、強風が吹いていたのはチョットだけでメインは雨って感じでしたが。
それでも、昨日は寝ている間もスマホの警報がなったり、雨の音で目が覚めたりで、アレなのですが。
まあ、用心はしたほうが良いので、コレで良いに違いない。
パコリタ・ナラ・ズイルベーとはRaspberry Pi Zeroで作ろうとしているデジタルアシスタントの名前であると同時に、スズキ・ピヨニカさんの通う学校の先生でもある、ということは知ってる人がいるのか知りませんが。
[参考:パコリタちゃん登場! ]
今度Raspberry Pi Zeroの方で天気予報をやってみようということになって、ネットから天気情報をダウンロード出来るサービスを使ってみたら、データの中身は英語だったりして。
パコリタ先生の専門は英語ということにもなっているのですが、実は日本語の中で使っても意味が解るような英単語しか知らないので、大慌てなのです。
<!-- ついでに書くと英語の先生としては「Z(ズィー)の発音にはこだわっているとかも。-->
という設定になっていますが、これからパコリタ先生のために55の天気用語を日本語にしないといけないようです。
ついでに、天気予報データに書いてあるコード(番号)を天気に変換するのにJSONファイルを作ってみたのですけど。
こういうデータベース的なものは最初にちゃんとしたものを作っていないと、後で修正するのが大変だったりするのでちゃんとやらないといけないのです。
でも、どういうふうにすればちゃんとなっているのか?というのは良く解らないので、ちゃんとしているとういことにして作業を続けるしかないのです。
ちょっと前に、定期的に検索したくなる「ラックマウント」というキーワードをアマゾンで検索したのですが。
なぜか検索結果が全然ラックマウントじゃない!とか思ったら「レックマウント」に勝手に修正されてました。
レックマウントというのは自転車にカメラとかをマウントするための器具のアレみたいですけど。
そっちの方が一般的ということでレックマウントに修正されてしまうのか。
ただ、どっちもそこそこマニアックなキーワードですし、私の検索の履歴からしても定期的に検索したくなるぐらいなので「ラックマウント」を優先して欲しいと思うのですけど。
こういう余計なことをされると物欲祭りも盛り上がりに欠けてしまいます。
といっても、最近はラックマウントが流行らないみたいなので、「ラックマウントで検索」みたいなのをクリックして結果を表示しても欲しいものはなかったですけど。
その前になんでラックマウントで検索なのか?というと、「私の考えた最強の音楽用パソコンデスク」ということで自作した机に置く棚のラックに設置する機材がないからなのですけど。
今のところちゃんと使えているラックマウントの機材はちょっと高級な電源タップ(形状からするとタップじゃないですが、そういう感じの機械)のみなので、もうちょっとラックを活用したいのです。
昔みたいにラックマウントのギターアンプシミュレータとかが流行ってくれるとウレシイのですけど。(今もいくつかあることはありますがプロ志向な感じなので買えません。)
ベースのチューニングってどこまで下げて良いのか?という感じだったのですけど。
7弦のギターを弾くようになって、一番低い音がベースの3弦と同じ高さのAになってるので、なんとなくベースの方も下げてみたくなったりして。
ベースは普通の弦が張ってあるのですが、7弦ギターの方に合わせて、弦一本分で4度下げとかにして、4弦だけ更に1音下げにして音を出してみたのです。
あまり激しく音が動かない感じの曲だったので、特に問題なく弾けたような気がするのですが。
ちゃんとやってるベーシストの人だったら変に思えるのか、どうなのか。
ホントは弦がユルすぎて弾くと指板に当たるとか、そういうことが起きると思ったらそうでもなかったですし。
もしかしてこれでいけるなら、もうちょっと試したいとか思ってしまいましたが。
というか、5弦ベースとか買えば良いのですけど。
楽器を置くスペースがだんだん無くなってきているので、迂闊に買うことは出来ないのです。
パコべーことパコリタ・ナラ・ズイルベー・Zeroはもともと「Cortana」と「Raspberry Pi Zero」のアルファベットを組み合わせて作った名前なので、Raspberry Pi の パイがPythonのパイに由来していることを考えるとこの記事のタイトルは間違いではないのです。
<!-- その前にパコリタ・ナラ・ズイルベー・Zeroって何だ?という人のために書いておくと、パコリタ・ナラ・ズイルベー・ZeroとはRaspberry Pi Zeroでデジタル・アシスタントを目指している何かのことです。-->
というのはどうでもイイのですが、パコべーで指定した時間に自動的に部屋の照明を消すようにしているのですが、たまに時間より前に手動で照明を消すことがあるのです。
その場合は自動的に消す機能はキャンセルされるはずなのですが、なぜかキャンセルされずに照明を消すというアナウンスと、リモコンの音がしたりして。
もっと色々と計画的に作っていたらこういう間違いはなくなるはずなのですけど。PythonはRaspberry Piのために使い始めた感じなので、とにかく動けば良いという感じのコードになっていることが多かったりするのです。
他の言語とそれほど違うことはないですし、Pythonもかなり融通のきく言語という感じがあるのですけど。
なぜか慣れない言語だと上手い書き方ができないというか。
無駄が多い感じになってたり。
しかも、スクリプトを置いてあるディレクトリの中身もかなりゴチャゴチャで、修正するのにかなり苦労しそうなのです。
実は新たなパコべー計画もあったりするので、このへんで色々と整理すべきかも知れないです。
<!-- でも、なぜかなかなか作業が始まらなかったりするパコべー計画でもありますが。-->
懐かしい♪
ということで、昔のサンプラーの使い方的なタイトルなのですが。
使われ方が昔と違ってきていますが、今でもサンプラーはあってDAWソフトにもそういう音源があったりするのです。
それで、今どきのサンプラーの機能を活用したいと思って昔のサンプリング音源のCDとかを見つけて再生してみたのです。
昔買ったYAMAHAのサンプリングした音を鳴らすだけみたいな小さなサンプラー(7年前に発掘されている)を買った時のオマケに付いてきたCDなのですが。
CDに収録されている音は、そのサンプラーで使うには豪華すぎるというか。
本体に記録できる容量が少ないので、ループ素材とかはあまり活用できないということで、実際に使われることは殆どなかったですが。
ただ、そのCDの音を聴いていると、これでクラブっぽいのが作れるに違いないと思って盛り上がっていたのが懐かしいのです。
それはともかく、とりあえず使えそうな音を色々とパソコンにコピーしておきましたけど、どこで使えるのかは謎です。
今どきのソフトサンプラーでイジったりしたら面白い音にはなると思うのですけど。
また変なものが作られるのだと思います。