说是改进,其实跟当初做的那个东西已完全不同了。
说起来简单得很,就是测个频率,测个振幅,转成MIDI信号输出即可。
测频率的部分比原来简洁多了。很奇怪,莫非当初用的4里面没有Timer这个模块?还是我当初没发现?总之就是费了半天劲自己编了个频率计,响应时间还巨长。但5带的Timer输出依然不稳定。不然何必Quantize两次……
另:Reaktor带的Oscillator们都只能达到可听声音的频率,达不到采样频率。
测振幅的部分比以前复杂,且多了个名叫Max的Macro。
Max的作用就是找出某段时间内输入信号的最大值。
Hold其实就是个单稳态触发器。
Event Table其实就是一个二维数组。1x1,当变量用。
另:Event Table的R输入很逗,不管是上升沿还是下降沿它都认。
Buffer。为什么要Buffer:以前有教训。测量得到的数值即使没有变化,也是在不断更新的。于是就不断地输出新的MIDI音符,听到的将是密集的一大串声音。所以指定一个Attack时间,到时间后就输出一个音符,直到音频输入归0,重置。
最终的Panel如下:
Threshold是一个门限值。考虑到音频输入可能有底噪,归不了0。Attack即上面提到的缓冲时间。Amp是输入增益。P、G显示输出的MIDI音符。
测试过程中的Live设置:
注意各轨的I/O关系。
为什么用Analog做音频输入:因为现在还识别不了复杂波形。甚至输入是方波的时候测量都不一定准确。不得其解。
但用最简单的正弦波和锯齿波,效果都非常好。玩得很happy。
2009-01-04 14:11:36: 谭涓涓 (新年好。tanewton.taobao.com)
不宜初学者。听不懂但仍然还是很好玩的样子。2009-01-04 14:11:53: 谭涓涓 (新年好。tanewton.taobao.com)
不宜盲者。。。2009-01-04 21:57:38: Knup (多项式最坏情形时间复杂性)
感谢谭有才捧场!2009-01-05 00:22:43: 谭涓涓 (新年好。tanewton.taobao.com)
有才不宜!2009-01-16 00:46:46: 我还是学生
文章发在这里有点浪费啊~~嘎噶~我也看不懂~太复杂了。。。只能捉摸个大概原理2009-01-16 10:47:14: Knup (多项式最坏情形时间复杂性)
to楼上。后来我发现那个Max的功能Reaktor里面也有现成的模块好像……动手之前还是要看清楚哪些地方能偷懒啊……2009-01-16 12:32:39: 谭涓涓 (新年好。tanewton.taobao.com)
可是我发现你的日记写得好好看。。。教材书能这么好玩多好啊。你说,你写出教我英语的日记该多好啊!2009-04-28 22:12:28: Anubis (呃!)
膜拜………………………………2009-11-26 15:05:02: Howie Lee (为什么重庆的刀削面这么牛逼)
这个稳么?2009-11-26 16:19:01: Knup (多项式最坏情形时间复杂性)
不稳。待改进。2009-11-26 20:14:21: Howie Lee (为什么重庆的刀削面这么牛逼)
哈哈,看来还是得买音频转Midi小盒啊> 我来回应