Evet, başlığı doğru okudun. pi sesi çalmak.
Daha spesifik olarak, ilk 1000'deki her pi basamağı için bir nota eşleyin ve ortaya çıkan melodiyi bir dosyaya çıkarın.
Temel olarak, her basamak C Major ölçeğinde (temelde normal ölçek) bir nota dönüşür. böylece 1 Orta C'ye, 2 D4'e, 3 E4'e, 9 D5'e vb.
kurallar
- Her nota tam olarak 0,5 saniye uzunluğunda olmalıdır.
- Melodi, başlangıç 3 dahil olmak üzere ilk 1000 haneyi içermelidir.
- 1 ila 7 Orta C ila B4'ü temsil eder, 8 C5, 9 D5 ve 0 E5'tir
- Bu meydan okumadan önce oluşturulduğu sürece, iyi desteklenen tüm dosya biçimlerine izin verilir.
- Başlangıç ve bitiş de dahil olmak üzere dosyanın hiçbir yerinde duraklama olmayabilir.
- Çalınan enstrüman önemli değil. Doğru ses kolayca ısıtılabildiği sürece bir piyano, sinüs dalgası, gerçekten herhangi bir şey olabilir.
- Dosya dışında herhangi bir girdi almamalı ve çıktı üretmemelidir. Diğer dosyalardan okumaya izin verilmiyor.
- Standart boşluklar yasaktır.
Örnek matematik kodu:
(*please forgive me for this horrible, horrible mess of code*)
digits = RealDigits[Pi, 10, 1000][[1]] /. {0 -> 10};
weights = {0, 2, 4, 5, 7, 9, 11, 12, 14, 16};
melody = {};
For[i = 1, i < 1001, i++, melody = {melody , Sound[SoundNote[weights[[digits[[i]]]], 0.5]]}]
final = Sound[Flatten[melody]];
Export["C:\\Mathematica Shenanigans\\pi.wav", final];
İlk 100 rakamı gösteren örnek melodi: http://vocaroo.com/i/s0cfEILwYb8M
Akıl sağlığınız için, her nota için bir perde tablosu ve her rakamın hangi notayı temsil ettiği:
Digit 1: C: 261.63 Hz
Digit 2: D: 293.66 Hz
Digit 3: E: 329.63 Hz
Digit 4: F: 349.23 Hz
Digit 5: G: 392.00 Hz
Digit 6: A: 440.00 Hz
Digit 7: B: 493.88 Hz
Digit 8: C5: 523.25 Hz
Digit 9: D5: 587.33 Hz
Digit 0: E5: 659.25 Hz
4
oktav içinde olduğunu açıklığa kavuşturmalısınız . Ayrıca, tablonuzda rakam0
son (E5
) geliyor?