Audio Toolbox

음성, 음향 및 오디오 처리 시스템을 설계 및 분석할 수 있습니다.

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에서 실시간 오디오를 처리할 수 있습니다.

4-채널 마이크 배열로부터의 실시간 원시 입력.

머신러닝 및 딥러닝

오디오 및 음성 데이터셋에 레이블을 지정하고, 증대하고, 생성하고, 수집하고, 특징을 추출하고, 시간-주파수 변환을 계산할 수 있습니다. Statistics and Machine Learning Toolbox™, Deep Learning Toolbox™ 또는 기타 머신러닝 툴로 오디오 및 음성 분석을 개발할 수 있습니다.

사전 훈련된 딥러닝 모델

딥러닝을 사용하여 한 줄의 코드로 복잡한 신호 처리 작업을 수행하고 오디오 임베딩을 추출할 수 있습니다. YAMNet, VGGish, CREPE 및 OpenL3와 같은 기존의 사전 훈련된 신경망을 사용하고, 미리 구성된 특징 추출 함수를 활용하여 이러한 신경망을 적용할 수 있습니다.

특정 오디오 세그먼트에서 classifySound로 식별되는 소리 유형을 표시하는 워드 클라우드.

오디오, 음성 및 음향의 특징 추출

신호를 Mel, Bark 및 ERB 스펙트로그램과 같은 시간-주파수 표현으로 변환할 수 있습니다. MFCC 및 GTCC와 같은 켑스트럼 계수와 피치, 조화비 및 스펙트럼 설명자와 같은 스칼라 특징을 계산할 수 있습니다. 사전 훈련된 딥러닝 모델(VGGish, OpenL3)과 i-vector 시스템을 사용하여 하이 레벨 특징과 신호 임베딩을 추출할 수 있습니다. 호환되는 GPU 카드를 활용하여 특징 추출을 가속화할 수 있습니다.

음성 명령의 실시간 멜 스펙트로그램.

머신러닝 모델 및 훈련 레시피

오디오 데이터셋으로 첨단 머신러닝을 훈련시킬 수 있습니다. 화자 식별 및 검증과 같은 응용 분야에 i-vector와 같은 기존 모델 시스템을 사용할 수 있습니다. 작동하는 예제를 통해 오디오, 음성 및 음향 응용 분야를 위한 고급 신경망과 계층을 설계 및 훈련시키는 방법을 알아볼 수 있습니다.

5명의 서로 다른 화자가 있는 음성 신호에서 x-Vector를 사용하여 얻은 구분 결과.

오디오 데이터셋 가져오기, 주석 추가 및 전처리

대량의 오디오 녹음을 읽고 분할하고 전처리할 수 있습니다. 앱을 활용하여 오디오 신호에 직접 주석을 추가할 수 있습니다. 사전 훈련된 머신러닝 모델을 사용하여 관심 영역을 자동으로 식별 및 분할할 수 있습니다.

Audio Labeler 앱의 관심 영역 레이블.

오디오 및 음성 데이터셋 증대 및 합성

피치 시프팅, 타임 스트레칭 및 기타 오디오 처리 효과의 조합을 사용하여 무작위 데이터 증대 작업을 설정할 수 있습니다. 클라우드 기반 텍스트-음성 변환 서비스를 사용하여 텍스트에서 합성 음성 녹음을 생성할 수 있습니다.

음색 불변 피치 시프팅에 대한 포먼트 추정.

오디오 처리 알고리즘 및 효과

동적 파라미터 조정과 실시간 시각화를 통해 표준 파형을 생성하고, 일반적인 오디오 효과를 적용하고, 오디오 처리 시스템을 설계할 수 있습니다.

오디오 필터 및 이퀄라이저

파라메트릭 EQ, 그래픽 EQ, 셸빙 및 가변 기울기 필터를 모델링하고 적용할 수 있습니다. 디지털 크로스오버, 옥타브 및 분수 옥타브 필터를 설계하고 시뮬레이션할 수 있습니다.

실시간 시각화를 통한 3-대역 크로스오버 필터의 대화형 방식 조정.

동적 범위 제어 및 효과

압축기, 리미터, 확장기 및 잡음 게이트와 같은 동적 범위 처리 알고리즘을 모델링하고 적용할 수 있습니다. 재귀 파라메트릭 모델로 인공 잔향을 추가할 수 있습니다.

대화형 방식으로 압축기의 동적 응답 조정하기.

블록 다이어그램을 사용한 시스템 시뮬레이션

Simulink®의 오디오 처리 블록 라이브러리를 사용하여 시스템 모델을 설계하고 시뮬레이션할 수 있습니다. 대화형 방식 제어 및 동적 플롯을 사용하여 파라미터를 조정하고 시스템 동작을 시각화할 수 있습니다.

Simulink에서 보는 다중대역 동적 범위 압축기 모델.

실시간 오디오 프로토타이핑

MATLAB에서 대화형 방식의 실시간 청취 테스트를 통해 오디오 처리 알고리즘을 검증할 수 있습니다.

사용자 인터페이스를 통한 실시간 파라미터 조정

오디오 처리 알고리즘의 조정 가능한 파라미터에 대한 사용자 인터페이스를 자동으로 생성할 수 있습니다. Audio Test Bench 앱을 사용하여 개별 알고리즘을 테스트하고 자동 생성된 대화형 방식의 컨트롤로 실행 중인 프로그램의 파라미터를 조정할 수 있습니다.

Audio Test Bench를 사용한 사용자 지정 3-대역 파라메트릭 EQ의 대화형 방식 조정.

파라미터 컨트롤 및 메시지 교환을 위한 MIDI 연결

MIDI 컨트롤 표면을 사용하여 MATLAB 알고리즘의 파라미터를 대화형 방식으로 변경할 수 있습니다. 모든 유형의 MIDI 메시지를 송수신하여 외부 하드웨어를 제어하거나 이벤트에 응답할 수 있습니다.

악기 합성기에 대해 MATLAB에서 작성된 MIDI 메시지 및 오디오 신호 흐름.

음향 측정 및 공간 오디오

시스템 응답을 측정하고, 신호를 분석하고 재며, 공간 오디오 처리 시스템을 설계할 수 있습니다.

표준 기반 측정 및 분석

녹음된 신호 또는 실시간 신호에 SPL(음압 레벨) 측정기와 음량 측정기를 적용할 수 있습니다. 옥타브 및 분수 옥타브 필터로 신호를 분석할 수 있습니다. 원본 녹음본에 표준 준수 A, C 또는 K 가중 필터를 적용할 수 있습니다. 음향 선명도, 거칠기 및 변동 강도를 측정할 수 있습니다.

두 1/3 옥타브 대역에 걸친 다양한 SPL 측정값의 시각화.

임펄스 응답 측정

MLS(최대 길이 시퀀스)와 ESS(지수 스윕 정현파 곡선)가 포함된 음향 및 오디오 시스템의 임펄스와 주파수 응답을 측정할 수 있습니다. Impulse Response Measurer 앱으로 시작할 수 있습니다. 프로그래밍 방식으로 가진 신호를 생성하고 시스템 응답을 추정하여 측정을 자동화할 수 있습니다.

 Impulse Response Measurer 앱.

공간 임펄스 응답을 통한 효율적인 컨벌루션

주파수 영역 중첩-가산 또는 중첩-보류 구현을 사용하여 긴 임펄스 응답을 가진 신호를 효율적으로 컨벌루션할 수 있습니다. 자동 임펄스 응답 분할을 사용하여 지연과 계산 속도 간에 절충할 수 있습니다.

44100Hz에서 22만 개의 샘플로, 또는 5초 이상 지속되는 임펄스 응답.

공간 오디오

다양한 앰비소닉 음향 형식을 인코딩하고 디코딩할 수 있습니다. 공간적으로 샘플링된 HRTF(머리 전달 함수)를 보간할 수 있습니다.

HRTF 측정값을 구할 수 있는 바람직한 음원 위치 및 가장 가까운 각도의 예.

오디오 플러그인 생성 및 호스트

MATLAB에서 작성된 오디오 처리 알고리즘을 표준 오디오 플러그인으로 프로토타이핑할 수 있습니다. 외부 오디오 플러그인을 일반 MATLAB 객체로 사용할 수 있습니다.

오디오 플러그인 생성

사용자 인터페이스를 직접 설계할 필요 없이 MATLAB 코드에서 VST 플러그인, AU 플러그인, 독립형 실행 파일 플러그인을 직접 생성할 수 있습니다. 더 고도화된 플러그인을 프로토타이핑하려면 구축 준비된 JUCE C++ 프로젝트를 생성할 수 있습니다. (MATLAB Coder™ 필요)

다중대역 파라메트릭 EQ 예제: MATLAB 코드에서 생성되고 REAPER에서 실행되는 VST 플러그인.

외부 오디오 플러그인 호스트

외부 VST 및 AU 플러그인을 일반 MATLAB 객체로 사용할 수 있습니다. 플러그인 파라미터를 변경하고 프로그래밍 방식으로 MATLAB 배열을 처리할 수 있습니다. 또는 플러그인 파라미터와 사용자 인터페이스 및 MIDI 컨트롤의 연결을 자동화할 수 있습니다. 실행 효율성을 높이기 위해 MATLAB 코드에서 생성된 플러그인을 호스트할 수도 있습니다.

오디오 잡음 제거(Accusonus ERA-N)를 위한 외부 VST 플러그인 및 MATLAB의 프로그래밍 방식 인터페이스의 예.

임베디드 및 실시간 오디오 시스템 타겟팅

코드 생성을 사용하여 소프트웨어 기기에서 오디오 처리 설계를 구현하고 오디오 인터페이스에 대한 액세스를 자동화할 수 있습니다.

CPU 및 GPU 타겟을 위한 코드 생성

MathWorks® 코더 제품을 활용하여 툴박스 함수, 객체 및 블록으로 제공되는 신호 처리 및 머신러닝 알고리즘에서 C 및 C++ 소스 코드를 생성할 수 있습니다. mfccmelSpectrogram과 같은 선별된 특징 추출 함수에서 CUDA 소스 코드를 생성할 수 있습니다.

딥러닝 기반 음성 명령 인식 시스템의 ARM Cortex-A 프로세서에서 최적화된 구현을 위한 동적 프로파일링

저가 및 모바일 기기

온보드 또는 외부 다중채널 오디오 인터페이스를 사용하여 Raspberry Pi™의 오디오 처리 설계를 프로토타이핑할 수 있습니다. Android® 또는 iOS 기기용 모바일 앱으로 대화형 제어판을 만들 수 있습니다.

설계 프로토타이핑을 위한 Raspberry Pi 3 보드.

무지연 시스템

적응형 잡음 제어, 보청기 검증 또는 최소 양방향 DSP 지연이 필요한 기타 응용 분야에 대한 단일 샘플 입출력이 포함된 오디오 처리 설계를 프로토타이핑할 수 있습니다. Simulink 모델에서 직접 Speedgoat 오디오 기기와 ST 디스커버리 보드를 자동으로 타겟팅할 수 있습니다.