Sì, hai letto bene il titolo. riprodurre il suono di pi.
Più specificamente, per ogni cifra di pi nel primo 1000, mappala a una nota musicale e genera la melodia risultante su un file.
Fondamentalmente, ogni cifra si trasforma in una nota nella scala C Major (sostanzialmente la scala normale). quindi 1 gira in C centrale, 2 gira in D4, 3 gira in E4, 9 gira in D5 e così via.
Regole
- Ogni nota dovrebbe durare esattamente 0,5 secondi.
- La melodia dovrebbe contenere le prime 1000 cifre di pi, incluso il 3 iniziale.
- 1 a 7 rappresentano il mezzo da C a B4, 8 è C5, 9 è D5 e 0 è E5
- Sono consentiti tutti i formati di file ben supportati, purché siano stati creati prima di questa sfida.
- Non ci possono essere pause in qualsiasi parte del file, incluso l'inizio e la fine.
- Lo strumento suonato non ha importanza. Potrebbe essere un piano, un'onda sinusoidale, qualsiasi cosa, a patto che il suono corretto sia facilmente sopportabile.
- Non deve accettare input né produrre output tranne il file. La lettura da altri file non è consentita.
- Sono vietate le scappatoie standard.
Esempio di codice matematico:
(*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];
Melodia di esempio che mostra le prime 100 cifre: http://vocaroo.com/i/s0cfEILwYb8M
Per la tua sanità mentale, una tabella di tonalità per ogni nota e quale nota rappresenta ogni cifra:
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
ottava. Inoltre, nella tua tabella digit0
come last (E5
)?