본문 바로가기
728x90
반응형

projects/음악 분석(채보)5

EDA ) 악기별 'C4' constant-Q(데시벨) 악기분리 후 채보를 진행하기 위해 cqt가 비슷한 악기끼리 모아서 모델을 만들어보려고 한다. Class 1 (Acoustic Grand Piano(0) ~ Dulcimer(15)) Class 2 (Drawbar Organ(16) ~ Synth Choir(54)) Class 3 (Orchestra Hit(55) ~ Shakuhachi(77)) Class 4 (Whistle(78) ~ Gunshot(127)) 2022. 7. 12.
중간 점검 일단 기본적인 CNN구조로 모델을 만들어 훈련시켜 결과를 보았다. 다음과 같이 음성의 배음구조가 아닌 소리의 크기만을 가지고 노트를 찾는 모습을 볼 수 있었다. 다음 모델은 배음구조를 학습할 수 있도록 마지막 커널사이즈를 (n_bins, 3)과 같이 바꾸어 보았다. (위의 모델은 커널 사이즈 (7,7), (5,5), (3,3)을 사용하였다.) 위쪽 노트에 사용된 악기가 무엇인지는 모르겠지만 음성의 배음을 학습했는지 배음노트를 출력하지않았다. 하지만 노트의 길이라던가, cqt가 잘 안되는 악기가 있는 것 같다. 문제는 노트의 길이는 배음구조를 파악하여 뽑아내려는 노트가 어떤 악기인지 알아야 노트의 길이를 제대로 빼낼 수 있을 것으로 생각되기 때문에, 단순히 커널을 시간축으로 길게 만들기만 해서는 노트의 길.. 2022. 7. 11.
채보 AI (AMT 모델)을 만들기위한 데이터셋 생성 데이터는 9가지 soundfont를 이용하여 wav파일과 midi파일을 생성하고, wav파일은 librosa를 이용하여 constant-Q로 변환(cqt 데이터)하고, midi파일은 pretty_midi를 이용하여 piano_roll로 변환하여, TFRecord로 저장하여 모델훈련에 쓸 예정이다. 데이터는 128개의 악기 중 1~10개를 선택하여 각 악기마다 2~10개의 노트를 연주하게 하였다. wav파일은 44100의 sampling rate로 만들고, piano_roll은 25의 sampling rate로 만들고 cqt는 441의 hop_length와 12*4의 bins per octave로 변환하여 piano_roll과 4배의 크기차이를 가지게 만들었다. 4배의 크기차이를 이용하여 2번 MaxPoo.. 2022. 7. 10.
MIR ; Music informationh retrieval 음악 정보 검색 application 활용분야 Music classification 음악분류 Recommender systems 추천 시스템 Music source separation and instrument recognition 음원 분리 및 악기 인식 *Automatic music transcription* 자동 음악 전사 AMT - 오디오를 악보나 MIDI파일과 같은 기호 표기법으로 변환하는 프로세스를 말한다. Music generation 음악생성 국제 음악 정보 검색 협회 (International Society for Music Information Retrieval)가 존재하며 Resources에 다양한 MIR software가 존재한다. 2022. 5. 6.
고조파 타악기 소스 분리(HPSS) python의 음악 파일 분석 라이브러리인 librosa를 이용해 고조파 타익기 소스 분리를 수행하니 피아노 칠 때의 소리가 분리 되어 음정 소스만 더 확실하게 파악할 수 있게 되었다. librosa내에 librosa.decompose.hpss() 메소드를 사용하여 고속 푸리에 변환(stft)된 데이터로 쉽게 얻을 수 있다 import librosa # wav파일 불러오기 sig, sr = librosa.load(웨이브파일) # 단시간 푸리에 변환 수행 stft = librosa.stft(sig) # 고주파 타악기 소스 분리 harmonic, percussiv = librosa.decompose.hpss(stft) librosa 예제 링크 Harmonic-percussive source separatio.. 2022. 5. 6.
728x90
반응형