| 著作一覧 |
#!/usr/local/bin/ruby -Ku
begin
require 'rjb'
MidiSystem = Rjb::import('javax.sound.midi.MidiSystem')
rescue LoadError
require 'java'
MidiSystem = javax.sound.midi.MidiSystem
end
MAX_NOTES = 1000
synthesizer = MidiSystem.synthesizer
synthesizer.open
def fib(n, r = [0,1])
r[n] ||= fib(n - 2, r) + fib(n - 1, r)
end
class FibPlayer < Array
def initialize(&proc)
@hook = proc
self[0] = 0
self[1] = 1
end
alias put []=
def []=(i, n)
@hook.call(n) if @hook
put(i, n)
end
end
0.upto(7) do |c|
Thread.start(synthesizer.channels[c], c) do |cha, v|
fib(MAX_NOTES, FibPlayer.new do |n|
cha.program_change n % 111 + v
n %= 31
n += 40 + v
cha.note_on n, 50
sleep 0.2
cha.note_off n, 50
end)
Thread.main.run
end
end
Thread.stop
synthesizer.close
rubycoさんのソースを参考に、Rjb、JRubyどちらでも動くようにしてみた(JRuby側のメソッド名のRubyizeが合ってるかどうかは不明)。
あれからいろいろ見て回ったがというか使えばわかるが、5000円のルータは、OpenBlockSの足元にも及ばないってことが良くわかった。CPUがしょぼくてメモリーが少ない。と考えると、実にあの雷は痛い。というか、つい捨ててしまったのは実に愚かだった。修理に出すという頭が無かったのが敗因だ。新しく買うにしては、いい値段なんだよなぁ。
ジェズイットを見習え |
すごいですねえ…みゅーじっくっぽい。(^_^)
「うまいなあ」という CM もいまは昔。栗ようかんとされてますが、缶入りだから「栗かのこ」ですね。きんとんみたいな奴です。
きんとんの22年モノ? ちょっとイメージが変わりますね……
自宅サーバを OpenBlocks266で運用してるのですが<br>実はもう一台手付かずであります。<br>良ければお譲りしましょうか? (^^;
田村さん、お久しぶりです。<br>それはありがたいです。gmailのほうにメールします。
後から思うと、昔はさんまのかばやき缶詰みたいなところに(もっと大きいけれど)に入っていて、コンビーフ缶みたいに開けていたような記憶が見つかったので、22 年前となるとやはりようかんだったのかもしれません。<br>開け難いということから最近は変わったようですが。
コンビーフ缶みたいに開ける羊羮って想像すると楽しいですね。
こんな感じです。ちょっとわかりにくいですが。<br>http://www.kanseido.co.jp/com/you/img/you_pho_03.jpg<br><br>でも賞味期限は未開封で一年となっているので、やはり怖いのではないかと。