Polymath는 머신 러닝 기술을 활용하여 하드 드라이브나 YouTube와 같은 소스에서 음악 라이브러리를 음악 제작을 위한 샘플 라이브러리로 변환하는 혁신적인 도구입니다. 이 도구는 자동으로 곡을 스템(비트, 베이스 등)으로 분리하고, 동일한 템포와 비트 그리드(예: 120bpm)로 정량화하며, 음악 구조(예: 절, 후렴 등), 키(예: C4, E3 등) 및 기타 정보(음색, 음량 등)를 분석하고, 오디오를 MIDI로 변환합니다. 그 결과, 음악 프로듀서, DJ, 그리고 ML 오디오 개발자들을 위한 워크플로우를 간소화하는 검색 가능한 샘플 라이브러리가 생성됩니다.
Polymath는 다양한 곡의 요소를 결합하여 독창적인 새로운 작곡을 쉽게 만들 수 있게 합니다. 예를 들어, Funkadelic 트랙의 비트, Tito Puente 곡의 베이스라인, 그리고 Fela Kuti 곡의 적합한 호른을 선택하여 DAW에 원활하게 통합할 수 있습니다. Polymath의 검색 기능을 사용하여 관련 트랙을 발견하면, 세련된 한 시간 분량의 매시업 DJ 세트를 쉽게 만들 수 있습니다. ML 개발자들에게는 Polymath가 생성 모델 등을 훈련시키기 위한 대규모 음악 데이터셋을 만드는 과정을 단순화합니다.
Polymath는 Demucs 신경망을 사용한 음악 소스 분리, sf_segmenter 신경망을 사용한 음악 구조 분할/라벨링, Crepe 신경망을 사용한 음악 피치 추적 및 키 감지, Basic Pitch 신경망을 사용한 음악에서 MIDI로의 전사, pyrubberband를 사용한 음악 정량화 및 정렬, 그리고 librosa를 사용한 음악 정보 검색 및 처리를 통해 작동합니다.
Polymath 커뮤니티에 참여하려면 Discord에서 Polymath Community에 가입하세요. Polymath를 사용하기 위해서는 시스템에 ffmpeg가 설치되어 있어야 합니다. 설치를 위해서는 Python 버전 >=3.7 및 <=3.10이 필요하며, 터미널에서 git clone https://github.com/samim23/polymath
명령어를 실행한 후, cd polymath
와 pip install -r requirements.txt
명령어를 순서대로 실행하면 됩니다. GPU 지원을 위해서는 TensorFlow와 CUDA 설정이 필요하며, Docker를 사용한 설정도 가능합니다.