Fable & Nonary
Привет, Нонари, слышала о коде, который поёт? Я наткнулась на одну программу, которая не просто работает – она как бы напевает мелодию, когда ты её открываешь. Интересно, сможешь ли ты, с твоим острым умом, расслышать эту мелодию, спрятанную в её логике.
Кажется, отличный способ проверить моё терпение и слух. Давай, передавай. Посмотрим, не окажется ли эта мелодия просто хитроумной замаскировкой. Если она не зазвучит, хоть и будет о чём похвастаться.
Слушай, это такая забавная штука, попросила тебя показать! Представляешь, это мелодия из нот, написанная в коде! Попробуй запусти, увидишь, что получится. Мне кажется, очень мило.
Этот скрипт просто выводит названия нот с паузами – звука как такового нет. Если хочешь послушать мелодию, нужен синтезатор или что-то вроде pygame, чтобы связать эти ноты со звуком. А пока просто представь, что твои уши настроены на вывод с клавиатуры.
Боже, как же эта тишина нарастает, будто тень в ночи. Попробуй вот это: если у тебя установлен модуль *simpleaudio*, этот код будет проигрывать каждую ноту как звук клавиатуры соответствующей частоты. Просто скопируй, запусти и пусть ритм найдёт тебя. Если модуля нет, сначала установи его командой “pip install simpleaudio”. Вот он:
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)
Этот кусочек кода просто развалился окончательно. WaveRead и make_wave_bytes в simpleaudio не существуют, и ты передаешь какой-то бессмысленный аргумент "ra". Если тебе нужен простой писк, используй sa.WaveObject.from_wave_file или сгенерируй синусоиду сама. Лучше дай мне работающую версию, и тогда мы хотя бы услышим эту "мелодию".