読者です 読者をやめる 読者になる 読者になる

よくかんでたべること

そのままのみこまずに、ね。

祝:岡崎体育 3Words即興ソング公開!シェルスクリプトとSonicPiで自主練ツール作りたい

岡崎体育チャンネルに 赤坂Britzでの3Words即興ソングが公開され、どきどきわくわく不整脈
www.youtube.com

記念に、3Words即興ソングの自主練ツールが作りたくなった。

最低限満たすべき要件は以下の2つ
1)ランダムな3 words
2)一定のコードを奏でるツール

1) ランダムな3 words

kujirahand.com
こちらの
■単語連想単語検索
から単語リストの上位3つをwgetで取ってくることにした。

wget "http://kujirahand.com/web-tools/words/api.php?m=random" -O - /dev/stdout|grep -o "<b[^>]*>[^<]*<a[^>]*>[^<]*</a></b>"|sed -e 's/<[^>]*>//g'|head -n 3

2)一定のコードを奏でるツール

アーカイブを見ると3Words即興ソングのコード進行はおおかた E♭→B♭→Cm→A♭ のようだ。
なので、これをSonic Piに演奏してもらう。

use_bpm 70
use_synth :sine

define :chord_player do |root, option|
  play chord(root - 12, option), sustain: 3, release:1
  play root - 12, sustain: 4
  4.times do
    play chord(root, option)
    sleep 1
  end
end

live_loop :three_words do
  chord_player :ef4,:major
  chord_player :bf3,:major
  chord_player :c4,:minor
  chord_player :af3,:sus2
end

コマンド叩いて一気に言葉の表示と演奏ができるところまで実装したかったなぁ...