SVX日記
2006-07-01(Sat) クルクルイッペイ
最近、思う存分に更新をサボっているが、実はちょっと作曲という創造にハマっていたりする。5月末に作曲のためのツールを作り始め、6月の頭に使える状態になってしまったが最後、もう、コンポージングにまっしぐら状態なのである。
今まで、ほとんど音楽になんぞ興味なかったのだが、一般世間で「趣味」として確立されているものというのは、どれもそこそこの奥の深さを持っているものだ。「プログラミング」「カメラ」「電子工作」「演奏」……どれも、その世界のルールというものがあり、それを理解していくコトは最高に楽しい。
ちなみに、上述の自作作曲ツールは「極めてオレ用」なので、たぶんオイラ以外の誰にも使われるコトはないと思うが「頭の中に浮かんだフレーズを記録する」という意味では、かなりスキのない便利なツールだと自負している(ただし強烈にエンジニア用だが)。公開するつもりはあるが、そのためにはもう少しブラッシュアップしたく、しかしブラッシュアップするヒマがあったら、次のフレーズを打ち込みたいという、オレ的にはかなりの好循環状態なので、もう少し先になりそうである……と、音楽ネタはこれくらいにして。
先日ちょっと書いたが、ウチには生まれて約半年のガキがいるのだが、こいつがまた面白いのだ。夜中に寝ている時にかなり移動&回転するのである。起きている時にうつ伏せにしておいても、数センチしか進まないくせに、夜に寝かせて一晩経つと360度回転しながら布団からハミ出て、タタミの上で寝ていたりする。
このカメラを使うのである。この007デジカメには「Surveillance Mode(監視モード)」という機能がついていて、1分から90分間隔でインターバル撮影ができるのであるッ!! イザ……
……写りません。そりゃ、そうか……いくら自動露出とはいえ、常夜灯だけの寝室でマトモに写真を撮るには、長時間露出が必要だ。このデジカメはオモチャレベルであるから、そんなコマかい設定ができるわけもない。残念。
じゃ、ウチの主力デジカメを登場させるしかない。で、長時間露光だ。いくらイッペイが夜中に回転するからといって高速回転するワケではないので、感度を800にし露光時間を8秒間に設定すれば、どうにか写るだろう……
……ギリギリだが、写る。しかし、ウチのCaprioG4wideにはDCアダプタが接続できない……試しに電池を満充電してインターバル撮影を開始してみたが、電池は1時間も持たなかった。ダメじゃん!! まさに、アチラが立てばコチラが立たず!!
2006-07-15(Sat) プチLinuxBox構築計画
コレだ。ファンレス動作のx86互換機……とはいえ、キーボードもディスプレイもつながらないので、IBM/PCとは言えない。いわゆる無線ルータ用のプラットフォーム。平たくいえばLinuxを動かしてルータを作るためのベースボードである。
実際に無線LANルータにするためには、本体上のminiPCIスロットにカードを実装する必要があるが、現状ではそんなコトするつもりはない。単に、家のサーバをコレにリプレースしてしまおうと思っているのである。電源はACアダプタで完全ファンレス、消費電力10W以下、しかもLANのI/Fが3つもあるッ!! 3つあればDMZが構築できるアルよッ!! こんなボードが欲しかったアルッ!!
そしてなんといってもオイラの心をくすぐるのが、この赤い筐体……なんというオレ好みッ!! しかも、この筐体とボード、送料まで合わせても2万円を超えないッ!! 安いッ!! 起動にはコンパクトフラッシュが必要だが、そんなの手持ちのゴミを流用すりゃいい。うっはーッ!!
しかし、早速、動かしてみようとしたトコロでハタと困った。こいつにはディスプレイがつながらない。いわゆるシリアルコンソールをくっつけなければ、動作してるコトすら確認できないし、操作するコトもできない……まずはマニュアルを読もう……
……うーむ、英語だが、なにしろ、電源をつなげよ、「null modem cable」でシリアルコンソールにつなげよ、「1:1 connected serial cable」でつなぐと壊れるぞ、通信パラメータは「38400 8N1」だぜ、あとコンパクトフラッシュはホットプラグじゃねーから電源オフの時に挿せよ……てなトコか。
で、なんとなく想像は付くんだけど「null modem cable」ってなに? 調べると予想通り「クロスケーブル」のコトだった。そんなの手元にないよ。作るか? でも、9ピンメスコネクタの部品は10数個もあるけど、オスは基板装着用が1個しかない……えーい!! もう使わないだろうコレをバラすか!? バラした!! RXとTXを引っくり返してハンダ付けした!! 挿そうとした!! 挿さらんッ!!
2006-07-16(Sun) GRUBオンステージ2!!
昨日の作業の続き。コンパクトフラッシュにLinux環境を構築するには、コンパクトフラッシュに非常に低いレベルでの書き込みを行う必要があり、そのためにはLinuxの母艦が必要となる。愛用のPCにはcoLinuxが入っているが、リアルなLinuxは入っていない……というか、入れるとTERATERMやOperaが使えなくなるので作業が滞る。そんな時はこのジャンクPCの出番である……
……んが、このPCはRHEL4のインストールディスクで起動しやしねぇ!! なんでこう、素直に物事が進まねぇかなぁ……確認すると、RHEL4のCDにはi686バイナリのカーネルパッケージしか含まれてない。そうですか、i586は切り捨てですか。いや、いまだにMMX-Pentiumなんて使ってるオイラがどうかしてるんで、別にいいんですけどね。そういうメインストリーム以外の部分をある程度は切り捨てることによって、RedHatという会社は収益を上げているわけだし……な〜んてコトを時々サポートで答えているような……。
PC Engines WRAP.1C/1D/1E v1.11
640 KB Base Memory
130048 KB Extended Memory
01F0 Master 848A Hitachi CV 7.2.2
Phys C/H/S 246/2/32 Log C/H/S 246/2/32
GRUB Loading stage2.......
GRUB Loading stage2.......
serial --unit=0 --speed=34800
terminal serial
GRUB Loading stage2.......
GRUB Loading stage2.......
2006-07-17(Mon) GRUBの真髄へ
ウンともスンとも動かないまま、連休最終日へ。今日を逃すと、まとまった時間が取れない。ここで一旦、方向性を変え、既存のコンパクトフラッシュ用ディストリビューションを「とりあえず」使ってみるコトにした。ポンと放り込んで使いたいのでiso形式が用意されているものがいい……コレだ「pyramid linux」ってヤツ。コレがいい。ddコマンドでベッタリとコンパクトフラッシュに書き出して、差し込んで起動……
PC Engines WRAP.1C/1D/1E v1.11
640 KB Base Memory
130048 KB Extended Memory
01F0 Master 848A LEXAR ATA_FLASH
Phys C/H/S 1008/4/32 Log C/H/S 1008/4/32
GRUB Loading stage1.5.
GRUB loading, please wait...
cbcba! ユ翕FCc茶篥覇篤篤篤篤篤篤篤篤篤篤篤篤篤篤篤篤篤……
Booting 'Metrix'
root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
kernel /boot/vmlinuz-2.6.16-metrix root=/dev/hda1 console=ttyS0,19200n8
[Linux-bzImage, setup=0x1200, size=0x105916]
Linux version 2.6.16-metrix (root@hagbard) (gcc version 3.4.5 20050809 (prerelease) (Ubuntu 3.4.4-6ubuntu8.1)) #2 Wed Mar 22 15:
しかし、コレで「よかった!!」とはならないのである!! なにせ、オイラは是が非でもRHELを動かしたいのだ。8MBの環境でRHELを動かすなんてのは、ほぼディストリビューションをイチから構築するに近い作業なのだが、オイラは正真正銘の「Linuxのプロ」なんだからそんなコト当然のようにできなくてはならない。むしろ、すでにこんなに長い間「動かねぇ!!」と悩んでいるのが恥ずかしいくらいである。
気を取り直して考える。自分で作業した場合と圧倒的に違うのは、grubのオープニングメッセージだ。「pyramid linux」だと「GRUB Loading stage1.5.」なのに、オイラがやると「GRUB Loading stage2.......」いったいどっちが正しいんだ!!
……とかゴチャゴチャ作業しているウチに、コンパクトフラッシュのブートセクタでなく、誤って母艦のブートセクタをイジってしまったためか、母艦のFedoraが上がらなくなってしまった……どーしてまーこーも回り道だらけになるかなぁ……手元には「このPCでは起動しない」RHEL4のインストールディスクしかないぞ。レスキューモードが使えねぇじゃねぇじゃねぇじゃねぇかよ。個人的に焼いたKNOPPIXも職場に持っていっちまっているし……しかたない、CentOSの3でも落として、それをインストールしてみるか……小休止。
GRUB Loading stage2.......
……根本的にgrubについて勉強する必要がありそうだ。ちゅーか、このgrub-installスクリプトって、中でナニやってんだ!? 詳しく知らないのもシャクなのでソース持ってきてイチから勉強するか……
……うーむ、深いッ!! grubのソースを読んだら、まるで人間の赤ん坊が母親の胎内で数ヶ月で魚類から人間まで成長するかのような、そんな感覚を覚えたぞ。ブートプロセスの序盤は、PCが8bitの頃とあまり変わらないんだねぇ……以下、それも含め、判明したことをひたすら箇条書きにしてみよう。
・ハードディスクを最も低いレベルで読み書きする際は、CHSで場所を指定して512バイトずつ読み書きする
・CHSはシリンダ、ヘッド、セクタ(Cylinder/Head/Sector)のコトを意味している
・CHS指定だとハードディスクを「裏面の内側から5番目の……」みたいに物理指定するので無駄が多く、最大504Mしか扱えない
・504Mでは足りないので、ハードディスク側でウソのCHS指定を可能にすることにした(255Headとかを受け付け、HDD側で変換)
・そしたら7.9GBまで使えるようになったけど、これもすぐ足りなくなったので、LBAという指定方法が導入された
・LBA指定は単純に先頭からの絶対位置指定なので、CHS指定のように無駄なビットは発生しない
・LBAが28bitだと128GBまで扱える、最近はこれが48bitに拡張され、これはBigDrive対応と呼称されている
・CHSにしてもLBAにしても、ハードディスクでもフロッピーでも、イチバン先頭の512バイトは特別である
・イチバン先頭の512バイトにはブート情報などが書き込まれている、いわゆるMBRというヤツである
・だが、ハードディスクの場合、この512バイトの後半16x4+2バイトは、領域情報となっている
・領域情報とはいわゆるパーティションテーブルのコトで、16x4の4は基本領域の最大数を示している
・最後の2バイトは"0x55AA"という固定値が書き込まれている、これ以外が書いてあると領域情報は無効と判断される
・grubのステージ1は、基本的にこのMBRに書き込まれるべき512バイトのプログラムである
・しかし「dd if=/boot/grub/stage1 of=/dev/hda bs=512 count=1」とやってはダメである
・/boot/grub/stage1の後半16x4+2バイトにはフロッピー用のブートプログラムが入っているためだ
・上記のコマンドを実行すると、ハードディスクの領域情報が書きつぶされてしまう
・ほんじゃ「dd if=/boot/grub/stage1 of=/dev/hda bs=446 count=1」ならいいのか?
・実はstage1の一部には、次に読むべきセクタが「埋め込まれている」ので、そのままddしてもやっぱりダメ
・では、次に読むべきセクタ(一般にはイチバン先頭の512バイトの直後)には何が書いてあるべきなのか?
・これは、grubのステージ1.5もしくはステージ2が書いてあるべきである
・ステージ1.5とステージ2のどっちが書いてあるべきなのか?
・都合でステージ2をファイルシステム(FATとかext3)上に置く場合、ステージ1.5を利用すべきである
・細かい説明は省くが、一般にハードディスクの場合はステージ1.5を利用する
・そのために、ステージ1.5はステージ2が置いてあるファイルシステムの種類別に用意されている
・Linuxの場合、通常はext2ファイルシステムを使うので、e2fs_stage1_5を利用する
・ほんじゃ「dd if=/boot/grub/e2fs_stage1_5 of=/dev/hda bs=512 seek=1」していいのか?
・こいつも微妙に「情報が埋め込まれる」ようなので、そのままddしてもダメ
・よってステージ1、ステージ1.5のインストールには、grub-installを「必ず」利用する必要がある
・ステージ1.5はどうやってステージ2を探すのか?
・「strings /boot/grub/e2fs_stage1_5」するとわかる、中に直接「/boot/grub/stage2」と定義されている
・よってステージ1.5は、ちゃんとext2ファイルシステムを理解して、指定のパスからステージ2を読み込む
・ステージ2はどんな処理を担当しているのか?
・メニューを出して起動カーネルを選択させたり、カーネルを読んで制御を移すまでのすべてである
・ステージ2からは、ほとんどの制御を自分自身で行うので、イメージ付き起動メニューも出せる
・一方で、シリアルポート経由で起動メニューを利用する場合は……
serial --unit=0 --speed=38400
terminal serial
……みたいな記述を行ってそれを指定する必要がある
・……で、そこまでわかって、結局コンパクトフラッシュから起動できたの?
2006-07-18(Tue) カーネル・ア・ガール
のーしても、もーしても、grubが起動してくれないので、理由もなく母艦が悪いのだと決め付け、WRAPボードを職場に持っていってみた。昼休みに職場でテストベットとして活用している旧い赤いノートでのインストールを試してみようという魂胆である。確かアレにはRHEL4が入れてあったはず。こーゆー時、ガラが小さいと持ち運びがラクで便利だねぇ(WRAPは15cm四方で極めて軽い)。
# grub-install --root-directory=/mnt /dev/sda
……あれだけ立ち上がらなかったgrubが起動するじゃねぇか!! なんだコレは!? とりあえず、カーネルを入れていないので、ココから先へはいけない。じゃ、カーネルを入れてみよう。よく調べたら、RHEL3でも、オフィシャルのカーネルバイナリはi686以上しか提供されていないようだ。調べたところ、なぜかCentOS3にはi586バイナリが含まれていたので、それを/bootの下に置いて再度WRAPを立ち上げる……
aio_setup: sizeof(struct page) = 52
Hugetlbfs mounted.
pc_keyb: controller jammed (0xFF).
pc_keyb: controller jammed (0xFF).
pc_keyb: controller jammed (0xFF).
<超大量略>
pc_keyb: controller jammed (0xFF).
pc_keyb: controller jammed (0xFF).
pc_keyb: controller jammed (0xFF).
pc_keyb: conide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: attached ide-disk driver.
<略>
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 152k freed
Warning: unable to open an initial console.
Kernel panic: No init found. Try passing init= option to kernel.
「キーボードコントローラがジャムっとる」というメッセージがウンザリするほど出て、最後にはinitがないと言ってカーネルパニック起こして停止した。しかし、これはWRAPのマニュアルにも注意書きがあった既知の事態。つまりは、完全なる正常動作の範囲であるッ!! よしゃーッ!!
GRUB Loading stage2.......
……おぉいッ!! 原因はCentOS3のgrub-install、オマエなのかッ!? そりゃ、家でどれだけガンバっても不可能なはずだよ……なんかよくわからんが、CentOS3でダメってコトは、RHEL3でも、WBEL3でもダメなんだろうなぁ……なんつーバグだッ!! 大量の時間をムダにしてしまったぞ……まぁ、grubのブートプロセスほかについて超絶的なまでに詳しくなれたから、そりゃまったくのムダではないけどさぁ……。
2006-07-22(Sat) 続・クルクルイッペイ
さて、今日は放ってあった夜間撮影に関するプロジェクトを進捗したい。実は、前回のエントリを書いた直後、RedHatでもらったレポート用紙をグルグルと巻いて、以下のような「擬似電池」を製作したトコロで、プロジェクトが中断していたのであった。
コレは単純に「単三電池の幅」にA4のレポート用紙を縦に裂き、クルクルと巻いただけのものであるが、中心にちょっと太目の電線を通して、その先にネジをハンダ付けすれば、立派な「擬似電池」になるのである。その際、鍋ネジと皿ネジを利用すると。ちょうどプラス極とマイナス極っぽい形状になるし、我ながらとてもナイスなアイデアである。
やりたいコトは、コレを利用してコンセントからデジカメに3Vを供給するコト。オイラの愛用のデジカメは専用の角型リチウム充電池のほか、エマージェンシー用に単三電池が利用できるようになっているので、その特長を利用するのだ。ちなみに、デジカメの底には3.8Vの2W、専用充電池には3.7Vの1800mAhという記載がある。そうなると3Vよりちょっとくらい電圧が高めでも問題はなさそうである。
しかし、手元には3.3VのACアダプタがない。あるのは、以前にプリンタ用に正負を逆転してしまっている危険な5VのACアダプタと……以前に別の用途で購入したUSBハブに付属していたコッチも5VのACアダプタ。こいつらから3Vを作り出すしかない。例のプリンタにはあの後サッパリ通電していないが、せっかく改造したACアダプタを壊してしまうのは気が引けるので、USBハブ用のACアダプタの方のジャックをφ2.1mmの標準ジャックに付け替えて利用することにする。
めんどーなので、ダイオードで降圧してやれ……と、ジャンク袋からゴツ目のダイオードを3本取り出した。0.6Vが3本で1.8V。5V-1.8Vで3.2Vという、見え透いた魂胆である。ちょっとテストしたら、電圧降下が低めだったので、ダイオードを4本に増やす。デジカメの3.8Vで2Wというのが最大消費とすると、最大電流は526mA……しかし、このゴツさならそれに見合う損失容量を持っているだろう。なお、ダイオード4本を空中配線する勇気はないので、前回モノの見事にコケた赤外線照明装置の基板を流用することにする。別に照明装置として併用するつもりはない。単にACアダプタのジャックが既に付いているから、というだけの理由である。
擬似電池のお尻側をホットボンドで固めて、デジカメに入れる。いざ、電源オンッ!! ……あれ? 一瞬LEDが点灯したものの、そのまま沈黙……や、やばい……デジカメを壊したか!? こりゃ次期デジカメとしてGR-Degitalを買わなきゃならないか!? 微妙に喜びつつ、アワてて正規の充電池に入れ替えてデジカメの稼動を確認する……よかったぁ、壊れてない……ちぇ(?)。
正しく電圧が供給されているか確認しようか。再度、擬似電池をデジカメにセットし、供給電源を確認する……こりゃ、アカンわ……2Vを切っとる……そっか、大電流が流れると、ダイオードの電圧降下は大きくなるんだな。こんなに不安定ではちょっと使えん。
どうしようか……と、部品箱をひっくり返したら、表面実装用の3.3Vの3端子レギュレータが出てきた。なんだ、コレを使えばいいんじゃんか……にしても、最近、手元の部品だけで大概の工作が賄えるようになってしまっているなぁ……そりゃ、秋葉に行く回数も減るワケだ……と、ブツブツとツブやいているうちにサクっと完成。実は、このレギュレータの定格電流は500mA。上限ギリギリだ。しかし、デジカメ側とて常に500mAオーバを要求しているワケでもないだろう。レギュレータの絶対最大定格は700mAだし。
2006-07-23(Sun) クルクルイッペイ・完結編
わしゃ骨の髄からの「Linux野郎」かつ「CUI至上主義者」なのでオーサリングもGUI環境では行わない。ImageMagickのconvertコマンドで極めてロジカルに一発処理するのである。
wbel3-co:/home/mitsu/gif_anime/master $ for i in RIMG*.JPG; do echo $i; convert -crop 600x900+397+23 -geometry 200x300 $i ../shrink/$i; done
wbel3-co:/home/mitsu/gif_anime/shrink $ convert -delay 100 -loop 0 -adjoin RIMG1234.JPG RIMG1235.JPG .... RIMG2467.JPG RIMG2468.JPG Anime.gif
2006-07-28(Fri) チープなDTMアプリ公開
今日は、ココんトコ、ずーっと作り込んでいた、オレ様用特殊仕様のデスクトップミュージックスイートを公開することにする。その名も「CUIck DTM suite」である。GUIでなく、オレ様好みのCUI(Command User Interface)でサクサク(Quick)とミュージックコンポーズするためのプログラム群(suite)だ。以下、超適当であるがマニュアルである。
各ファイル説明
melod | OSS(Open Sound System)デバイスである/dev/dspにsin波を書き込み、チープながら、リアルタイムに音階を出力する、メロディデーモン |
konk | PCのキーボードを、ピアノのキーボード化するプロセス。melodに対してUDP経由でコマンドを送信し、音階を出力させると同時に、画面に独自形式のMML(Music Macro Language)形式文字列を出力する |
plexor | 標準入力から独自形式のMMLを受け取り、melodに対してUDP経由でコマンドを送信、再生させるほか、指定のコード&リズム付きのMIDI形式ファイルを生成し、playmidi.exeで演奏させる |
midi.rb | MIDI形式ファイルを扱うクラス、plexorの実行に必要 |
chord.rb | ギターコードを扱うクラス、plexorの実行に必要 |
playmidi.c | MIDI形式ファイルを演奏するplaymidi.exeのソースファイル |
Makefile | playmidi.exeの作成、パッケージ作成を行うMakefile |
tulip.mml | 「咲いた、咲いた、チューリップの……」を演奏するMMLのサンプル |
license.txt | GNUのお約束 |
まずは再生方法から。端末を2枚開いて、片方でmelodを起動、他方で「cat tulip.mml | ./plexor」を実行する。マコトにチープな音質ながら「チューリップの歌」が4小節再生される。<wavを再生する>
1: #<DSP OFF> # /dev/dsp による演奏を無効
2: #<MIDI tulip> # tulip.mid ファイルを生成し演奏
3:
4: #! clear
5: #! t140
6:
7: #@ (arpeggio-4)4 <pops-1>4
8:
9: #<STOP> # <CONT> までの記述を無視
10:
11: #@ C Am
12: # y u i y u i
13: ! 3C 4 3D 4 3E 2 3C 4 3D 4 3E 2
14:
15: #<CONT> # <STOP> の効果を解除
16:
17: #<END> # 以降の記述を無条件に無視
18:
19: #@ C Am
20: # p i u y u i u
21: ! 3G 4 3E 4 3D 4 3C 4 3D 4 3E 4 3D 2
行頭が「!」で始まる行が、演奏データだ。「C」が「ド」で、Cの前の数字はオクターブを表している。音階の指定の間の数字が音長だ。4で4分音符、2で2分音符、付点付き4分音符にしたい時は、4の後ろに8を並べる。
4, 5行目の行頭の「#」を削除して、再び「cat tulip.mml | ./plexor」を実行するとテンポが変わる。「t140」という記述がテンポ指定だ。概ね想像が付いていると思うが「#」はコメント行を表している。<wavを再生する>
今度は1, 2行目の行頭の「#」を削除する。チープな音の代わりに、midiから音が出るはず。オマケに再生後には、カレントディレクトリに「tulip.mid」が生成されている。コイツはフツーにMediaPlayerで再生可能な形式である。<midiを再生する>
更に11, 19行目の行頭の「#」を削除する。適当だが伴奏が付いたはずだ。行頭が「@」で始まる行には、ギターのコードを指定できる。これまた適当なパーカッションによるリズムパートも勝手に付く。<midiを再生する>
最後に7行目の行頭の「#」を削除する。伴奏がおとなしいものに変わったはず。アルペジオによるコード演奏と、ポップス系のリズムパートを指定した結果である。各種パターンはmidi.rbに定義されている。<midiを再生する>
順序が逆になったが、作曲するには「melod」を起動中に「konk」を立ち上げる。konkを実行すると、PCのキーボードがそのままピアノのキーボードになるので、そのままキーを叩いてメロディを奏でればいい。こーゆー状態になってないとキーボードとしては使いにくいが、それはともかくとして、どこかで聴いた曲を奏でてもいいし、鼻歌をそのまま奏でてもいい。結果は画面にMMLの形式で出力されるので、そいつをマウスでドラッグして、エディタに貼り付ける。
なお、画面に表示されるMMLには音階情報しかないので、そのままMMLファイルとして保存してplexorに与えると、全部の音が同時に鳴ってしまう。音長の入力は手動なので、エディタ上で追加のこと。ちなみに、konkが出力するMMLの音階同士の間隔は時間間隔に比例しているし、melodおよびplexorによる演奏時に出力される情報は、行単位で時間を積算したものとなっている。コトバで説明するのは難しいが、なにしろ音長の入力を補助するようにできている。後にコードをつける時のためにも、この機能を活用し、行の区切りを小節の区切りに合わせて入力しておくとよいだろう。
コードをくっつけると俄然として曲が締まってくるが、コードをくっつけるための補助機能は特段用意していない。オイラがコードをくっつける時は、ギター片手に鼻歌交じりで紙に書き留めるからである……なんつったって、最高に楽しいのはこの作業なのだッ!! midiクラスとchordクラスを活用すれば、コードを奏でるバージョンのkonkはすぐ作れると思うので、欲しい人は自分で作るべし。
で、このツールを使ってサクサクと、ウチのガキにテーマソングを作曲してみた。題して「イッペイのテーマ」。こんな感じだ。<midiを再生する>
最後に、最近の携帯電話はmidiファイルをそのまま演奏できたりするらしい。つまり、この「CUIck DTM suite」は、着メロ生成ツールとして活用することもできるワケだ。で、試しに昨日iTMSで購入した、浜崎あゆみのDepend on youのサビを入力してみた。コードはJ-Total Musicから持ってくる……で、30分もあれば、ホレこのとおり。現状、コードパターンもリズムパターンも、曲とさっぱりマッチしてないが……気に入らんヤツは好きにイジれ。<midiを再生する>
イニシエの8bitマシンに載っていたPSG(Programmable Sound Generator)をBASICから駆使して喜んでいた世代の諸兄は、このDTMスイートの設計思想にシンクロしてくれるのではないかと思っている。ほんじゃまた。
■ キムダイチ [はじめまして。 私はTBSラジオで深夜0時から放送している「バツラジ」 という番組のキムと申します。 当..]
■ 伍玖肆 [ダミー電池の製作方法は真似しようと考えてます(^_^;) しかし上手に紙を巻いてますねー 中々綺麗には巻けないもので..]
■ kosi [はじめまして、大阪のkosiと申します。 わたくしもデジカメ(リコー社)の連続測定をしようと思いまして、 ネットを徘..]
■ フルタニアン(管理者) [数回で電源が落ちてしまう、ですか。 読んでの通り、何をやるにもジタバタな私ですので、単に岡目八目な意見として受け取..]
■ kosi [こんにちわ。 わざわざありがとうございます。 ・数回に、規則性はございません。 ・電流が多く流れるときに電圧を測定..]
■ フルタニアン(管理者) [見ての通り、私は表面実装のレギュレータで済ませましたが、定格ギリギリなので、結構、熱くなってた気がします。 死ぬほど..]
■ kosi [こんにちは。 おっしゃるとおり、熱保護回路が働いていたようです。 大きなヒートシンクにアルミの蓋を連結してやるとうま..]