네, 제목을 잘 읽어보세요. 파이 소리를 재생합니다.
보다 구체적으로, 처음 1000의 모든 pi 자리수에 대해 음표에 매핑하고 결과 멜로디를 파일로 출력합니다.
기본적으로 각 숫자는 C 메이저 스케일 (기본적으로 일반 스케일)의 음표로 바뀝니다. 따라서 1은 중간 C로, 2는 D4로, 3은 E4로, 9는 D5 등으로 바뀝니다.
규칙
- 각 음표의 길이는 정확히 0.5 초 여야합니다.
- 멜로디에는 시작 3을 포함하여 pi의 첫 1000 자리 숫자가 포함되어야합니다.
- 1 ~ 7은 중간 C ~ B4, 8은 C5, 9는 D5, 0은 E5를 나타냅니다.
- 이 문제를 해결하기 전에 만들어진 파일 형식은 모두 잘 지원됩니다.
- 파일의 시작 및 끝을 포함하여 일시 중지가 없을 수 있습니다.
- 연주되는 악기는 중요하지 않습니다. 정확한 소리를 쉽게들을 수 있다면 피아노, 사인파 등이 될 수 있습니다 .
- 파일을 제외하고 입력이없고 출력이 없어야합니다. 다른 파일에서 읽을 수 없습니다.
- 표준 허점은 금지되어 있습니다.
수학 코드 예제 :
(*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];
처음 100 자리를 표시하는 멜로디 예 : http://vocaroo.com/i/s0cfEILwYb8M
건전성을 위해 각 음표의 피치 테이블과 각 숫자는 어떤 음표를 나타 냅니까 :
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
-옥타브 에 있음을 명확히해야합니다 . 또한 표에서 숫자0
가 마지막에옵니다 (E5
)?