livemyu/audioscope
Python0 / 0
NumPy/SciPy 기반으로 Matplotlib 없이 터미널·PNG 출력이 가능한 경량 오디오 시각화 라이브러리
TL;DR
audioscope는 NumPy/SciPy 기반의 경량 오디오 DSP·시각화 라이브러리로 STFT·Mel·Chroma와 여러 프레임 특성 추출을 포함한다. ASCII 터미널 렌더링과 자체 PNG 인코더를 내장해 Matplotlib·Pillow 없이 헤드리스 환경에서 고해상도 스펙트로그램을 내보낼 수 있다. Python API와 CLI를 모두 제공하므로 스크립트와 터미널 워크플로에 모두 대응하며 docs/에 아키텍처와 API 레퍼런스가 있다. 전체 코드베이스에 Strict Type Hints와 단위 테스트가 적용되어 있고 CI가 구성되어 있어 품질 검증이 가능하다.
핵심 포인트
- 이 저장소는 Python 패키지이자 CLI 도구 형태로 제공된다. 설치는 pip로 이루어지고 audioscope 콘솔 명령을 통해 spectrogram·mel 등의 출력과 신호 생성(chirp, tone)을 바로 실행할 수 있다. 따라서 파이썬 코드 내 호출과 터미널 기반 작업을 모두 처리하려는 개발 흐름에 맞는다.
- 핵심 DSP 알고리즘은 NumPy와 SciPy로 구현되어 있으며 STFT/iSTFT에 대해 벡터화된 창 중첩 합(WOLA) 복원이 가능하다. 멜 스펙트로그램, 색도(Chroma), RMS·ZCR 등 프레임별 특징 추출이 포함되어 있고 README에는 알고리즘 결과가 업계 표준과 일치한다고 명시되어 있다. Matplotlib이나 Pillow 없이 ASCII 열지도 렌더링과 자체 이진 PNG 인코더로 헤드리스 환경에서 컬러 스펙트로그램을 출력할 수 있어 서버나 CI에서 활용하기 유리하다.
- 사용자 인터페이스는 Signal 클래스 기반의 Python API와 audioscope CLI로 구성되어 있어 신호 생성→스펙트로그램 계산→dB 변환→ASCII/PNG 출력의 흐름을 직접 재현할 수 있다. 모듈은 core/features/viz/interactive/export로 책임이 분리되어 있고 docs/에 아키텍처·사용법·API 레퍼런스가 포함되어 있어 기능 파악과 확장이 비교적 수월하다. Browser 뷰를 통한 긴 오디오 스트림의 슬라이딩 윈도우 탐색 기능도 있어 교육용 실습이나 분석용 탐색 작업에 적합하다.
- 엔지니어링 품질 측면에서는 전체에 걸친 Strict Type Hints, 단위 테스트 및 테스트 커버리지 검사, CI 워크플로가 마련되어 있다. 요구 환경은 Python 3.10+이고 기본 의존은 NumPy·SciPy이며 시각화 백엔드는 선택적 extras(audioscope[plot])로 설치하도록 되어 있다. 라이선스는 MIT로 명시되어 있고 메타데이터상 스타 13개, 포크 213개가 보고되어 있어 현재 커뮤니티 관심 수준을 가늠할 수 있다.
13
Stars
213
Forks
+204
Trending
0
조회수
13 watchers10 open issues
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.