Audio Toolbox

 

Audio Toolbox

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

시작하기:

오디오 인터페이스를 통한 스트리밍 수집 및 재생

파일과 실시간 입출력 간의 저지연 다중채널 오디오 스트리밍을 위해 표준 랩탑 및 데스크탑의 사운드 카드에 연결할 수 있습니다.

표준 오디오 드라이버 연결

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 앱의 관심 영역 레이블.

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

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

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

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

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

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

오디오 필터 및 이퀄라이저

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

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

동적 범위 제어 및 효과

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

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

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

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

다양한 모델 계층 수준에 있는 블록 및 서브시스템, 필터 응답 플롯, 그리고 파라미터 값 조정을 위한 대화형 다이얼이 포함된 사용자 인터페이스로 구성된 Simulink 모델의 시각화.

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

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

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

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

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

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

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

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

키보드 MIDI 컨트롤러가 MIDI 메시지를 MATLAB 세션으로 전송하고, 이후 MATLAB 세션이 메시지를 처리하고 음 파형을 합성하고 생성된 샘플을 스피커를 통해 재생하는 모습을 보여주는 블록 다이어그램.

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

음향 측정 및 공간 오디오

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

표준 기반 측정 및 분석

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

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

임펄스 응답 측정

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

시간 영역과 주파수 영역에서 추정된 응답, 플로팅할 수 있는 이외의 추정된 임펄스 응답 목록이 있는 메뉴, 그리고 앱에서 사용할 수 있는 기타 대화형 방식의 컨트롤을 보여주는 Impulse Response Measurer 앱의 화면.

 Impulse Response Measurer 앱.

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

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

Y축에 대한 로그 스케일을 사용하여 시간 경과에 따른 매우 긴 임펄스 응답의 절댓값을 표시하는 MATLAB figure. 5초 후, 플롯은 정규화된 절댓값이 아직 초기 진폭의 1,000분의 1보다 작아지지 않았음을 보여줍니다.

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

공간 오디오

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

바이노럴 마네킹, 머리 전달 함수가 알려진 3개 지점을 나타내는 구형 부채꼴의 꼭짓점에 위치한 3개의 스피커, 그리고 머리 전달 함수를 추정해야 하는 부채꼴 내 임의의 위치에 있는 4번째 지점을 나타내는 그림.

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

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

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

오디오 플러그인 생성

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

잘 알려진 디지털 오디오 워크스테이션인 REAPER 내에서 사용 중인 MATLAB에서 생성된 오디오 플러그인의 UI. 3x3 그리드 위에 다양한 슬라이더와 노브가 배열된 UI.

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

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

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

왼쪽에는 오디오 잡음 제거를 위한 상용 오디오 플러그인의 UI가 있으며, 잡음 억제 수준을 설정하기 위한 대형 노브가 포함되어 있습니다. 오른쪽에 있는 몇 줄의 코드는 동일한 플러그인을 프로그래밍 방식으로 MATLAB 객체로 가져와서 사용하는 방법을 보여줍니다.

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

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

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

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

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

음성 명령 인식 시스템의 각 예측 사이클에서 경과된 시간을 보고하는 플롯으로, 사용된 시간이 가용 시간인 50보다 현저히 적음을 보여줍니다.

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

저가 및 모바일 기기

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

Raspberry Pi 보드 사진.

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

무지연 시스템

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