Korean lecture만 썼더니 재미없기도 하고(...) 요즘에 뭐하고 있는지 하나 써보기로 했다. Korean lecture 카테고리의 경우, 어차피 혼자서 방대한 한국어를 다 완벽하게 알려줄 수는 없기 때문에 그건 차근차근 혼자 정리해보는 측면에서 접근하기로 하고 Learn Korea로 이름을 바꾸어 한국 문화에 대해 소개하는 글들도 앞으로 올릴 예정이다.
포스트 제목은 이번 마지막 period에 듣고 있는 과목 이름이다. 생긴 게 정말 CT스럽게 생겼는데 실제 내용도 정말 CT스럽다. 내용은 카이스트 CT 대학원1의 'GCT533 사운드디자인과 프로그래밍' 이것과 사실상 같다고 보면 될 것이다. (syllabus 페이지 참조.)
수업 내용은 우리가 무심코 감상하는 음악, 혹은 무심코(?) 연주하는 음악이 실제로 과학적으로 분석했을 때 어떤 특징이 있기 때문에 '음악적'으로 들리는 것인지에 대한 내용을 다루고 있다. 실습과 랩 시간에는 Pure Data2라는 오픈소스3 프로그램을 이용하여 실시간으로 소리를 생성하는 등 MIDI의 근원적인 기술들을 직접 만진다.

연습문제 풀어보기. 건반을 누르면 소리의 주파수가 바뀌는데 그 fade 시간을 조절할 수 있다.
특히 수업 시간에 예제로 들려주는 것들 중에 모차르트 피아노 소나타 K331 1악장이라든가, 슈만의 트로이메라이 등은 내가 피아노로 직접 익숙하게 쳐본 것들이라 더 와닿기도 했다. 왜 MIDI로 노트 찍어서 그냥 연주하면 사람이 연주하는 것처럼 느껴지지 않을까, 그리고 어떤 요인들이 음악을 음악답게 만드는가에 대해 조금이나마 그 해답을 알 수 있는 시간이었다. 아직은 클래식 음악이나 재즈 위주로 분석이 이루어진 듯하고, 보다 현대적인 음악들--대중가요나 비트가 강한 rock 등4--은 체계적으로 분석이 된 것이 많지 않은 것 같다.
재미있는 건, 음악이 굉장히 수학적이면서도, 실제 악보에 표기된 수학적인 박자와 사람이 실제로 그 박자라고 생각하고 듣거나 연주하는(perceived) 박자는 다르다는 것. 바로크 음악이 상대적으로 그 변화가 적은 편이긴 하지만 그래도 악보와 실제 연주를 컴퓨터로 분석해보면 차이가 많이 생기는 것을 볼 수 있었다. 이곳에서 직접 개발한 프로그램 중에 Director Musices5라는 것이 있는데 연주자에 따른 악곡 해석을 수학적으로 모델링하여 parameter 값을 바꾸고 무려 LISP을 사용하여 rule을 프로그래밍할 수 있게 한 것까지 있을 정도다. (내가 예전에 막연히 상상만 했던, 녹음한 소리를 분석해서 악보까지는 아니더라도 note와 duration 등을 분석해주는 툴도 이미 많이 사용되고 있다.)
중학교 무렵 한창 Visual Basic을 가지고 놀면서 Win32 API의 MIDI 관련 함수들을 가지고 간단한 event list editor부터 piano-role editor까지 시도하는 등 나름대로 음악 관련 프로그래밍에 관심이 있던 터라 굉장히 흥미롭다.
어쨌든 이 수업으로 인해 내가 그동안 막연히 좋아하기만 했던 음악에 대해 새로운 관점에서 접근해 볼 수 있는 좋은 기회가 될 것 같다.