Daybreakin Things

Posted
Filed under 살아가기, 생각하기

오늘 Musical Communication & Music Technology 과목의 랩과 수업이 모두 있었다. 랩에서는 Director Musices라는 performance rule 시스템을 이용해 그냥 악보대로 적혀있는 midi 파일을 좀더 진짜 연주답게 바꾸고 이것을 Cakewalk Sonar에서 좀더 다듬어 synthesize하는 것이 목표였다. 그러나 어제의 그 삽질 운빨이 계속되고 있는지 하필이면 내가 자리잡은 컴퓨터가 말썽을 일으켜 사운드 드라이버가 먹통되는 바람에 Sonar로 편집하는 부분을 제대로 다뤄보지 못했다. ㅠ_ㅠ;

수업 시간은 좀 감동이었다.

실제 음악(audio signal)을 MIDI로 분석하고 이것을 악보화하거나 혹은 다른 performance rule을 적용하여 다른 느낌으로 재생하는 것에 관한 내용이었다. 사실 '제대로 깊이있게' 배우자면 FFT부터 시작해서 굉장히 복잡한 미적분들을 다뤄야 하지만 이 수업에서는 현재까지 이 분야가 어느 정도의 수준까지 구현했는지 정도를 맛배기로 보여주는 수준만 다루었다.

그럼에도 불구하고, 내가 중학교 때 절대음감을 테스트하기 위해 Robin Spielberg의 An Improvisation On The Kanon1을 혼자 수십 수백 번을 들으며 악보로 옮기던 그 삽질이 컴퓨터로 실제 구현되고 있다는 사실이 정말 놀라웠다. 아니, 사실 '이론적'으로 생각하자면 별거 아니긴 한데 그동안 아무도 주변에서 알려주지 않던 그 연결고리를 발견했다는 것이 기쁘다고 하는 게 더 정확하겠다. 게다가 그 과정에 바로 지난 period에 배운 Artificial Neural Network를 활용한다고 한다. 이미 연구자들이 만들어둔 소프트웨어가 공개되어 있어 이 글을 쓰는 지금 실제로 그 곡을 wav로 변환하여 mid로 옮기는 중이다.2 과연 어떤 결과가 나올지 심히 궁금하다. (해당 프로그램이 윈도우 전용이라 패러렐즈에서 열심히 돌리고 있는 중.)

ANN을 이런 곳에 활용할지는 미처 생각하지 못하고 있었는데(speech recognition에 활용할 수 있다는 정도까지는 들어봤으나 음악을 악보로 옮기는 데 사용할 줄은 생각지 못했다), 그동안 완전히 독립된 경로로 배워온 전산과 음악이 드디어 한 접점에서 만나는 순간이랄까. ㅠㅠ; 내가 만약 이런 연구가 진행되고 있고, 어떤 키워드로 그 내용을 검색할 수 있는지 중학교 때 알았더라면 지금 무엇을 하고 있었을까. 과학고 입학 후 근 6년 동안 취미로만 억눌려(?) 왔던 음악이 갑자기 그동안 배운 전산 지식과 맞물려 돌아갈 수 있는 계기를 이 수업이 마련해준 것이다.

교수님한테 그 채보 경험담을 얘기하니 현재는 MIDI 신호 형태로 옮기는 정도만 할 뿐 실제 악보로 transcribe하기까지는 난관이 많다며, 이러한 recognition 기술을 악보 제작에 활용하는 부분은 연구가 되어 있지 않다고 했다. (뭐 현실에 존재하는 음악이 일단은 악보를 바탕으로 만들어지니 사실 언제나 소스가 존재하므로--구할 수 있는가는 둘째치고--그랬을 수도 있긴 하다.)

KAIST에서도 문화기술 대학원에서 이런 분야를 좀 다루나 모르겠다. 연구 수준을 봐서는 KTH가 훨씬 오랫동안 기반을 닦아와서 더 나아보이는데, 국내에서는 어떨까나.


  1. Robin Spielberg 홈페이지 들어갈 때 나오는 음악이 바로 이것. 

  2. 네트워크 크기가 노드 수로는 대략 200~300개, 연결 수로는 4000~5000개 정도이기 때문에 굉장히 많은 연산을 요구해서인지 이 글을 쓰는 동안 겨우 70초 분량밖에 처리하지 못했다. 재미있는 건 이러한 network를 표현하는 별도의 파일 포맷이 있다는 것. (vim에서 여니 문법 강조도 된다)