MacOSを利用しているあなたは、何も考えずに以下のコマンドを実行してほしい。1
gem install osxdsp
brew install sox
次に以下のプログラムを作って欲しい。
sound.rb
BaseRate = 4000
Freq = 440.0
C=3
D=5
E=7
F=8
G=10
A=12
B=14
def play(sounds, rate)
data = []
sounds.each do |scale|
(0..1).step(1.0 / rate) do |t|
value = Math.sin(2 * Math::PI * Freq * 2**(scale / 12.0) * t)
data << 128 + (value * 60).round
end
end
open("/dev/dsp","wb") do |io|
io.puts(data.pack("C*"))
end
end
play [B,G,A], BaseRate
play [D+12], BaseRate*2
sleep 1
play [D,A,B], BaseRate
play [G+12], BaseRate*2
オーディオはONにして、以下のコマンドを実行してみよう。2
ruby -rosxdsp sound.rb
さぁ、どうだろう?
始まりを感じることが出来たかな???