create every day - 福野泰介の一日一創

光るカセットテープに記録したい、カンサスシティスタンダード風IchigoJamプログラムの音声化

2017/12/06 23:55:00
#IchigoJam #maker 

PCN秋葉原Assemblageにて、光るカセットテープのミニ講習。

初めてのカセットテープの分解。テープをびろびろーっと出しても誰にも怒られませんよっ


カセットテープに、テープ状のWS2812Bを5つ貼るだけ簡単工作は、お昼休み中にできちゃいます。


ロボット芸人、髙橋ちゃんもマシン語打ち込み&カセットテープキラキラ成功!

せっかくのカセットテープ、録音させたくなりますね。
かつてカンサスシティスタンダードというカセットテープへの保存方法の標準が使われていた様子。
低い音1200Hzで0を、高い音2400Hzで1を表し、1秒間に300コの音でデータを表現するらしい。
とりあえず、IchigoJamのBEEP音で近い音、13と7を使って、プログラム領域(#C00)を鳴らしてみよう!

10 BEEP7,60:WAIT60 20 FORI=0TO1023:C=PEEK(#C00+I) 30 FORJ=0TO7:IF C&(1<<J) BEEP13,2 ELSE BEEP7,2 40 WAIT2:NEXT:NEXT:?

最初にピーっと高い音を1秒ならして、1byteずつ取得して、それを下位bitから順に音にします。
WAITでタイミングをとっているので、これで1秒間に30コ。1/10のスピードです。
RUN on IchigoJam web、ブラウザで動かす


PLAY文を使って300コへスピードアップする方法(ただし、画面広さの関係で数十byteのみ)

10 CLS:?"O5T30N7T18000"; 20 FOR I=0 TO 32:C=PEEK(#C00+I) 30 FOR J=0 TO 7:IF C&(1<<J) ?"D"; ELSE ?"N7"; 40 NEXT:NEXT:? 50 PLAY#900

BASICで実験してみて、うまくいけばマシン語化してパソコンやスマホに読み取らせるのもおもしろそう!
子供がつくったプログラムを、大人のスマホを通じて投稿とか簡単にできちゃうかも!?


秋葉原のAssemblage(アセンブラージュ)には、キラキラ動くかわいいものがたくさん!
ぜひのぞいてみてくださいっ

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image