USBをシリアルに変換するIC、PL2303SAが、共立エレショップに再入荷したようです。
USB/シリアル変換というとFT232RLがありますが、0.65mmピッチの28ピンという非常に扱いにくい代物でした。それに比べてPL2303SAは、機能がシンプルな代わりに1.27mmピッチの8ピンなので、扱いはぜんぜん楽です。しかも値段はたったの150円。
もう、わざわざこんなことをしなくても良い時代になったのです。。
2012/12/16
2012/09/09
ファミコン音源の三角波
プチコンのサウンド機能はかなり豪華にできている一方、矩形波やホワイトノイズを使って昔のPSGみたいな音を出すのも簡単なのですが、ファミコン音源の三角波に相当するものは用意されてないので作る必要があります。といっても、プログラムは非常に簡単です。
こうすると @224 がファミコン音源の三角波になります。
W$="" FOR I=0 TO 63 V=FLOOR(I/2)*2*8 IF I>=48 THEN V=V-512 ELSE IF I>=16 THEN V=256-V IF V<-127 THEN V=-127 IF V>127 THEN V=127 U$=HEX$(V,2) W$=W$+U$ NEXT BGMPRG 224,127,0,127,123,W$ファミコン音源の三角波は、きれいな形ではなく階段状の波形になっていて、それが独特な音色の元になっています。プチコンの波形定義もそこそこ粗いのですが、ファミコンなみにするには、もっと粗くしないといけません。 FLOOR(I/2)*2 というのが、そのへんの計算です。 またファミコン音源での三角波の音量は固定なので、本来エンベロープを指定することはできません。ただBGMPRGするときのADSRを本当にその通りにすると、音のON/OFFで「プチッ」というノイズが出てしまうので、リリースを少しだけ残した方が良いみたいです。アタックの方は127でも大丈夫のようです。 この三角波を使って、ファミコン音源の制限内で曲を演奏してみました。
2012/08/20
2012/08/13
Petit Computer Love
AP3をちょっとだけ改良して、バージョン3.1になりました。
最初にループを録音するときにLやRを押したままタッチペン2本で演奏、というのが無理な気がしたのでL+Rの機能をつけたのですが、録音終了するときにも押す必要があるので、結局その機能は使っていません。代わりに、DS本体を何かに押し付けながら(Rボタンが押された状態にして)演奏し、終了するときに少しずらしてRボタンをオフにする、という技を編み出しました。。
Auduino Petit 3キーボード表示のときの音域が狭かったので変更できるようにしたのと、L+Rでループ録音を開始すると途中で離しても録音が継続するようにしました。(もう一度LかRを押したら終了。)
最初にループを録音するときにLやRを押したままタッチペン2本で演奏、というのが無理な気がしたのでL+Rの機能をつけたのですが、録音終了するときにも押す必要があるので、結局その機能は使っていません。代わりに、DS本体を何かに押し付けながら(Rボタンが押された状態にして)演奏し、終了するときに少しずらしてRボタンをオフにする、という技を編み出しました。。
2012/07/16
Auduino Petit 3
Auduino Petit を改良しました。
詳しい説明とQRコードはこちら。
- 音源が2個になりました。同時に鳴らしたり切り替えたりできます。
- 演奏を録音してループ再生できるようになりました。ループを再生しながら演奏もできます。
- カオスパッド的なやつをいろいろ改良しました。上下方向で音色が変わったりします。キーボード表示も追加しました。
- スケールとキーを指定できるようになりました。これはキーボード表示の時も有効です。
2012/05/06
Auduino Petit
Auduinoみたいなものをプチコンmk2で作りました。Denkitribeさん版をプチコン仕様にしたもの、のつもりです。
プチコンmk2では任意の波形を定義してMMLで使うことができるので、この仕組みを利用すれば、いちおうAuduinoと似たようなものが作れます。 ただ、1周期あたり128サンプルしかなく、さらに高音になると間引いて再生されるようなので、似たような音になりがちです。
その代わり、いくつかオマケを付けました。
波形定義の段階で増幅してクリップするだけの簡単なお仕事です。
詳しい説明とQRコードを公開しました。
(2012/07/16)
改良しました。
プチコンmk2では任意の波形を定義してMMLで使うことができるので、この仕組みを利用すれば、いちおうAuduinoと似たようなものが作れます。 ただ、1周期あたり128サンプルしかなく、さらに高音になると間引いて再生されるようなので、似たような音になりがちです。
その代わり、いくつかオマケを付けました。
ディレイ(DLAY)
なんといってもディレイです。これがあるのとないのでは雲泥の差です。複数チャンネルのMMLを独立して制御できることが分かったので簡単に実装できました。ビブラート(VIBR)
プチコンのMMLの機能です。 そのまま。ディストーション(VOL./CLIP)
手軽に「太い」音を出すことができます。波形定義の段階で増幅してクリップするだけの簡単なお仕事です。
エンベロープ(ATCK/DCAY)
プチコンの仕様上、波形を定義するときにエンベロープも指定できます。厳密にはディケイじゃなくてリリースですが。エクスポート(EXPT)
これをオンにしておくと、作った波形を他のプログラムで使えるようになります。Auduino Petit を終了した後、他のプログラムをLOADして、編集モードで F1 F2 の順に押すと、波形定義のコードが書き込まれます。詳しい説明とQRコードを公開しました。
(2012/07/16)
改良しました。
2012/04/08
充電式ライト
以前調べたシェーバー を改造して充電式のライトにしてみました。
スイッチをONにしても充電スタンドに置いた状態だと点灯せず、充電スタンドから取ったり停電になったら自動的に点灯します。
中身はこういう状態。モーターがあった場所に基板をはめ込んでいます。刃を動かすメカがあった所にLEDとかが入ります。バッテリーは新しいもの(といってもジャンクですが。。)に交換しましたが、充電回路はそのまま流用しています。
追加した部分には、例によって 超薄型ユニバーサル基板 を使っています。何度も何度も修正したので、無駄に複雑なレイアウトになってしまいました。
LEDは2個並列にして、簡易的なリフレクタ(100円ショップで売っているネイルチップをホットボンドで接着してアルミテープを巻いたもの)を付けてあります。 シェーバーの刃の部分は簡単にはずせるので、このようにLEDがそのまま露出した状態にして懐中電灯として使うこともできます。
右半分が、追加した回路です。
モーターへの配線に来ていた電源を昇圧してLEDを点灯します。 ただし充電中は点灯しないようにMOS-FETでスイッチングします。 ...動作原理としてはそれだけなのですが、実際やってみたら全然思ったように動かなくて苦労しました。。
スイッチをONにしても充電スタンドに置いた状態だと点灯せず、充電スタンドから取ったり停電になったら自動的に点灯します。
中身はこういう状態。モーターがあった場所に基板をはめ込んでいます。刃を動かすメカがあった所にLEDとかが入ります。バッテリーは新しいもの(といってもジャンクですが。。)に交換しましたが、充電回路はそのまま流用しています。
追加した部分には、例によって 超薄型ユニバーサル基板 を使っています。何度も何度も修正したので、無駄に複雑なレイアウトになってしまいました。
LEDは2個並列にして、簡易的なリフレクタ(100円ショップで売っているネイルチップをホットボンドで接着してアルミテープを巻いたもの)を付けてあります。 シェーバーの刃の部分は簡単にはずせるので、このようにLEDがそのまま露出した状態にして懐中電灯として使うこともできます。
右半分が、追加した回路です。
モーターへの配線に来ていた電源を昇圧してLEDを点灯します。 ただし充電中は点灯しないようにMOS-FETでスイッチングします。 ...動作原理としてはそれだけなのですが、実際やってみたら全然思ったように動かなくて苦労しました。。
2012/02/19
はんだごてHS-11を置く
チップ部品とかの細かいはんだ付けをするときは、HS-11というはんだごてを使っています。非常に軽くて扱いやすい、とても良いはんだごてなのですが、ひとつ欠点があります。それは、置きにくいこと。特殊な形状なので、普通のこて台にはうまく置けないのです。本体が軽すぎて相対的にコードのほうが重くなるのも一因でしょう。
そこで、こうやって磁石で固定するようにしてみました。
分解したハードディスクから取ったネオジム磁石を、はんだごてに直接接着してあります。台の方は鉄なら何でも良いのですが、ハードディスクの残りの部品にちょうど良い形のものがあったので使ってみました。 (後になって気がつきましたが、これとは逆に、台の方を磁石にした方が使いやすかったはず。)
はんだごてを置いた状態では、磁石がずれる方向に力がかかるので、そう簡単に外れることはありません。使うときは、グリップ部分を持って引き剥がすように力を加えるので、てこの原理で簡単に外せます。
そこで、こうやって磁石で固定するようにしてみました。
分解したハードディスクから取ったネオジム磁石を、はんだごてに直接接着してあります。台の方は鉄なら何でも良いのですが、ハードディスクの残りの部品にちょうど良い形のものがあったので使ってみました。 (後になって気がつきましたが、これとは逆に、台の方を磁石にした方が使いやすかったはず。)
はんだごてを置いた状態では、磁石がずれる方向に力がかかるので、そう簡単に外れることはありません。使うときは、グリップ部分を持って引き剥がすように力を加えるので、てこの原理で簡単に外せます。
2012/01/22
ドレメル小屋
ドレメルって、あんまりホームセンターとかで見たことがないので、日本では売ってないのかと思っていたら、ちゃんと日本版があって、普通にAmazonとかでも売っていました。
もちろん日本向けなので電源電圧は100Vですが、
50Hz版 と
60Hz版 が別になっています。
ちなみに今だとこっちの方がお買い得かも。。orz
そこで、安全のため+粉塵対策のために、こんなものを作りました。 洗った食器を入れるカゴ(?)に、塩ビ板で作ったカバーを被せて、両側から手を入れるための穴を開けただけです。 使わないときは、ドレメル本体や小物とかも一緒に放り込んで、そのまま収納できます。
この薄い塩ビ板では、飛んできた破片とかが突き破ってくることもありそうなので、できればもっと丈夫なポリカーボネートとかを使いたいところ。もちろん厚いものを使った方が安心ですが、透明度も大事です。
カゴの底は網になっているので、粉塵は下の容器まで落ちます。粒子が細かくて見えないので、どの程度外に漏れているのかは分かりませんが、とりあえず底にたまっていくので、ある程度の効果はあるようです。
ちなみに塩ビ板のカバーは、カゴの四隅に切り込みを入れて差し込んでいるだけです。この切り込みを入れるのにドレメルを使うべきだったのでしょうが、まだ慣れてなくて上手に扱えないので、(手動の)プラスチック用のこぎりを使いました。
DREMEL(ドレメル)パンプキンカービングセット(50Hz)先端のビットを回転させて削る「トリマー」とかの類ですが、ハイパワーなので、金属の切断も(比較的)簡単にできるそうです。(実はまだやったことがない。) 切断するときは、付属の「カッティングホイール」を取り付ける必要があります。が、このカッティングホイール、簡単に割れてしまいます。まだ使わないうちに早速1枚割ってしまいました。 これは 消耗品だし値段も安いので交換すれば良いだけ なのですが、こんなに簡単に割れるということは、作業中に割れて飛び散ったらえらいことになるんじゃないかと心配になってきます。
DREMEL(ドレメル)パンプキンカービングセット(60Hz)
そこで、安全のため+粉塵対策のために、こんなものを作りました。 洗った食器を入れるカゴ(?)に、塩ビ板で作ったカバーを被せて、両側から手を入れるための穴を開けただけです。 使わないときは、ドレメル本体や小物とかも一緒に放り込んで、そのまま収納できます。
この薄い塩ビ板では、飛んできた破片とかが突き破ってくることもありそうなので、できればもっと丈夫なポリカーボネートとかを使いたいところ。もちろん厚いものを使った方が安心ですが、透明度も大事です。
カゴの底は網になっているので、粉塵は下の容器まで落ちます。粒子が細かくて見えないので、どの程度外に漏れているのかは分かりませんが、とりあえず底にたまっていくので、ある程度の効果はあるようです。
ちなみに塩ビ板のカバーは、カゴの四隅に切り込みを入れて差し込んでいるだけです。この切り込みを入れるのにドレメルを使うべきだったのでしょうが、まだ慣れてなくて上手に扱えないので、(手動の)プラスチック用のこぎりを使いました。
2012/01/03
rbsファイルのフォーマットを解析
RB-338のデータは.rbsという拡張子のファイルに保存されます。このファイルの中に、すべてのノブ、パターン、ソングデータなどが入っています。
このファイルのフォーマットは、以前は公式ftpサイトで公開されていたそうですが、既にアクセスできなくなっています。Web上を探してみたところ、このサイトに一部 の情報が残っていましたが、残念ながら、詳細が分かるのはたいして意味のないヘッダ部分だけで、実際のデータとも若干食い違っているようです。
そこで、実際の.rbsファイルのバイナリダンプを見ながら自力でフォーマットを解析してみました。内容はほぼ分かったのですが、ちゃんとした形でまとめた資料を作るのはけっこう大変なので、とりあえず、テキスト形式で.rbsファイルをダンプするツールを作りました。これ自体はあんまり実用的なものではないですが、ソースを読めばフォーマットの詳細が分かるでしょう。
このファイルのフォーマットは、以前は公式ftpサイトで公開されていたそうですが、既にアクセスできなくなっています。Web上を探してみたところ、このサイトに一部 の情報が残っていましたが、残念ながら、詳細が分かるのはたいして意味のないヘッダ部分だけで、実際のデータとも若干食い違っているようです。
そこで、実際の.rbsファイルのバイナリダンプを見ながら自力でフォーマットを解析してみました。内容はほぼ分かったのですが、ちゃんとした形でまとめた資料を作るのはけっこう大変なので、とりあえず、テキスト形式で.rbsファイルをダンプするツールを作りました。これ自体はあんまり実用的なものではないですが、ソースを読めばフォーマットの詳細が分かるでしょう。
ソースのみ
ソース+Windowsバイナリダンプの例:
登録:
投稿 (Atom)