주요 콘텐츠

오디오 플러그인 설계하기

오디오 플러그인은 오디오 처리 알고리즘을 캡슐화하며, 이 플러그인을 통해 오디오를 스트리밍하는 동안 알고리즘의 파라미터를 조정할 수 있습니다.

오디오 플러그인 정의하기

사용자가 스테레오 너비를 조정할 수 있는 플러그인을 정의하려면 다음을 수행하십시오.

  1. audioPlugin에서 상속되는 클래스 정의를 만듭니다.

  2. 퍼블릭 속성인 Width를 정의하여 처리 알고리즘의 스테레오 너비를 파라미터화합니다.

  3. WidthaudioPluginParameter로 갖는 audioPluginInterface를 정의하여 사용자가 스테레오 너비를 조정할 수 있도록 합니다.

  4. process 메서드를 생성하여 오디오 처리를 정의합니다. process 메서드는 오디오 입력 in을 받아서 다음 단계를 통해 스테레오 너비를 조정합니다: (a) 미드-사이드 인코딩을 적용하고, (b) 사용자 제어 Width 파라미터를 기반으로 스테레오 너비를 조정한 다음, (c) 미드-사이드 디코딩을 적용한다.

classdef StereoWidth < audioPlugin                            % <== (1) Inherit from audioPlugin.
    properties
        Width = 1;                                            % <== (2) Define tunable property.
    end
    properties (Constant)
        PluginInterface = audioPluginInterface( ...           % <== (3) Map tunable property to plugin parameter.
            audioPluginParameter('Width', ...
                'Mapping',{'pow',2,0,4}));
    end
    methods
        function out = process(plugin,in)                     %< == (4) Define audio processing.

            x = [in(:,1) + in(:,2), in(:,1) - in(:,2)];             %  (a) Mid-side encoding.
            y = [x(:,1), x(:,2)*plugin.Width];                      %  (b) Adjust stereo width.
            out = [(y(:,1) + y(:,2))/2, (y(:,1) - y(:,2))/2];       %  (c) Mid-side decoding.

        end
    end
end

오디오 플러그인의 프로토타입 만들기

오디오 플러그인을 정의한 후에는 Audio Test Bench 앱을 사용하여 이 플러그인의 프로토타입을 만들 수 있습니다. 오디오 테스트 벤치 앱을 사용하면 파라미터를 조정하는 동안 플러그인을 통해 오디오를 스트리밍하고, 청취 테스트를 수행하고, 원본 오디오와 처리된 오디오를 시각화할 수 있습니다. 오디오 테스트 벤치 앱에서 StereoWidth 플러그인을 열려면 MATLAB® 명령 프롬프트에서 다음을 입력하십시오.

audioTestBench(StereoWidth)

VST 플러그인 검증 및 생성하기

MATLAB® 오디오 플러그인을 검증하고 오디오 테스트 벤치에서 VST 플러그인을 생성할 수 있습니다. validateAudioPlugin 함수와 generateAudioPlugin 함수를 사용하여 명령줄에서 플러그인을 검증하고 생성할 수도 있습니다. 플러그인이 생성되면 디지털 오디오 워크스테이션(DAW)에 이 플러그인을 배포할 수 있습니다.

validateAudioPlugin StereoWidth
Checking plugin class 'StereoWidth'... 
passed.
Generating testbench file 'testbench_StereoWidth.m'... done.
Running testbench... passed.
Generating mex file 'testbench_StereoWidth_mex.mexw64'... done.
Running mex testbench... passed.
Deleting testbench.
Ready to generate audio plugin.
generateAudioPlugin StereoWidth
.......

VST 플러그인은 작업 디렉터리에 저장됩니다.

참고 항목

| | | | | | |

도움말 항목