# Define a simple bytebeat algorithm def bytebeat(freq, wave): t = np.arange(44100) / 44100 wave = wave * np.sin(2 * np.pi * freq * t) return wave
Bytebeat is a music generation technique that uses a simple mathematical formula to produce audio. It's based on the idea of manipulating a single byte (8-bit integer) to generate sound. The byte is typically used as an index into a waveform or used to calculate the frequency of an oscillator.
while True: # Read MIDI messages msg = inport.receive() if msg.type == 'note_on': freq = msg.note / 127.0 * 1000 # Map note to frequency wave = 0.5 # Waveform parameter audio = bytebeat(freq, wave) # Output audio print(audio) This example is just a starting point, and there are many ways to extend and modify it to create more interesting sounds.