Audio Toolbox는 오디오 처리, 음성 분석 및 음향 측정을 위한 툴을 제공합니다. 이 툴박스에는 이퀄라이제이션과 타임 스트레칭 같은 오디오 신호 처리, 음량 및 선명도와 같은 음향 신호 메트릭 추정, 그리고 MFCC 및 피치와 같은 오디오 특징 추출을 위한 알고리즘이 포함되어 있습니다. 또한 i-vector와 같은 고급 머신러닝 모델과 VGGish 및 CREPE 등의 사전 훈련된 딥러닝 신경망도 제공합니다. Audio Toolbox의 앱은 실시간 알고리즘 테스트, 임펄스 응답 측정 및 신호 레이블 지정 작업을 지원합니다. 툴박스는 ASIO, CoreAudio 및 기타 사운드 카드에 대한 스트리밍 인터페이스, MIDI 기기, 그리고 VST 및 Audio Units 플러그인을 생성하고 호스트하기 위한 툴을 제공합니다.
Audio Toolbox를 사용하면 오디오 데이터셋을 가져오고 레이블을 지정하고 보강할 수 있을 뿐만 아니라 특징을 추출하여 머신러닝 및 딥러닝 모델을 훈련시킬 수도 있습니다. 제공되는 사전 훈련된 모델을 오디오 녹음에 적용하여 하이 레벨 의미 분석을 수행할 수 있습니다.
실시간으로 오디오 처리 알고리즘을 프로토타이핑하거나, 사운드 카드와의 저지연 오디오 스트리밍을 통해 사용자 지정 음향 측정을 실행할 수 있습니다. 알고리즘 검증은 디지털 오디오 워크스테이션과 같은 외부 호스트 응용 프로그램에서 실행할 오디오 플러그인으로 변환하여 수행할 수 있습니다. 플러그인을 호스트하여 외부 오디오 플러그인을 일반 MATLAB 객체로 사용할 수 있습니다.
시작하기:
표준 오디오 드라이버 연결
Windows®, Mac® 및 Linux® 운영 체제에서 표준 오디오 드라이버(예: ASIO, WASAPI, CoreAudio, ALSA)를 사용하여 USB 또는 Thunderbolt™ 등을 통해 사운드 카드에서 오디오 샘플을 읽고 쓸 수 있습니다.
저지연 다중채널 오디오 스트리밍
밀리초 단위의 양방향 지연 시간으로 MATLAB에서 실시간 오디오를 처리할 수 있습니다.
사전 훈련된 딥러닝 모델
딥러닝을 사용하여 한 줄의 코드로 복잡한 신호 처리 작업을 수행하고 오디오 임베딩을 추출할 수 있습니다. YAMNet, VGGish, CREPE 및 OpenL3와 같은 기존의 사전 훈련된 신경망을 사용하고, 미리 구성된 특징 추출 함수를 활용하여 이러한 신경망을 적용할 수 있습니다.
오디오, 음성 및 음향의 특징 추출
신호를 Mel, Bark 및 ERB 스펙트로그램과 같은 시간-주파수 표현으로 변환할 수 있습니다. MFCC 및 GTCC와 같은 켑스트럼 계수와 피치, 조화비 및 스펙트럼 설명자와 같은 스칼라 특징을 계산할 수 있습니다. 사전 훈련된 딥러닝 모델(VGGish, OpenL3)과 i-vector 시스템을 사용하여 하이 레벨 특징과 신호 임베딩을 추출할 수 있습니다. 호환되는 GPU 카드를 활용하여 특징 추출을 가속화할 수 있습니다.
머신러닝 모델 및 훈련 레시피
오디오 데이터셋으로 첨단 머신러닝을 훈련시킬 수 있습니다. 화자 식별 및 검증과 같은 응용 분야에 i-vector와 같은 기존 모델 시스템을 사용할 수 있습니다. 작동하는 예제를 통해 오디오, 음성 및 음향 응용 분야를 위한 고급 신경망과 계층을 설계 및 훈련시키는 방법을 알아볼 수 있습니다.
오디오 데이터셋 가져오기, 주석 추가 및 전처리
대량의 오디오 녹음을 읽고 분할하고 전처리할 수 있습니다. 앱을 활용하여 오디오 신호에 직접 주석을 추가할 수 있습니다. 사전 훈련된 머신러닝 모델을 사용하여 관심 영역을 자동으로 식별 및 분할할 수 있습니다.
오디오 및 음성 데이터셋 증대 및 합성
피치 시프팅, 타임 스트레칭 및 기타 오디오 처리 효과의 조합을 사용하여 무작위 데이터 증대 작업을 설정할 수 있습니다. 클라우드 기반 텍스트-음성 변환 서비스를 사용하여 텍스트에서 합성 음성 녹음을 생성할 수 있습니다.
오디오 필터 및 이퀄라이저
파라메트릭 EQ, 그래픽 EQ, 셸빙 및 가변 기울기 필터를 모델링하고 적용할 수 있습니다. 디지털 크로스오버, 옥타브 및 분수 옥타브 필터를 설계하고 시뮬레이션할 수 있습니다.
동적 범위 제어 및 효과
압축기, 리미터, 확장기 및 잡음 게이트와 같은 동적 범위 처리 알고리즘을 모델링하고 적용할 수 있습니다. 재귀 파라메트릭 모델로 인공 잔향을 추가할 수 있습니다.
블록 다이어그램을 사용한 시스템 시뮬레이션
Simulink의 오디오 처리 블록 라이브러리를 사용하여 시스템 모델을 설계하고 시뮬레이션할 수 있습니다. 대화형 방식 제어 및 동적 플롯을 사용하여 파라미터를 조정하고 시스템 동작을 시각화할 수 있습니다.
사용자 인터페이스를 통한 실시간 파라미터 조정
오디오 처리 알고리즘의 조정 가능한 파라미터에 대한 사용자 인터페이스를 자동으로 생성할 수 있습니다. Audio Test Bench 앱을 사용하여 개별 알고리즘을 테스트하고 자동 생성된 대화형 방식의 컨트롤로 실행 중인 프로그램의 파라미터를 조정할 수 있습니다.
파라미터 컨트롤 및 메시지 교환을 위한 MIDI 연결
MIDI 컨트롤 표면을 사용하여 MATLAB 알고리즘의 파라미터를 대화형 방식으로 변경할 수 있습니다. 모든 유형의 MIDI 메시지를 송수신하여 외부 하드웨어를 제어하거나 이벤트에 응답할 수 있습니다.
표준 기반 측정 및 분석
녹음된 신호 또는 실시간 신호에 SPL(음압 레벨) 측정기와 음량 측정기를 적용할 수 있습니다. 옥타브 및 분수 옥타브 필터로 신호를 분석할 수 있습니다. 원본 녹음본에 표준 준수 A, C 또는 K 가중 필터를 적용할 수 있습니다. 음향 선명도, 거칠기 및 변동 강도를 측정할 수 있습니다.
임펄스 응답 측정
MLS(최대 길이 시퀀스)와 ESS(지수 스윕 정현파 곡선)가 포함된 음향 및 오디오 시스템의 임펄스와 주파수 응답을 측정할 수 있습니다. Impulse Response Measurer 앱으로 시작할 수 있습니다. 프로그래밍 방식으로 가진 신호를 생성하고 시스템 응답을 추정하여 측정을 자동화할 수 있습니다.
공간 임펄스 응답을 통한 효율적인 컨벌루션
주파수 영역 중첩-가산 또는 중첩-보류 구현을 사용하여 긴 임펄스 응답을 가진 신호를 효율적으로 컨벌루션할 수 있습니다. 자동 임펄스 응답 분할을 사용하여 지연과 계산 속도 간에 절충할 수 있습니다.
공간 오디오
다양한 앰비소닉 음향 형식을 인코딩하고 디코딩할 수 있습니다. 공간적으로 샘플링된 HRTF(머리 전달 함수)를 보간할 수 있습니다.
오디오 플러그인 생성
사용자 인터페이스를 직접 설계할 필요 없이 MATLAB 코드에서 VST 플러그인, AU 플러그인, 독립형 실행 파일 플러그인을 직접 생성할 수 있습니다. 더 고도화된 플러그인을 프로토타이핑하려면 구축 준비된 JUCE C++ 프로젝트를 생성할 수 있습니다. (MATLAB Coder 필요)
외부 오디오 플러그인 호스트
외부 VST 및 AU 플러그인을 일반 MATLAB 객체로 사용할 수 있습니다. 플러그인 파라미터를 변경하고 프로그래밍 방식으로 MATLAB 배열을 처리할 수 있습니다. 또는 플러그인 파라미터와 사용자 인터페이스 및 MIDI 컨트롤의 연결을 자동화할 수 있습니다. 실행 효율성을 높이기 위해 MATLAB 코드에서 생성된 플러그인을 호스트할 수도 있습니다.
CPU 및 GPU 타겟을 위한 코드 생성
MathWorks 코더 제품을 활용하여 툴박스 함수, 객체 및 블록으로 제공되는 신호 처리 및 머신러닝 알고리즘에서 C 및 C++ 소스 코드를 생성할 수 있습니다. mfcc
및 melSpectrogram
과 같은 선별된 특징 추출 함수에서 CUDA 소스 코드를 생성할 수 있습니다.
저가 및 모바일 기기
온보드 또는 외부 다중채널 오디오 인터페이스를 사용하여 Raspberry Pi™의 오디오 처리 설계를 프로토타이핑할 수 있습니다. Android® 또는 iOS 기기용 모바일 앱으로 대화형 제어판을 만들 수 있습니다.
무지연 시스템
적응형 잡음 제어, 보청기 검증 또는 최소 양방향 DSP 지연이 필요한 기타 응용 분야에 대한 단일 샘플 입출력이 포함된 오디오 처리 설계를 프로토타이핑할 수 있습니다. Simulink 모델에서 직접 Speedgoat 오디오 기기와 ST 디스커버리 보드를 자동으로 타겟팅할 수 있습니다.