こんにちはマイコン制御

May FORTH be with you.

Keep it simple, Stupid!

C言語の検定は受かっていたそうです。

先生が教えてくれました。
合格したこの級だと500行位のプログラムを組む実力相当らしいのですが、今作っているライブラリが全部でその位になりそうなので、だいたい合ってるっていうか。
ライブラリのコーディングはシルバーウィークにまとめてやろうと思って、仕様の詰めばっかりやっていたんですが、何をしたいのかを突き詰めていくと(ある意味当たり前なんですが)簡単な四則演算とデータのコピーと条件分岐だけになってきて、これならアセンブラでもいいんじゃね?というところまで(意識の上では)来てしまいました。
だからといってアセンブラでやる必要は無いし、現在その技量も無いんですが、ライブラリ越しにやろうとすると却って面倒くさくなることが見えてきてしまって、今の状況に至るには間違いなくmbedによる敷居の低さがあったので、こんな気持ちにこんなに早くなるなんて自分でもびっくりっていうか。
音についてコンピュータにやらせたいことについてずーっと考えていくと、最終的にはいくつかの数式とCPUのペリフェラルに行き着くんだなあ、と思いました。データとしての側面だけ見ると音ってシンプルな構造ですよね。ただその情報量と人に与える影響の大きさを考えると畏怖の念にかられます。

シンプルさの重要性について。

コンピューターで音楽を作る時とかプログラムを書く時とかにCPUの性能の進化というものについては非常に恩恵に与っていますが、ソフトウェア的にはどうなんだろうか。ライブラリと言語の仕様がリッチになればなるほど敷居は低くなっているはずなんだけど、行き着く先がギガバイト級の開発環境というのは何か違うような気がします。
自分がずーっとトラッカー系使っているってのもあるかもしれません。RenoiseはステキだけどOctaMedSoundStudioも同じようにステキだった。MIDIデータではなく、もっとプリミティブな音楽のデータに触れているような感覚。www.renoise.com
自分が扱う楽器、道具、については熟知しておくべきなんだけど、いわゆるDTM的な意味でなく、カール・ストーンを始めとした先達たちが方法論としてパーソナル・コンピューターを選んだ、その先にあるのは、CPUをよく知る、という深化だったんじゃないのでしょうか。なんかovalの態度に対してはなんか前から違和感はあったのよな。あの人は音楽作るの目的じゃないけど。
まあ、ホントのところは、Forth周りで以前読んだ資料をまた読んでいて、flat assemblerを知って興味を持ったってことなんですが。いやあ、吐き出されるWindowsのexeファイルが小さい。っていうかWindowsプログラムを書きやすそう。
このシンプルさは、なんかプログラムにおけるサティとかアルヴォ・ペルトのような。デモコーダーの人とかはこんなんでガリガリ書いてんですかね。少なくともForth界隈ではrevaとかFreeForthはfasmで書かれているようです。
もう一度これにチャレンジしたくなってきました。kindle版も出たみたいだし。

熱血!アセンブラ入門

熱血!アセンブラ入門

熱血! アセンブラ入門

熱血! アセンブラ入門

予定より早くFPGAやるかも

職業訓練所で先生にFPGAについて色々質問して、生意気に情報交換などもさせて頂いていたんですが、今日、学校に機材持ち込んで勝手に勉強して良い、という許可を頂いてしまったので、思っていたより早くpapilioを買おうかと。でもなあ、虻蜂取らずにならないために、もうちょっとC言語やってからにするべきかなあ。ただ考えていたよりもはるかに早く勉強の日々が進んでしまうので、並行して進めるべきなのかもしれません。akizukidenshi.com
一応、"Speak&Spell2000"ではサウンドエンジンの次にVMをCで書いてみる予定ですが、VerilogHDLとかでVM書いたらワクワクするだろうなあ。逆にCで書いたサウンドエンジンをVerilogHDLで書くのは大変かしら。
プロペラチップの仕様も今オープンソースになっているのでFPGA上でプロペラプログラムするのも楽しいかも知れない。
まあ、妄想している時が一番楽しいというヤツで。