일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 트랜스포머
- 확산 모델
- 실시간 렌더링
- AI 기술
- 우분투
- 메타
- LORA
- 아두이노
- 다국어 지원
- LLM
- TRANSFORMER
- ChatGPT
- 일론 머스크
- 오블완
- tts
- ubuntu
- 강화 학습
- 딥러닝
- 생성형 AI
- 오픈AI
- 오픈소스
- OpenAI
- 시간적 일관성
- OpenCV
- 휴머노이드 로봇
- PYTHON
- 인공지능
- AI
- 이미지 생성
- 티스토리챌린지
- Today
- Total
AI 탐구노트
자동 악보 전사 (Automatic Notes Trascription): 들리는 것을 보이는 것으로 바꾸는 기술 본문
음악은 인간 감성의 언어로, 수천 년 동안 문화를 형성하고 우리 삶을 풍요롭게 해왔습니다. 현대의 기술 발전은 단순히 음악을 듣는 것을 넘어, 음악의 구조를 이해하고 시각적으로 표현하는 데까지 이르고 있습니다. 예를 들어, 스마트폰을 통해 간단히 멜로디를 검색하거나, 피아노 앱에서 연주 실력을 평가받는 것처럼, 기술은 점차 음악의 언어를 해석하고 번역하는 방향으로 발전하고 있습니다.
이제는 한 걸음 더 나아가, 특정 소리나 음악을 실시간으로 듣고 이를 정확한 악보로 전사하는 기술이 주목받고 있습니다. 이는 단순한 편리함을 넘어, 교육, 창작, 보존 등의 영역에서 새로운 가능성을 열어줍니다. 이 글에서는 음악을 악보로 전사하는 기술이 가진 잠재력과 이를 실현하기 위한 접근법을 살펴봅니다.
1.악보 제작 기술
기존의 악보 제작
기존의 악보 제작 과정은 전문가의 손길이 필요했습니다. 수작업으로 음악을 분석하고 이를 악보화하는 방식은 시간과 비용이 많이 소요됩니다. 또한, 음악을 듣고 즉석에서 악보를 만드는 것은 숙련된 음악가에게도 까다로운 작업으로, 실시간성과 정확성을 모두 확보하기 어려웠습니다.
음악을 악보로 변환하는 기술
음악을 듣고 이를 악보로 변환하는 기술은 음파 데이터를 분석하여 주파수, 음 높이, 리듬 등을 추출하는 기술에 기반을 둡니다.
- 딥러닝 모델을 활용한 음파 데이터 분석
- 음파 데이터를 실시간으로 분석하여 음의 높낮이와 길이를 파악하고 데이터 필터링 기술을 통해 불필요한 노이즈를 제거합니다.
- 음악 데이터를 학습한 AI 모델이 멜로디, 화음, 리듬 및 사용된 악기 등을 인식합니다.
- MIDI 포맷 기반 전사
- 음향 기술 또는 AI 모델을 통해 분석된 정보들은 midi 파일로 변환되어 다양한 음악 편집, 연주 기기에서 활용될 수 있으며, 이를 기반으로, 기존 음악 데이터베이스와 연계하여 음악 스타일이나 장르에 따른 악보로 변환할 수 있습니다.
제약사항
- 복잡한 화음 분석의 한계 : 다중 악기의 합주를 정확히 분리하여 악보로 전환하는 기술은 여전히 도전 과제입니다.
- 노이즈 필터링 문제 : 실외 환경이나 배경 소음이 많은 상황에서는 전사 정확도가 떨어질 수 있습니다.
- 라이선스 문제 : 상업적으로 사용되는 음악 데이터의 저작권 문제가 해결되어야 합니다.
2.테스트
오픈소스 코드나 공개 서비스를 이용해서 실제로 음악 전사가 되는지 한번 간단하게 테스트 해 보겠습니다.
2.1.테스트 데이터 (음악 mp3 파일)
우선 테스를 위한 데이터는 유튜브 영상에서 음악 부분만 짧게 추출해서 해 봅니다. 테스트에 사용할 서비스 데모가 둘 다 악기 1개에 대해서 처리할 수 있는 것으로 되어 있었기 때문에 가장 음익 확실하게 들릴 피아노곡을 택했습니다. J.S. Bach의 'Sinfonias (BWV 787~801)에서 맨 앞 1분만 가져와서 진행하기로 했습니다. 참고로 해당 곡은 15개의 독립곡으로 구성되어 있다고 하며 제법 깁니다. 아래 영상을 클릭하시면 전곡을 들을 수 있습니다.
테스트 음원 추출을 위한 커맨드는 다음과 같습니다. 앞에서 1분 간만 추출합니다.
% yt-dlp --extract-audio --audio-format mp3 --audio-quality 0 --postprocessor-args "-t 00:01:00" "https://www.youtube.com/watch?v=ngjrfM1Bcjw" -o "output.mp3"
2.2.테스트를 위한 서비스
테스트를 위한 서비스로는 Spotify의 Basic-Pitch와 AI-MIDI 두 가지를 사용해 봤습니다.
AI-MIDI
UI는 아주 단순합니다. 음악 파일을 로딩하고 바로 변환하기를 누르면 끝납니다. 아래 화면에서 BPM(Beats Per Minute)는 1분당 비트 수로 음악의 속도를 의미하며, Beat는 리듬의 가장 작은 반복 단위이고 Bar는 음악 마디를 나타내는 단위라고 합니다. 그렇게 되면이는 4/4 박자에 해당한다고 보면 되겠죠. 그런데 자동으로 이를 추출하는게 아닌지 Beat, Bar 값을 선택할 수 있게 되어 있습니다. 흠... 왜일까요? 찾아보니 다음과 같이 세부 곡마다 박자가 다를 수도 있고 같은 곡에서도 부분적으로 다를 수 있는 모양이었습니다.
- BWV 787 (Sinfonia No.1 in C Major): 일반적으로 3/4 박자.
- BWV 788 (Sinfonia No.2 in C Minor): 일반적으로 4/4 박자.
- BWV 801 (Sinfonia No.15 in B Minor): 일반적으로 3/4 박자.
Basic-Pitch (from Spotify)
2.3.결과물 비교 : 생성된 midi 파일을 MuseScore를 이용해 확인
예상과는 달리, 같은 곡인데도 다른 악보를 만들어 냅니다. 아... 이렇게 다를 수도 있구나 싶었습니다. 막귀에 음악에 무지한 제 귀에 연주 결과도 비슷한 부분도 있지만 확연히 다르구요... 아래 그림을 보면 아시겠지만 원곡과도 다르고 변환한 서비스에 따라서도 확연한 차이를 보입니다.
그런데... MuseScore에서 Play를 시켜보면 제 귀에는 AI-Midi에서 생성한 MIDI 파일이 Basic-Pitch의 경우보다 실제 연주와 좀 더 가깝고 악기 소리도 비슷하게 들리는 것 같습니다. Basic-Pitch의 경우, 음이 전체적으로 쨍하지 않고 뭉개지는 느낌이라 제 스타일은 아니었죠. (다만, 제가 음악 문외한인 것을 잊지 마세요!)
→ 업데이트) Basic-Pitch의 문제가 아니었습니다. MuseScore에서 기본적으로 전자피아노로 인식되었는데 이를 피아노로 변경하니까 비슷한 음색이 나왔습니다.
한계 : 문제는 내게 있다!
위의 테스트 과정에서 아주 큰 문제가 하나 있다는 것을 알게 됐습니다. 기술의 문제가 아니라 제게는 변환된 악보가 어떤 것이 제대로 되었는지를 알 수 있는 음악적 소양이 거의 없다는 것이었죠. T^T 어쩔 수 없이 MusicScore 4에서 오픈하고 여기서 대충 플레이 시켜본 결과가 영상에서 들리는 소리와 비슷한지 정도만 확인이 가능했습니다.
3.정리하며
이 기술에 대해 관심을 가지게 된 것은 아이가 피아노로 자기가 만들었다며 해 준 연주가 계기였습니다. 아직 어리다보니 악보를 그릴 수 있는 실력도 아니고 저도 이쪽은 소질이 없기 때문에 연주를 듣고 악보를 그려놓으면 다음에 그걸 가지고 연주나 편곡 등을 해 볼 수 있지 않을까 하는 생각이 들었기 때문이죠.
그리고, 원래 이 작업은 코드를 생성하고 그걸 통해 진행하려고 했습니다. 참고자료에 나온 다양한 라이브러리들이 대부분 간단하게 구현할 수 있도록 만들어져 있어서 그게 낫겠다 싶었기 때문인데, 해당 코드들을 이용한 서비스가 무료로 제공되는 것들이 있다보니 굳이~ 하는 생각이 들었고 그 때문에 제공되는 웹 데모를 그대로 이용했습니다. 귀차니즘도 한몫 했습니다. ^^
정리하면, 음악을 듣고 악보로 변환하는 기술은 기존의 복잡하고 시간 소모적인 악보 작성 과정을 단순화해서, 음악 창작자와 교육자에게 새로운 기회를 제공합니다. 물론 기술적 제약, 저작권 문제 등등 해결해야 할 과제도 많이 있을 것 같습니다. 하지만, 이러한 도전은 기술 발전을 통해 점차 극복되지 않을까 생각됩니다. 앞으로 음악이 기술과 만나 만들어 낼 새로운 가능성의 여정을 기대해 보겠습니다.
4.참고자료
NeuralNote
- 오디오에서 MIDI 변환을 좋아하는 디지털 오디오 워크스테이션으로 제공하는 오디오 플러그인
- 오픈소스 딥러닝을 이용한 악보 필사 소프트웨어로 Apache 2.0 라이선스로 공개
- 서비스 내부는 Spotify의 Basic Pitch 모델을 사용하고 있다고 알려져 있음
- 실시간 오디오 전사는 지원하지 않음
GitHub - DamRsn/NeuralNote: Audio Plugin for Audio to MIDI transcription using deep learning.
Audio Plugin for Audio to MIDI transcription using deep learning. - DamRsn/NeuralNote
github.com
Basic Pitch (Spotify)
- 코드 (Github) : Apache 2.0 라이선스를 따름
- Spotify의 Audio Intelligence Lab에서 개발한 경량 신경망을 사용하는 자동 음악 전사(AMT)를 위한 파이썬 라이브러리
GitHub - spotify/basic-pitch: A lightweight yet powerful audio-to-MIDI converter with pitch bend detection
A lightweight yet powerful audio-to-MIDI converter with pitch bend detection - spotify/basic-pitch
github.com
- 데모 사이트
Basic Pitch: An open source MIDI converter from Spotify - Demo
Try Basic Pitch, a free audio-to-MIDI converter with pitch bend detection, built by Spotify. Learn more or follow the instructions below. Press record and sing a ditty into your computer. Or drop a recording of any single instrument (piano, guitar, xylopho
basicpitch.spotify.com
MR-MT3
GitHub - gudgud96/MR-MT3: MR-MT3: Memory Retaining Multi-Track Music Transcription to Mitigate Instrument Leakage
MR-MT3: Memory Retaining Multi-Track Music Transcription to Mitigate Instrument Leakage - gudgud96/MR-MT3
github.com
AI-MIDI
- 무료 변환 서비스, 하지만 결과물은 상용으로 사용 가능
AI-powered audio to midi converter | AI-MIDI
AI-powered accurate free and online audio to midi converter. Convert any type of audio format (ex. wav, mp3, ogg, flac) to MIDI file.
ai-midi.com
Klangio's AI Magic
- 음악 파일에서 악보를 생성해 주는 상용 서비스
- 소개영상 : https://youtu.be/X2TLOS_Cxfc?si=Nr6kvm_-ofN_k02B
Klangio – AI Software Tools for Transcribing Music into Notes
Klangio AI turns Music into Notes. Let the different apps transcribe your Audio and YouTube into Sheet Music, MIDI and MusicXML.
klang.io
5.Q&A
Q. 이런 서비스들은 어떤 방식으로 음악을 악보로 변환할 수 있는 건가요?
딥러닝 모델이 음파 데이터를 분석하여 주파수, 리듬, 멜로디를 추출하고 이를 midi 파일로 변환합니다. 변환된 midi 파일은 다양한 음악 프로그램에서 악보로 표시될 수 있습니다.
Q. 화음 분석은 어느 정도 정확한가요?
기술 발전에 따라 단순 화음은 높은 정확도를 보이지만, 다중 악기의 복잡한 화음은 아직 일부 한계가 있다고 알려져 있습니다. 테스트를 진행한 두 서비스의 데모 사이트는 1개의 악기에 대해서만 결과물을 보여주었습니다. 하지만, 여기 소개되지 않은 다른 기술들은 악기 구분을 할 수 있을 것 같습니다. 흠... 더 찾아봐야겠지만요...
Q. 이 기술이 상업적으로 사용될 때 저작권 문제는 어떻게 해결되나요?
저작권 문제가 예상되는 곡은 데이터베이스에 등록된 정보를 통해 전사(Transcription) 과정에서 제외하거나, 사용 전 라이선스를 확인하도록 시스템을 구축하는 방식으로 해결하는 것으로 알려져 있습니다. 이는 서비스 제공자에 따라 다를 수 있습니다.
'AI 기술' 카테고리의 다른 글
Large Concept Models : 문장 단위로 생각하는 인공지능 (1) | 2024.12.27 |
---|---|
INFP : 대화에 맞춰 움직이는 얼굴을 생성하는 AI 기술 (1) | 2024.12.26 |
TGH : 긴 볼류메트릭 비디오를 효율적으로 표현하는 시간적 가우시안 계층 구조 (6) | 2024.12.16 |
Gaze-LLE : 대규모 학습 인코더를 활용한 시선 대상 추정 (2) | 2024.12.15 |
DeepSVG : 벡터 그래픽 생성과 애니메이션을 위한 계층적 생성 네트워크 (3) | 2024.12.14 |