MENU

RestHouse

音楽サイト「Little Mustapha's Black-hole」の音楽ブログということになっているはずです。

Recent Articles

Category

Monthly Archive

創作日誌 Vol.3

なんか数学だ

という感じで「何時なのかのJavaScript時計」を作っていたらいつもとは違う数学が出てきてしまって、もしかして今年の時計はお休みに、ということになるかと思ったのですが、検索したら解決策があったのでなんとかなりました。

いつものやつでも、円周上の座標とかを求めるのに数学っぽいのは出てくるのですが、そういうのは公式が解ればJavaScriptの書き方に置き換えるだけなので問題なしなのです。

それが、今回のやつは上手く動かすのに、こういう条件を満たしていないといけないという感じで、その条件というのの中に知らない単語が色々と出てきたりして。

知らないといっても、数学をちゃんと勉強してたら知ってたのだと思いますけど。
将来こんなふうに怪しいプログラミングをするようになるとか、高校生の時の私には全く想像できなかったですし。
いつ役立つか解らないので、勉強はできる時にしておかないといけないということでもあります。

それはともかく、詳しいことは解らないままですが、条件を満たす方法が解ってそのとおりに作ったら、本当に上手く動くようになったのですけど。
数学のこういうところはなんか面白いですよね。
(高校生の時の私は少しも面白いと思わなかったでしょうけど。)

算数が苦手です

好きなことと出来ることは違うということなのである。

ということで「何時なのかのJavaScript時計」(この名称は作っているもののヒントにもなっている?)ですけど。
思ったように動いてくれないと思ったら、それはそうだという感じで、算数的なところを間違えていました。

間違えているというよりも「これからこれを引いて2になったらこいうふうに動いて欲しい」と思っていることがあるので、他にも2になる可能性があるのに、そこは無視してしまうとか。

この説明は解りづらいと思いますが、数字は苦手なので全体を見ることができないとか、そういう感じです。


ついでに、どれくらい数字が苦手かということを書くと、4桁まで普通に読めるのですが、それ以上になると何万何千とかじゃなくて、電話番号みたいに左から一桁ずつ読んでしまうとか。

それだとヤバいと思って、最近はなるべくちゃんと読むようにしていますけど。

<!-- というか、金額とかを三桁ごとに区切るやつが、日本語の数え方と相性が悪いというのも問題だと思いますけど。-->

動くやつ

ということでJavaScriptの季節がやってきました。

今年は始めの方でちょっとだけTauriのJavaScriptを書いてましたが、その後はPythonばっかりで、しかもほぼ教科書を写していたような感じだったので、またJavaScriptは忘れかけているのですけど。

それでも去年はかなり書いていたので、あまりネットに頼らずに書けているのです。

なので、始めたばかりでもかなり書けたのですが、ここまで来てやり方が間違っている気がしてきて、結局やり直しじゃないか?とか。

いつものように動く要素が多いので、ちゃんと考えてから書き始めないと混乱してワケが解らなくなるのです。
というか、今回の場合はもっと単純に考えた方が正解だったということでもありますけど。

やっぱり常にやっていないと上手くいかないようです。

ちなみに、今回はまだCanvasを使っていないので、また呼び方が変わるアレでもあるのですが。

最初は「何時だか解らないFlash時計」だったのが「何時だか解らないCanvas時計」になって、今回は「何時だか解らない」の概念も少し違っているアートという名の手抜きとも言われていますが。

頑張りたいと思います。

でたっちゃ

材料を買いに行ったのが8月中旬ということなので、制作期間は二ヶ月となってしまうかどうかは知りませんが、第二段階で止まっていてちょっと前に先に進んだヤツがついに完成!

「悪魔デバイス・デタッチド!」である。
241011_01.jpg

続きを読む: でたっちゃ

涼しことは素晴らしいこと

ということで8月の中旬に、そろそろ始めないと、と思って材料を買いに行ったりしたものを、先月の終わりになってやっと第二段階まで進めて、先週末にやっと続きが始まったりした何か。

暑いとちょっとした作業でもすぐ疲れるので全くやる気にならないし、汗をかくので濡れてはいけないものを扱えない感じで何も出来ないということでもありましたけど。

涼しいので色々と出来るのは良いことなのです。
ただ、作業が捗るのと上手くいくかどうかというのは別問題ですので、今回の作業は「良い教訓になった」という感じです。

それから、涼しくても天気が悪いので、塗装関係の作業が全然できなくて困りますけど。

何をやっているのか?ということはまだアレですが。
前回の途中経過の写真で解った人はRestHouseの達人!

メタライズ

今日は50円玉を自作していたワケではないのです。
240928_01.jpg
あのアレが新たなステージへ!
240928_02.jpg
というネタを作っていたのですが。

夏の間は作業をしたらずっと汗が滴りおちて素材(特に木材)がグダグダになるに違いないので、やっと始められたということでもあります。

でも天気が悪いので作業台を外に出しての作業は出来ないとかも。
またガレージが欲しくなる季節です。

更新はされたべー

ということで、まだまともに天気予報をしてくれないパコベーあるいはRaspberry Pi Zeroのあれですが。
今日は最初に読み上げる日付も今日の日付でしたし、やっと成功かと思ったら「この天気は理解できません」が出てしまったのです。

これは何かというと、ダウンロードするデータが3時間毎の予報なので、三回分で9時間後までの予報をまとめて今日の予報ということにしているのです。
それで三回分の天気が全部「晴れ」なら「晴れ」で途中で変わったら「晴れのち曇り」とかそういう組み合わせを全パターン作って文章にするはずになっていたのです。
でもなにかあるかも知れないということで、それ以外のパターンがあった時のために「この天気は理解できません」を用意しておいたらいきなり出てきたということなのですが。

良く調べてみたら一回目から三回目までが全部違うというパターンを書き忘れていたのです。

ここはPythonだからという言い訳も出来ない感じで、完全なミスでしたけど。
でも「この天気は理解できません」を用意してあったおかげで間違いにすぐ気付けたので、ダメだけどまあまあということにしておきます。

というか、手動で実行するのではなくて、自動的にやるのでエラーがあった時の通知方法は色々とあったほうが良いということでもあったり。
その辺では、これまで上手くいっていることも見直しが必要なのもあるかも知れないのです。

マタベー

今日は雨が降りそうなのに、パコベーことRaspberry Pi Zeroで再生される天気予報は昨日と同じような。
というか、良く考えたら今日は25日なのに24日って言ってたような気もしたし。

ということで、昨日に続いて今日もパコベーの天気予報は失敗。

昨日はウッカリしていてスクリプトを書き換えたのを忘れていたのが原因だったので、そういうことがないように専用のスクリプトでやるようにしたのですけど。
今日は普通にPythonのエラーで天気予報の音声が保存できていなかったようです。

調べてみたら基本的な間違いではあったのですが、PerlやJavaScriptでは普通に書けそうなforループなのに、なぜかPythonでやると変なことになるというやつでした。

forループでrange関数を使うというのもいつも使っている言語では出てこないので、Pythonでやっているとその発想すら出てこなくて、変に複雑なforループになってたりしたのですけど。
この辺はなかなか慣れないのです。

<!-- 慣れたと思ったところで他の言語を使う機会が出てきたりして、そこでまたややこしいことになりますし。-->

そんな感じですが、明日はちゃんと天気予報が聞けると良いと思っています。

うっかりパコベー

というかウッカリしていたのは私なのですが。

パコベーことパコリタ・ナラ・ズイルベー・ZeroあるいはRaspberry Pi Zeroが毎朝天気予報を読み上げてくれるはずだったのですが、今朝は雨ではないのが外の明るさで解っていたのに、読み上げた天気予報によると「小雨」ということでした。

早くも人間に対して反乱を始めたのかと思ってしまいますが、まだパコベーはAIではないので反乱は起こさないはず。
なので調べてみたらスクリプトを確認用に書き換えていたので、音声ファイルが保存できてなくて、前に保存した天気予報が再生されていたということでした。

本当は天気予報の音声を作成するスクリプトはモジュールっぽいことにして、別のスクリプトから関数を呼び出して使う予定だったのですけど、なんとなく新しいスクリプトを作るのが面倒で本体だけでやろうとしたのが良くなかったということです。


そして、天気予報を読み上げるようにしたこととは関係ないと思いますが、急に涼しくなって夜風が気持ち良いという事になってますけど。

急に涼しいとなんとなく物足りないというか、あの暑さが懐かしいような気分になってしまいます。
でもまた暑い日があったりすると腹が立ってきたりするのですけど。

涼しくなったので、材料とか道具だけ買って何もしてなかったことを始める気にもなるので良いことではあるのです。

遠隔パコべー

パコべーことRaspberry Pi Zeroのアレにで色々やるついでに、インストールしているlighttpdというWebサーバをアップデートしたら例によってブラウザからアクセスできない状態になってました。

サーバ自体が起動できてない状態だったのですが、ログとかを見ても「起動できませんでした」みたいなことしか書いてなくて原因を調べるのが大変でしたけど。

バージョンが上がって設定ファイルの書き方が変わったのが原因っぽかったです。

今まではlighttpd.confにcgiのモジュールを読み込む設定とかを書いていたのですが、lighttpd-enable-mod というコマンドを使ってやるようになったみたいです。

気づくまでかなり遠回りしたのですが、慣れていれば起動できないのは設定ファイルのせいというのは見当がつくということなのか、どうなのか。

というか、こういう大きな仕様の変更はアップデートの時に教えてくれるとか、そういうのがあれば良いですけどね。

そんな感じなので、パコべーのホームページにも天気予報を表示するとか、そういう計画は進まなかったのです。

やっぱり時間がかかった

パコべーことパコリタ・ナラ・ズイルベー・Zero、あるいはRaspberry Pi Zeroで天気予報を読み上げるやつですけど。

データをダウンロードして、データから天気予報の文章を作成して読み上げるためのスクリプトはすでに出来上がっていましたが、そのあとがなんとなく面倒な気がしてなかなかやる気になってなかったりして。

さらに自動的に実行するためのcrontabの書き方は毎回忘れるので調べないといけなかったり。
読み上げの時に別のオーディオファイルを再生中だと問題なので、pythonで実行中のプロセスを調べる方法を調べたり。

さらに、pythonのモジュールをインストールしようとしたらpipなんてコマンドはないとか言われるし。
というか、これまでどうやってインストールしていたのか?という気もしますが。

ちなみに、プロセスを調べるために'psutil'というモジュールを使おうと思ったのですが、なんか違うかも知れないということで、'subprocess'で'ps'と'grep'などでアレコレしてやることにしました。

そんな感じで細かいことに時間がかかってやっと終わったのですけど。

成功すれば明日の朝起きた時に天気予報が読み上げられるはずです。

グレたくなる

この部屋ではプラスチックっぽい製品はいつの間にかプラスチックではない何かに変わってしまうのだ!

ということでベースの弦を変えようとしたら例によってありえない壊れ方。
240912_01.jpg
弦を支えるナットという部品が割れて一番細い弦のところが歯抜け状態。
(弦が変な場所にあるのは修理前だからなので関係ない。フレットのところが汚いのは写真を撮ってから気づいたので後できれいにするのです。)

こういうことになるのは明らかに部屋が暑すぎるから。というか暑過ぎるところに時々エアコンで急激に温度が下がったりするのも良くないかも知れませんけど。

この暑さが気候変動とか温暖化とかが原因ということなら、私もグレタちゃんぐらい怒ってみたくなりました。

でもこんなに夏が暑くなる前からこの部屋は暑かったので、そのせいで壊れたと思われるものは他にもあったりします。
なのでグレタちゃんほど怒らなくても良いかも知れませんけど。
この部屋が暑いのはなんとかならないのか?ということなのです。

ちなみに、壊れたところは代わりの部品を買って簡単に直ったと思いきや、高さが足りなくてかなり調整が必要だったりするので面倒なのです。

なのでやっぱりグレタちゃんぐらい怒りたくもなってきました。

ウエザさん

パコベーことパコリタ・ナラ・ズイルベー・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にしたということなのです。

というか、英語が読めたり読めなかったりするほうが面白かったので、ウエザさんネタはどうでも良くなってしまいましたけど。