작도닷넷 블로그
작도닷넷 블로그

컴퓨터

작곡 맞춤법 검사기

06/11/07 11:54(년/월/일 시:분)

오늘 우리 과에서 졸업작품 전시회가 있었다. 나도 2008년에는 졸업을 하기 때문에 뭘 할까 생각해봤는데.

요즘 나를 사로잡는 주제는 창작 자동화 도구다. 소설로도 써봤고 (자동 소설 생성기, 사이버 가수 생성기), 자료도 찾아보고 있다. 생각해보면 불가능하지는 않을 것 같아서 해볼까 생각도 하고는 있는데, 거의 불가능에 가까울 정도로 어렵기 때문에 과연 가능할까 싶기도 하고.

그래서 졸업 작품 수준으로 줄이고 줄여본 것이 '작곡 맞춤법 검사기'다. 작곡을 공부해보면 알겠지만, 인간의 귀에 자연스럽게 들리는 어떤 법칙이 있다. 그래서 화성학, 선율학, 대위법 등의 작곡이론에 따라 입력한 노트의 맞춤법을 검사하고, 틀린 부분을 지적하고 좀 더 자연스러운 진행을 제안하는 프로그램이다.

이를 위해서는 다음이 필요하다.
1. 미디 프로그래밍 - 원서조차도 몇 권 없다.
2. 이를 위한 자료구조와 탐색 알고리즘, 인공지능 프로그래밍 기법 - 현재 추천받은 것은 rule-based AI, depth first search, recursive function call 정도.

http://occam.n4gate.com/occam.php/AboutRuleBasedAi
Rule-based AI 설계
아마, 게임의 인공 지능에 대해 별다른 선전이 없는 게임은 대부분 룰 베이스드일 겁니다. (개발자가 룰 베이스드란 말을 쓰던, 안쓰던 말이죠.) 뛰어난 인공지능은 아닐지라도 그냥 할만한 인공지능을 원한다면 그냥 룰 베이스드 만으로 충분하지 않을까요.

http://blog.naver.com/vector3/60023317769
Depth-first Search (DFS)

이를 위해서 "굳이 불완전한 인간의 지능을 흉내낼 필요가 있느냐"는 한계에 부딪혀 사양 학문이 되버린 인공지능을 공부해야 하고, 국내는 물론 전 세계로 따져도 얼마 찾기 힘든 미디 프로그래밍을 공부해야 한다. 나 과연 할 수 있을까...

앞으로의 계획을 조금 더 말해보면, 기존 태진, 금영 등의 노래방 업체에서 만들어 놓은 노래 데이터를 이용해서 "표절 판정기", 그리고 최근 인기 곡에서 자주 쓰이는 패턴을 찾아내서, 그것과 정확히 일치하지는 않으면서 인기 패턴 범위 내의 멜로디를 자동으로 생성하는 "인기 멜로디 생성기", 그리고 기존의 노래 검색이 제목과 아티스트, 가사 등의 태그 정보에 의존한 것과 달리, 그냥 흥얼거리는 멜로디로 검색이 가능한 "멜로디 검색기"... 그리고 궁극적으로는 아날로그 데이터(wave, mp3)를 디지털 데이터(midi)로 변환하고, 사운드 차원의 맞춤법 검사와 자연스러운 진행을 제안하는 시스템.

그러니까 정확히 말하면 인간의 창작 과정에서 자동화할 수 있는 부분을 컴퓨터가 도와주는 것이다. 나의 분석에 따르면 인간의 창작은 다음의 단계를 거친다.

1. 기존의 작품을 많이 보고 느낀다.
2. 대학 같은 곳에서 어떤 법칙을 배운다.
3. 작품(1번)과 법칙(2번)에 따라 머리 속에서 아이디어를 떠올려 보고(random), 표절이 아니라는 확신이 들면 써 나간다.
4. 배포

여기서 기존의 작품을 검색하는 것을 컴퓨터가 대신 검색해주고, 경향이나 법칙을 찾는 것도, 표절이 아니라는 것도 컴퓨터가 충분히 대신해줄 수 있을 거라고 본다. 창작은 창의력이나 번뜩이는 아이디어 만으로 가능한 것이 아니기 때문에, 그 나머지 부분을, 그 빈 자리를 컴퓨터가 메꿔줄 수 있을 것으로 기대한다. 그래서 그 중에 '법칙'에 해당하는 창작 이론을 프로그램으로 만들어서 자동화를 시키면, 최소한 작곡을 막 공부하기 시작하는 사람들에게는 많은 도움이 되지 않을까.

마지막까지 가면 정말 꿈의 시스템이고, 나 살아 생전에 가능하긴 할까 싶은 수준이지만, 뭐 언젠가 되긴 할거고 특히 아날로그 데이터의 태그화는 특히 MPEG-7 쪽으로 이미 많이 진행되고 있다. 별로 진척이 안 되서 그렇지... 그리고 요즘에는 기존의 인공지능의 빈 자리를, 대량의 데이터를 기반으로 한 검색 알고리즘과 데이터 마이닝이 대체하는 추세잖아. 그냥 소설로만 끝날 것 같지는 않지만, 굳이 그걸 내가 해야 할 필요가 있는가에 대해서는 글쎄 잘 모르겠네. 나도 벌어 먹고 살기는 해야겠고.


생각해보면 굳이 이런 걸 졸업작품으로까지 낼 필요가 있나 싶긴 한데. 일단 내년에는 어학연수를 갈 거니까 1년 정도 쉬면서 시험 삼아 해보고, 안되면 말고. 2008년에 보자.

http://www.xacdo.net/tt/rserver.php?mode=tb&sl=524

  • 퍼프 06/11/08 17:26  덧글 수정/삭제
    재밌는 아이디어 같습니다. 작곡 초보의 가이드를 위한 화성학 검토 프로그램이라면, mid 파일을 열면 max/msp로 노트를 분석해서 검토하는 식의 비교적 간단한 프로그래밍도 가능할 것 같군요. 알고리즘이 간단하지만은 않겠지만요^^;
    평소에도 가끔씩 들러 재미난 글 보고 가곤 하는데, 첫 리플 남겨봅니다. :)
이름
비밀번호
홈페이지 (없어도 됩니다)

비밀글로 등록
작도닷넷은 당신을 사랑합니다.

[이전 목록]   [1] ... [186][187][188][189][190][191][192][193][194] ... [235]   [다음 목록]

최근 글

이웃로그 관리자 옛날 작도닷넷 태터툴즈 ©현경우(xacdo) since 2001