root/as3/ASound/branches/gamiken/src/example/example4/RandomHarmonics.as

リビジョン 2606, 1.7 kB (コミッタ: gamiken, コミット時期: 3 年 前)

スペルミスしてたところを修正。

Line 
1 package example.example4
2 {
3     import com.kappaLab.asound.*;
4     import com.kappaLab.asound.generators.SinOSC;
5     import com.kappaLab.asound.instruments.Instrument;
6     import com.kappaLab.asound.utils.Note;
7     import flash.events.*;
8     public class RandomHarmonics extends Instrument
9     {
10         private var sin:SinOSC;
11         private var freqs:Vector.<Number>;
12         public function RandomHarmonics(octarb:Number = 5,type:uint = 1)
13         {
14            
15             freqs = new Vector.<Number>()
16             var baseNote:uint = 12 * octarb;
17             if (type == 1)
18             {
19                 freqs.push(Note.note2Frequency(baseNote));
20                 freqs.push(Note.note2Frequency(baseNote));
21                 freqs.push(Note.note2Frequency(baseNote + 2));
22                 freqs.push(Note.note2Frequency(baseNote + 4));
23                 freqs.push(Note.note2Frequency(baseNote + 7));
24                 freqs.push(Note.note2Frequency(baseNote + 9));
25                 freqs.push(Note.note2Frequency(baseNote + 12));
26             }
27             else
28             {
29                 freqs.push(Note.note2Frequency(baseNote + 1));
30                 freqs.push(Note.note2Frequency(baseNote + 3));
31                 freqs.push(Note.note2Frequency(baseNote + 5));
32                 freqs.push(Note.note2Frequency(baseNote + 8));
33                 freqs.push(Note.note2Frequency(baseNote + 10));
34             }
35             sin = new SinOSC()
36             signals.push(
37                 sin
38             )   
39             generateEnvelop(0, [1, 50, .5, 25, .5, 100, 0, 200]);
40         }
41         override public function play():void
42         {
43             super.play()
44             sin.frequency = freqs[int(Math.random()*freqs.length)]
45         }
46     }
47 }
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。