사람이 연주한 피아노 악곡의 뒷부분을 AI로 자동 생성할 수 있는 iPhone 앱 "RollTab"이 등장했습니다. RollTab의 개발자인 사이먼 에드워드슨 씨가 앱과 독자적인 AI 모델의 개발 과정에 대해 해설하고 있습니다. Training a 125M-parameter Model to Autocomplete Piano - SimEdw's Blog https://simedw.com/2026/08/20/midi-autocomplete/ RollTab은 iPhone/iPad용으로 무료 공개되어 있습니다. 아래 페이지에서 설치할 수 있습니다. RollTab App - App Store https://apps.apple.com/gb/app/rolltab/id6799679058
RollTab을 사용하려면 먼저 MIDI 키보드를 스마트폰에 연결합니다.
연주를 시작하면 스마트폰 화면에 연주한 내용이 기록됩니다.
그리고 연주를 멈추면 기록된 짧은 멜로디로부터 AI가 자동으로 뒷부분을 생성합니다. 에드워드슨 씨가 공개한 데모에서는 연주를 멈춘 뒤 뒷부분이 생성될 때까지 2초도 걸리지 않았습니다.
에드워드슨 씨의 블로그에서는 "포켓몬스터 레드·그린"의 "태초마을" BGM이나 "파이널 판타지 VI"의 "티나의 테마", "엘리제를 위하여" 등을 입력해 AI가 뒷부분을 생성한 샘플을 들어볼 수 있습니다.
에드워드슨 씨는 1억 2500만 개의 파라미터를 가진 Transformer 기반 AI 모델을 독자적으로 트레이닝하여 RollTab을 만들어 냈습니다. 이 시스템의 특징적인 점은 일반적인 음성 생성 AI와 달리 MIDI 파일을 다룬다는 점에 있습니다. MIDI 파일은 MP3 등 다른 오디오 포맷과 크게 다르며, "녹음된 소리를 저장하는 것이 아니라 일련의 이벤트로서 음악을 저장한다"는 특징이 있습니다. 예를 들어 "특정 음높이와 벨로시티로 건반이 눌렸다", "건반에서 손을 뗐다", "서스테인 페달의 상태가 변화했다", "악기를 변경했다"와 같은 정보가 소리가 아닌 이벤트로서 저장됩니다. 에드워드슨 씨의 프로젝트에서는 피아노 연주에 초점을 맞추고 있기 때문에 피아노와 같은 소재를 주로 남기고 그 외의 소재는 삭제 또는 축소했다고 합니다.
에드워드슨 씨에 따르면, 이러한 MIDI 파일의 특징을 기반으로 Transformer 모델을 학습시키려면 먼저 MIDI 이벤트를 모델이 읽고 예측할 수 있는 이산 시퀀스로 변환해야 했다고 한다. MIDI 이벤트를 AI가 다룰 수 있는 '토큰'으로 변환하기 위해 'NOTE_ON', 'NOTE_OFF', 'TIME_SHIFT'와 같은 이벤트를 하나씩 토큰으로 만드는 방식이나, 음표에 '음정·음량·길이'를 부여하는 방식도 시도했지만, AI가 연주 중인 소리를 제대로 관리하지 못하거나 처리 속도가 저하되고 입력할 수 있는 연주 길이가 제한되는 등의 문제가 있었다고 에드워드슨 씨는 말한다. 이에 최종적으로 채택된 것이 'NOTE(pitch, delta_onset, duration, velocity)'라는 표현 방식이다. 이 방식에서는 예를 들어 'C4'를 연주한 뒤 24스텝 후에 'D4'를 연주하는 식으로 기술한다. 음표의 속성을 생성하기 위해 4번의 변환 처리를 수행하던 방식 대신, 이 변환 방법에서는 한 번에 한 음표씩 음악을 진행하기 때문에 iPhone 단말에서도 대형 모델이 초당 약 108개 음표의 처리 속도를 실현하여 인간이 라이브 연주에 필요로 하는 속도를 훨씬 웃도는 데 성공했다.
또한 피아노의 서스테인 페달을 계속 밟으면 밟고 있는 동안만 소리의 울림을 길게 지속시킬 수 있다. 이 서스테인 페달 조작을 이벤트로 추가하면 구현이 복잡해지기 때문에 '음표 길이'에 통합함으로써 모델을 '음높이', '시작 시점', '지속 시간', '벨로시티'만 예측하도록 단순화하여 비교적 작은 모델로도 빠른 응답을 실현하고 있다. 에드워드슨 씨가 학습에 사용한 데이터셋은 주로 퍼블릭 도메인의 오래된 클래식 음악에서 수집되었으며, 최종적으로 수십만 건의 MIDI 파일, 약 3억 개의 음표 이벤트가 수집되었다. 다만 에드워드슨 씨에 따르면 단순히 데이터를 늘린다고 성능이 향상되는 것은 아니며, 데이터 양을 늘리는 것보다 데이터 클리닝과 선별이 더 중요했다고 한다.
생성한 모델을 평가하는 단계에서는 처음에 에드워드슨 씨가 생성된 연주를 직접 듣고 수작업으로 비교했지만, 시간이 많이 걸릴 뿐만 아니라 4음 정도의 짧은 입력에서는 음악적 맥락이 거의 없어 판단이 어려웠다고 합니다. 그래서 에드워드슨 씨는 Gemini 3.5 Flash를 이용해 두 개의 생성 결과를 비교하여 "어느 쪽이 입력된 연주의続き를 더 잘 이어가고 있는가"를 판정하게 함으로써 상당히 큰 선호 데이터셋을 구축할 수 있었다고 말했습니다. 이렇게 얻은 평가 데이터를 활용해 "Direct Preference Optimization(DPO)"라는 추가 학습도 실시되었습니다. DPO는 비지도 트레이닝을 정밀하게 제어하기 위해 개발된 기법으로, 동일한 입력으로부터 여러 답변을 생성하고 그 중에서 "이쪽이 더 좋다"고 평가된 결과를 선택해 AI가 해당 답변을 더 높은 확률로 생성하도록 조정합니다. 이 DPO가 가장 큰 효과를 발휘하여 연주 자동 생성 모델이 더욱 신뢰성 높은 곡을 생성할 수 있는 수준으로 향상되었다고 합니다. 최종적으로 완성된 모델을 Apple의 "Core ML"로 내보내고 가중치를 INT8로 양자화함으로써 iPhone에서 완전히 동작하는 앱 "RollTab"이 완성되었습니다. 에드워드슨 씨는 "이것은 정말 즐거운 프로젝트였습니다. 음악 생성에 관한 흥미로운 논문은 많이 있지만 처음에는 의도적으로 그것들을 깊이 읽는 것을 피했습니다. 다른 사람의 연구를 단순히 구현하는 것이 아니라 직접 문제에取り组하는 즐거움을 맛보고 싶었기 때문입니다. 나중에야 비로소 제 접근 방식을 기존 문헌과 비교했습니다. 제 프로젝트는 아직 완벽과는 거리가 멀고, 때때로 생성된 멜로디가 루프에 빠지거나 짧은 입력으로부터 일관된 곡을 생성하는 것이 어렵거나 애초에 입력할 지시 내용 자체가 어렵다는 등 개선하고 싶은 점도 많이 있습니다. 비유하자면 'GPT-2의 피아노 버전'이라고 할 수 있습니다. 그럼에도 마침내 피아노 앞에 앉아 몇 음을 연주하고 거기서 어떤 것이 탄생하는지 지켜보는 것이 정말 즐겁다고 느낄 수 있게 되었습니다"라고 성과를 말했습니다.
원문 보기 | 출처: Gigazine