♪
prime drone
скетч · №001 · простые числа как ноты
| инструмент | Sonic Pi |
| длительность | 08:34 |
| дата | 2025.09 |
| алгоритм | высота = номер простого (MIDI), длительность и амплитуда ∝ 1/log(p) |
| описание | каждое простое число — нота. высота определяется самим числом, длительность и амплитуда обратно пропорциональны логарифму. чем дальше — тем тише и быстрее. |
# prime drone · null · 2025.09 define :is_prime do |n| return false if n < 2 (2..Math.sqrt(n).to_i).none? { |i| n % i == 0 } end live_loop :primes do primes = (2..64).select { |n| is_prime.(n) } primes.each do |p| play p + 36, amp: 1.0/Math.log(p), release: 4.0/p sleep 1.0/Math.log(p) end end
Идея скетча в том, чтобы услышать распределение простых чисел напрямую. Чем дальше идём по натуральному ряду, тем реже встречаются простые — и в том же темпе уменьшается громкость и длительность каждой ноты. Это создаёт ощущение «затухания», которое математически точно соответствует теореме о распределении простых чисел.
Высота берётся как сам номер простого числа плюс смещение в 36 полутонов — иначе первые ноты ушли бы за пределы слышимого диапазона. Несмотря на простоту правила, в результате слышен паттерн с пропусками, длинными паузами и неожиданными возвращениями.