프로젝트 소개
audioFlux는 C로 구현되고 Python 바인딩을 제공하는 오디오 및 음악 분석과 특징 추출을 위한 오픈소스 라이브러리입니다. 데이터 스트림 아키텍처를 기반으로 알고리즘 모듈을 분리하여 다차원 특징을 빠르고 효율적으로 추출할 수 있도록 설계되었습니다. 이 프로젝트는 분류, 소스 분리, 음악 정보 검색(MIR), 음성 인식(ASR)을 포함한 오디오 딥러닝 워크플로우를 대상으로 합니다.
라이브러리는 변환(transform), 특징(feature), MIR의 세 가지 주요 모듈로 구성됩니다.
변환 모듈은 시간-주파수 표현을 제공합니다. BFT(기반 푸리에 변환, STFT와 유사), NSGT(비정상 가버 변환), CWT(연속 웨이블릿 변환), PWT(의사 웨이블릿 변환)는 선형, linspace, Mel, Bark, Erb, Octave, Log 등 여러 주파수 스케일 유형을 지원합니다. 다른 변환은 독립적인 메서드로 제공됩니다: CQT(일정-Q 변환), VQT(가변-Q 변환), ST(S-변환/Stockwell 변환), FST(고속 S-변환), DWT(이산 웨이블릿 변환), WPT(웨이블릿 패킷 변환), SWT(정상 웨이블릿 변환). 또한 동기 압축(synchrosqueezing) 및 재할당(reassignment) 기법이 포함됩니다: STFT용 reassign, CWT 데이터를 사용하는 synsq, CWT용 wsst.
특징 모듈은 스펙트럼 특징(모든 스펙트럼 유형 지원), 켑스트럼 계수(xxcc), 스펙트럼 디콘볼루션, 크로마 특징(CQT 스펙트럼 및 BFT 기반 선형/옥타브 스펙트럼 지원)을 포함합니다.
MIR 모듈은 피치 추정(YIN, STFT 등), 온셋 감지(스펙트럼 플럭스, novelty 등), 하모닉-타악기 소스 분리(중간값 필터링 및 NMF)를 다룹니다.
최근 릴리스에서는 다양한 피치 알고리즘(YIN, CEP, PEF, NCF, HPS, LHS, STFT, FFP), PitchShift 및 TimeStretch 알고리즘, 기타, 우쿨렐레, 베이스, 밴조, 만돌린, 바이올린을 위한 튜너용 TuneTrack 알고리즘이 추가되었습니다.
설치는 PyPI(`pip install audioflux`) 또는 Anaconda를 통해 가능하며, Python 3.6 이상이 필요합니다. 이 라이브러리는 크로스 플랫폼으로 Linux, macOS, Windows, iOS, Android를 지원하며, iOS, Android 및 소스 빌드에 대한 별도의 빌드 지침이 제공됩니다. 문서와 예제 스크립트는 온라인에서 제공되며, Mel 및 MFCC, CWT 및 동기 압축, CQT 및 크로마, 다양한 웨이블릿 유형, 스펙트럼 특징, 피치 추정, 온셋 감지, 하모닉-타악기 소스 분리를 다룹니다. 벤치마크 모듈은 성능 측정을 제공하며, 프로젝트는 MIT 라이선스로 배포됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.