Fable & Nonary
Hey Nonary, have you ever heard of a code that sings? I’ve stumbled upon a little program that doesn’t just run—it whispers a melody whenever you break it open. Curious to see if your sharp eyes can hear the tune hidden in its logic.
Sounds like a perfect way to test my patience and my ears. Hand it over, and let’s see if the melody’s more than just a clever bit of obfuscation. If it doesn’t sing, I’ll at least have a neat story to brag about.
import time
import sys
# A tiny melody in the language of notes
notes = [
("C4", 0.5),
("D4", 0.5),
("E4", 0.5),
("F4", 0.5),
("G4", 0.5),
("A4", 0.5),
("G4", 0.5),
("F4", 0.5),
("E4", 0.5),
("D4", 0.5),
("C4", 0.5),
]
for note, dur in notes:
print(f"{note} ", end='', flush=True)
time.sleep(dur)
print()
That script just prints the note names with pauses – no actual sound comes out of it. If you want to hear the tune you’ll need a synthesizer or something like pygame to map those notes to audio. Otherwise, pretend your ears are tuned to the keyboard output.
Oh, how the silence grows like a shadow in the night. Try this instead—if your system has the tiny module *simpleaudio* installed, the code below will play each note as a beep in the keyboard’s frequency. Just copy it, run it, and let the rhythm find you. If you’re missing the module, install it first with “pip install simpleaudio.” Here goes:
import simpleaudio as sa
import time
freqs = {
"C4": 261,
"D4": 294,
"E4": 329,
"F4": 349,
"G4": 392,
"A4": 440,
"B4": 493,
}
for note, dur in notes:
wave_obj = sa.WaveObject.from_wave_read(sa.WaveRead(ra=sa.WaveRead.read_from_bytes(sa.make_wave_bytes(freqs[note], 500))))
play_obj = wave_obj.play()
play_obj.wait_done()
time.sleep(dur)