Browse Source

Audio

pull/10/head
Jure Šorn 5 years ago
parent
commit
6ee3aefe60
1 changed files with 2 additions and 2 deletions
  1. 4
      README.md

4
README.md

@ -1579,8 +1579,8 @@ S2 = '59♪,61,,62♪,61,,62,,59,,61♪,59,,61,,57,,59♪,57,,59,,55,,59♪,,,'
get_pause = lambda seconds: repeat(0, int(seconds * F)) get_pause = lambda seconds: repeat(0, int(seconds * F))
sin_f = lambda i, hz: math.sin(i * 2 * math.pi * hz / F) sin_f = lambda i, hz: math.sin(i * 2 * math.pi * hz / F)
get_wave = lambda hz, seconds: (sin_f(i, hz) for i in range(int(seconds * F))) get_wave = lambda hz, seconds: (sin_f(i, hz) for i in range(int(seconds * F)))
get_hz = lambda note: round(16.352 * 2 ** (int(note[:2]) / 12))
parse_n = lambda note: (get_hz(note), 0.25 if len(note) > 2 else 0.125)
get_hz = lambda n: round(16.352 * 2 ** (int(n) / 12))
parse_n = lambda note: (get_hz(note[:2]), 0.25 if len(note) > 2 else 0.125)
get_note = lambda note: get_wave(*parse_n(note)) if note else get_pause(0.125) get_note = lambda note: get_wave(*parse_n(note)) if note else get_pause(0.125)
samples_f = chain.from_iterable(get_note(n) for n in f'{S1}{S1}{S2}'.split(',')) samples_f = chain.from_iterable(get_note(n) for n in f'{S1}{S1}{S2}'.split(','))
samples_b = b''.join(struct.pack('<h', int(a * 30000)) for a in samples_f) samples_b = b''.join(struct.pack('<h', int(a * 30000)) for a in samples_f)

Loading…
Cancel
Save