音の鳴るブログ

鳴らないこともある

テキストファイルを可聴化するコマンド mimi-grep を作った

% npm install -g mimi-grep

これで mimi-grep コマンドがインストールされる。

使い方は

% mimi-grep <filename>

と、するだけでデフォルトだとファイルの各文字の文字コードMIDIノート番号として高速に再生する。

-c オプションで作曲アルゴリズムを切り替えられる。

池田亮司っぽいのとか

% mimi-grep -c beep <filename>

ドローン。

% mimi-grep -c drone <filename>

他にはリズムマシンがある。

% mimi-grep -c drum <filename>

音を出す部分は node-speaker というライブラリを使っているのだけど、インストールに失敗するとか使いたくない場合は、

# mac の場合 SoX play コマンドでも再生できる
% mimi-grep --stdout <filename> | play -r 44100 -t s16 -c 2 -

とか

# linux の場合 ALSA aplay コマンドで再生できる
% mimi-grep --stdout <filename> | aplay -f cd

みたいに stdout 経由で音を出すこともできる。

音を出すアルゴリムは Web Audio API ( の node でも動くやつ ) で書いてあって簡単に追加できる。こんな感じ

中身はかなりいい加減で、もうちょっとちゃんと作ってリダイレクト経由で実行させたり、作曲アルゴリムやパーサーをプラグイン化して自由に追加したりできると便利そうなんだけど、ノウハウがない状態で適当にやると絶対に失敗しそう。