@@ -1951,14 +1951,14 @@ <h3 id="synthesizer">Synthesizer</h3>
1951
1951
F = < span class ="hljs-number "> 44100</ span >
1952
1952
P1 = < span class ="hljs-string "> '71♪,69,,71♪,66,,62♪,66,,59♪,,,'</ span >
1953
1953
P2 = < span class ="hljs-string "> '71♪,73,,74♪,73,,74,,71,,73♪,71,,73,,69,,71♪,69,,71,,67,,71♪,,,'</ span >
1954
- get_pause = < span class ="hljs-keyword "> lambda</ span > seconds: repeat(< span class ="hljs-number "> 0</ span > , int(seconds * F))
1955
- sin_f = < span class ="hljs-keyword "> lambda</ span > i, hz: math.sin(i * < span class ="hljs-number "> 2</ span > * math.pi * hz / F)
1956
- get_wave = < span class ="hljs-keyword "> lambda</ span > hz, seconds: (sin_f(i, hz) < span class ="hljs-keyword "> for</ span > i < span class ="hljs-keyword "> in</ span > range(int(seconds * F)))
1957
- get_hz = < span class ="hljs-keyword "> lambda</ span > key: < span class ="hljs-number "> 8.176</ span > * < span class ="hljs-number "> 2</ span > ** (int(key) / < span class ="hljs-number "> 12</ span > )
1958
- parse_n = < span class ="hljs-keyword "> lambda</ span > note: (get_hz(note[:< span class ="hljs-number "> 2</ span > ]), < span class ="hljs-number "> 0.25</ span > < span class ="hljs-keyword "> if</ span > < span class ="hljs-string "> '♪'</ span > < span class ="hljs-keyword "> in</ span > note < span class ="hljs-keyword "> else</ span > < span class ="hljs-number "> 0.125</ span > )
1959
- get_note = < span class ="hljs-keyword "> lambda</ span > note: get_wave(*parse_n(note)) < span class ="hljs-keyword "> if</ span > note < span class ="hljs-keyword "> else</ span > get_pause(< span class ="hljs-number "> 0.125</ span > )
1960
- frames_i = chain.from_iterable(get_note (n) < span class ="hljs-keyword "> for</ span > n < span class ="hljs-keyword "> in</ span > < span class ="hljs-string "> f'< span class ="hljs-subst "> {P1}</ span > < span class ="hljs-subst "> {P1}</ span > < span class ="hljs-subst "> {P2}</ span > '</ span > .split(< span class ="hljs-string "> ','</ span > ))
1961
- frames_b = < span class ="hljs-string "> b''</ span > .join(struct.pack(< span class ="hljs-string "> '<h'</ span > , int(a * < span class ="hljs-number "> 30000</ span > )) < span class ="hljs-keyword "> for</ span > a < span class ="hljs-keyword "> in</ span > frames_i )
1954
+ get_pause = < span class ="hljs-keyword "> lambda</ span > seconds: repeat(< span class ="hljs-number "> 0</ span > , int(seconds * F))
1955
+ sin_f = < span class ="hljs-keyword "> lambda</ span > i, hz: math.sin(i * < span class ="hljs-number "> 2</ span > * math.pi * hz / F)
1956
+ get_wave = < span class ="hljs-keyword "> lambda</ span > hz, seconds: (sin_f(i, hz) < span class ="hljs-keyword "> for</ span > i < span class ="hljs-keyword "> in</ span > range(int(seconds * F)))
1957
+ get_hz = < span class ="hljs-keyword "> lambda</ span > key: < span class ="hljs-number "> 8.176</ span > * < span class ="hljs-number "> 2</ span > ** (int(key) / < span class ="hljs-number "> 12</ span > )
1958
+ parse_n = < span class ="hljs-keyword "> lambda</ span > note: (get_hz(note[:< span class ="hljs-number "> 2</ span > ]), < span class ="hljs-number "> 0.25</ span > < span class ="hljs-keyword "> if</ span > < span class ="hljs-string "> '♪'</ span > < span class ="hljs-keyword "> in</ span > note < span class ="hljs-keyword "> else</ span > < span class ="hljs-number "> 0.125</ span > )
1959
+ get_frames = < span class ="hljs-keyword "> lambda</ span > note: get_wave(*parse_n(note)) < span class ="hljs-keyword "> if</ span > note < span class ="hljs-keyword "> else</ span > get_pause(< span class ="hljs-number "> 0.125</ span > )
1960
+ frames_f = chain.from_iterable(get_frames (n) < span class ="hljs-keyword "> for</ span > n < span class ="hljs-keyword "> in</ span > < span class ="hljs-string "> f'< span class ="hljs-subst "> {P1}</ span > < span class ="hljs-subst "> {P1}</ span > < span class ="hljs-subst "> {P2}</ span > '</ span > .split(< span class ="hljs-string "> ','</ span > ))
1961
+ frames_b = < span class ="hljs-string "> b''</ span > .join(struct.pack(< span class ="hljs-string "> '<h'</ span > , int(f * < span class ="hljs-number "> 30000</ span > )) < span class ="hljs-keyword "> for</ span > f < span class ="hljs-keyword "> in</ span > frames_f )
1962
1962
simpleaudio.play_buffer(frames_b, < span class ="hljs-number "> 1</ span > , < span class ="hljs-number "> 2</ span > , F)
1963
1963
</ code > </ pre >
1964
1964
< h2 id ="basicscripttemplate "> < a href ="#basicscripttemplate " name ="basicscripttemplate "> #</ a > Basic Script Template</ h2 >
0 commit comments