Scipy-오디오 처리


14

오디오 신호 처리를위한 유용한 도구를 찾고 있습니다. 음성 및 음악 분석, 자동 언어 식별 등

Scipy 라이브러리는 오디오 처리 기능을 제공합니까? 오디오 신호 처리를위한 좋은 도구가 있습니까?

이를위한 도구를 제안 해 주시겠습니까?


1
예, scipy는 이러한 종류의 작업을 수행 할 수있는 인프라를 제공하지만보다 유용한 답변을 얻으려면 특히 "[scipy]보다 더 나은 도구가 있는지 여부에 대한 대답"에 대해 좀 더 구체적으로 설명해야합니다. ).
A_A

1
실시간 또는 오프라인?
endolith 2016 년

오프라인. 음성 / 음악 분류를 찾고 있습니다.
user1147663 2016 년

1
Scipy와 Numpy는 실시간 및 오프라인 데이터 처리를위한 탁월한 도구를 제공합니다. Cython 또는 Ctypes (Cython 접근 방식을 선호하는 경향이 있음)와 함께 다른 라이브러리를 적합하게 설득 할 수 없다면 C로 작성된 낮은 수준의 빠른 연산으로 숫자 배열에서 쉽게 작동 할 수 있습니다.
Henry Gomersall 2018 년

1
MATLAB에 부족한 것은 배열의 원점을 1이 아닌 다른 것으로 정의하는 기능입니다. 따라서 FFT 출력의 DC 값은 bin # 0 대신 bin # 1에 있어야합니다. MATLAB (또는 옥타브)에 관한 다른 구미적인 것들이 있습니다.
robert bristow-johnson 2012

답변:


9

개인적으로 파이썬은 최고의 선택 중 하나이며 오디오 식별 분야에서 일했습니다. 시끄러운 오디오 녹음에서 조류를 자동으로 식별하는 소프트웨어 인 Ornithokrites 를 확인하실 수 있습니다 . 이 프로그램은 뉴질랜드 자연 보존 국에서 사용하고 있으며 기쁘다. 이 예제를 기반으로 파이썬 사용의 몇 가지 장점을 지적하고 싶습니다.

  1. 수많은 도서관을 제공하는 거대한 개발 커뮤니티. SciPy는 신호 처리를위한 다양한 방법을 제공합니다 (많은 것은 아니지만 Matlab만큼 성숙함). SciPy는 비록 가장 중요한 것 중 하나이지만, 당신의 노력에 도움을 줄 수있는 수백 중 하나 일뿐입니다. 음악 분석에 가장 적합한 Aubio를 찾았 습니다 . 음성 및 음악 인식을 위해 Yaafe 가 추출 할 수 있는 많은 오디오 기능을 즐길 수 있습니다.
  2. 무료입니다! 학계를 벗어나면 Matlab이 다소 비싸다는 것을 빨리 알 수 있습니다. 그리고 당신이 그것을 감당할 수 있더라도, 관점 사용자는이 의존성에 만족하지 않을 것입니다. 예를 들어, 언급 된 보존 부는 독점 소프트웨어를 허용하지 않습니다.
  3. 식별에는 종종 기계 학습이 필요하며 Python에는 sklearn과 같은 훌륭한 툴킷이 있습니다. 최신 라이브러리이며 사용하기 쉽습니다. Kaggle 경쟁 (머신 러닝)을 살펴보고 Python과 sklearn을 사용하는 최고 프로그래머가 몇 명인지 확인하십시오.
  4. "큰 데이터"를 관리 할 수 ​​있습니다. 거대한 네트워크 기록 데이터베이스에 대해 분석을 실행하려는 경우 Python은 도구 세트를 잘 설정했습니다. Matlab / Octave와 Hadoop과의 인터페이스가 쉽지 않다고 생각합니다. 잘못되면 정정하십시오. R은이 영역을 더 잘 수행합니다.
  5. 인터페이스에 대해 말하면 프로그램을 웹 사이트와 쉽게 인터페이스 할 수 있습니다. 이것이 내가 Ornithokrites (조류 인식)를 관리하는 방법입니다. 프로그램은 Amazon Web Services 클라우드 컴퓨팅 서비스에서 실행됩니다. 필요한 모든 라이브러리의 설치 절차를 반드시 수행하지 않으려는 다른 사람들에게 소프트웨어를 제공하려는 경우 유용합니다.

두 번째 선택은 R입니다. Python만큼 기능이 풍부하지는 않지만 유용한 라이브러리가 많이 있습니다 (예 : 응용 프로그램의 seewave 확인 ). Windows와 Linux 모두에 설치하는 것은 매우 중요합니다. 다른 사람들이 프로그램을 사용하도록하려면 중요합니다. 그러나 내 경험에 따르면 R에서의 고성능 컴퓨팅은 더 어려워집니다. 많은 처리 및 식별을 수행해야 할 경우 알아 두어야 할 중요한 사항입니다.

파이썬에서 음악 분류의 예 :

파이썬으로 책 을 만드는 기계 학습 시스템 에는 음악 분류에 관한 장이 있습니다

다른 도구 (완전히 완전한 목록은 아님) : Python in Music


2

파이썬은 이것에 대한 인기있는 언어 인 것 같습니다. 사실을 바탕으로 좋은 도구 세트가 있습니다 ... 나는 일부 음악 기술 대학원 부서 및 회사에서 사용되는 것을 보았습니다.

학계에서는 Matlab에서 이러한 유형의 작업을 보는 것이 매우 일반적입니다.이 도구는 프로브하기 쉬운 IDE에 많은 강력한 툴킷 (신호 처리, 병렬 컴퓨팅, 그래프 작성, 데이터베이스 유틸리티, 기계 학습, AI)을 통합하기 때문입니다. 그러나 비용이 많이 들고 몇 가지 단점이 있습니다 (애플리케이션 디자인 및 성능 측면에서 최고의 프로그래밍 언어는 아니므로 주로 프로토 타이핑 도구이지만 C로 컴파일 할 수 있음). 옥타브는 무료 대안이지만 신호 처리 도구 또는 소프트웨어 자체의 품질을 보증하지 않습니다.


이를위한 훌륭한 라이브러리는 github.com/worldveil/dejavu 입니다. Python, 오픈 소스, MIT 라이센스 및 오디오 인식 및 지문 인식 기능을 수행합니다.
lollercoaster

scipy생태계에는 MATLAB의 많은 기능이 있습니다.
Darleison Rodrigues 2018 년

2

pyAudioAnalysis 를 확인할 수도 있습니다 . 패턴 인식을위한 열린 라이브러리와 여러 오디오 기능 구현을 결합합니다. pyAudioAnalysis로 구현 된 일부 예제 응용 프로그램은 다음과 같이 흥미로울 것입니다.

  • 침묵 제거
  • 스피커 건조
  • SVM, kNN 등을 사용한 세그먼트 분류 및 교육
  • 공동 세분화 분류 (HMM 사용)
  • 오디오 썸네일
  • 오디오 컨텐츠 ​​시각화

0

Python 바인딩이 포함 된 Essentia 오디오 분석 C ++ 라이브러리를 사용할 수 있습니다 . Python / scipy 환경과 Essentia와 함께 제공되는 많은 오디오 / 음악 분석 알고리즘을 모두 활용할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.