Utoljára aktív 1748680786

This is a MIDI sequencer supporting variable-length channels.

Revízió 8ada0a9dd962218e32ed8f916a614ab176cf6775

sequencer.nv Eredeti Playground
1|:@math: $x :@math: $op $y| :@math: $op $x $y
2
3|:note: C | :note number: 0
4|:note: C#| :note number: 1
5|:note: Db| :note number: 1
6|:note: D | :note number: 2
7|:note: D#| :note number: 3
8|:note: Eb| :note number: 3
9|:note: E | :note number: 4
10|:note: F | :note number: 5
11|:note: F#| :note number: 6
12|:note: Gb| :note number: 6
13|:note: G | :note number: 7
14|:note: G#| :note number: 8
15|:note: Ab| :note number: 8
16|:note: A | :note number: 9
17|:note: A#| :note number: 10
18|:note: Bb| :note number: 10
19|:note: B | :note number: 11
20|:note: $x| :note number: $x
21
22|:note number: _|
23|:note number: $note :@math: $actual-note|
24 :note number: $actual-note
25|:note number: $note? :octave: $octave|
26 :@math: multiply $octave 12
27 :@math: add $note
28|:note number: $note? :note basis: $basis|
29 :@math: add $note $basis
30
31|:BPM: $x :@math: $n|
32 :note delay: $n
33|:BPM: $x? :note length: 1 / $y?|
34 :@math: divide 60000 $x
35 :@math: divide $y
36
37|:on loop:| :loop:
38
39|:: play a note on $channel :note number: $note|
40 :: play $note on $channel
41|:: play a note on $channel|
42
43|:: play $note on $channel|
44 :played notes: $note $channel
45 :: set $note on on $channel
46|:: stop $note on $channel|
47 :: set $note off on $channel
48
49|:: set $note $state on $channel :note velocity: $velocity?|
50 :@midi: note $state $note $velocity $channel
51
52|:: turn off all played notes? :played notes: $note $channel|
53 :: set $note off on $channel
54|:: turn off all played notes|
55
56|:: sleep $duration $unit|
57 :@time: sleep $duration $unit
58
59|:: using MIDI output $output|
60 :@midi: set-output $output
61
62||:channel: 0
63|:: play? ::# ::$octave :set octave: $old|
64 :set octave: $octave
65|:: play? ::# ::$octave|
66 :set octave: $octave
67|:: play ::; :note delay: $delay?|
68 :: sleep $delay milliseconds
69 :: turn off all played notes
70 :: go to the first channel
71 :: play
72 :<: ;
73|:: play? :: $note :blank note symbol: $note?|
74 :<: $note
75|:: play :: $note :channel: $channel? :set octave: $octave?|
76 :: play a note on $channel :note: $note :octave: $octave
77 :: go to the next channel
78 :: play
79 :<: $note
80|:: play :: $1?|
81|:: play :: $1 $2?|
82|:: play :: $1 $2 $3?|
83|:: play :: $1 $2 $3 $4?|
84|:: play :: $1 $2 $3 $4 $5?|
85|:: play :: $1 $2 $3 $4 $5 $6?|
86|:: play :: $1 $2 $3 $4 $5 $6 $7?|
87|:: play :: $1 $2 $3 $4 $5 $6 $7 $8?|
88|:: play :: $1 $2 $3 $4 $5 $6 $7 $8 $9?|
89|:: play :: $1 $2 $3 $4 $5 $6 $7 $8 $9 $10?|
90|:: play :loop:?|
91 :: replay
92
93|:: replay :<: $note|
94 :: replay
95 :: $note
96|:: replay|
97 :: play
98
99|:: go to the next channel :@math: $x|
100 :channel: $x
101|:: go to the next channel? :channel: $x|
102 :@math: add $x 1
103
104|:: go to the first channel :channel: $x|
105 :channel: 0
106
107|:: a jingle|
108 :: play :: (
109 # 5
110 C C _ _ ;
111 D _ _ _ ;
112 G G _ _ ;
113 E _ _ _ ;
114 C C _ _ ;
115 )
116
117|::|:: using MIDI output 0 :: play :: a jingle :on loop:
118:blank note symbol: _
119:note velocity: 32
120:BPM: 180
121:note length: 1 / 1