artonさんのところで見かけたのを、そのままお借りしています。すみません。JRubyにして動かしています。 # cf. http://arton.no-ip.info/diary/20070807.html#p01 require 'java' def fib(n, r = [0,1]) r[n] ||= fib(n - 2, r) + fib(n - 1, r) end class Array alias put []= def []=(i, n) put(i, n) end end MidiSystem = javax.sound.midi.MidiSystem synthesizer = MidiSystem.getSynthesizer() #システム既定のシンセサイザー synthesizer.open channels = synthesizer.getChannels()