이 글은 <원주율 음악 만들기: 소스코드, 결론> 의 연재글입니다.
황금비 음악은 이렇게 만듭니다.
파이썬 소스코드 (파이썬 3 입니다.)
import random
file1 = open("goldenratio_original.txt", "r")
file2 = open("goldenratio_write.txt", "w")
data = file1.read()
#print(data)
#초기값 설정
data2 = "MML@t120"
file2.write(data2)
for i in data :
if i == "0" :
data2 = "o3g#"
elif i == "1" :
data2 = "o3a"
elif i == "2":
data2 = "o3b"
elif i == "3" :
data2 = "o4c"
elif i == "4" :
data2 = "o4d"
elif i == "5":
data2 = "o4e"
elif i == "6":
data2 = "o4f"
elif i == "7" :
data2 = "o4g#"
elif i == "8" :
data2 = "o4a"
elif i == "9" :
data2 = "o4b"
file2.write(data2)
j = random.randint(1,24)
if 1 < j < 12 :
data3 = ""
elif 12 < j < 19 :
data3 = "8"
elif j == 20 :
data3 = "2"
elif 20 < j < 23 :
data3 = "."
elif j == 24:
data3 = "8."
file2.write(data3)
file2.close()
file1.close()
goldenratio_original.txt 에는 10진수로 된 황금비 수치가 들어 있습니다.
황금비의 수치는 인터넷에서 누구나 쉽게 찾아볼 수 있습니다. …… 다만… 문제가 있습니다.
황금비의 수치는 원주율의 수치처럼 수치가 긴 것이 공유되어 있지 않습니다. 따라서, 황금비로는 2~3분의 음악을 다 채울 수 없었고 결국 1분짜리 음악이 만들어졌습니다.
황금비 음악을 만드는 원리는 원주율 음악과 대동소이 합니다. 따라서 별도로 설명할 만한 부분이 거의 없습니다.
참고: 컴퓨터 프로그래밍을 통해 자동으로 생성된 음악이므로, 해당 음악에서 별도의 저작권은 없습니다.
답글 남기기