본문 바로가기

Envelope4

다이내믹 신호처리(6)-피크 모드 컴프레서, 리미터 피크 검출기를 이용한 컴프레서 저번의 실효치를 이용한 컴프레서에서 피크 포락선을 검출하는 방법으로 변형하여 컴프레서를 구현해 보겠습니다. 내용은 저번 글과 동일하게 포락선을 구하고, 포락선과 문턱 레벨(threshold)의 차이를 이용해서 압축비(ratio)를 반영한 이득을 구하고, 입력 신호에 이득을 곱해서 출력하는 방법입니다. 구현 코드 다음은 GNU Octave로 구현한 피크 모드 컴프레서입니다. clear all file_name = 'test.wav'; [xx,fs]=audioread(file_name); peak_hold_time = 5*10^-3; peak_hold_max = peak_hold_time * fs; peak_hold_cnt =0; start_x = 25000; gap = 300.. 2021. 10. 21.
다이내믹 신호처리(4)-어택과 릴리즈를 고려한 포락선 검출 오디오 신호 특성을 고려한 포락선 검출 지난 글에서 오디오 신호가 시간에 따라 4개의 구간으로 구분된다고 설명했습니다. 이 중에서 어택과 릴리즈에 따라서 포락선을 다르게 구하는 방법을 알아보겠습니다. 이는 오디오 신호의 변화를 청감적인 특성을 좀 더 고려해서 포락선을 구하는 방법으로 에텍 구간에서는 될 수 있으면 빠르게 증가하는 오디오 신호를 포락선에 빠르게 반영하고 오디오 신호가 감소하는 릴리즈 구간에서는 포락선 감소로를 다소 늦추는 것입니다. 이 방법은 다이내믹 신호처리에서 일반적으로 사용하는 방법입니다. 신호 변화만 고려한 포락선 검출 지난 글에서 신호의 변화에서 피크신호를 둔화시키는 내용의 포락선을 구한 적이 있습니다. 이를 좀 변경해서 신호가 증가할 때와 감소할 때 각기 다른 시정수를 적용하도록.. 2021. 10. 21.
다이내믹 신호처리(3)-실효치 포락선, 피크 포락선 포락선 구하기 저번 글에서는 오디오 신호의 변화 특성 그리고 시정수를 이용하서 포락선을 구하는 개요를 알아 봤습니다. 이번 글에서는 실제 다이내믹 선호처리에서 사용하난 실효치를 이용한 포락선 검출과 피크 발생을 고려한 포락선을 구하는 두가지 방법을 알아보겠습니다. 실효치 포락선 구하기 실효치(rms)는 아래의 글과 같이 특정 구간의 신호들에 대해 평균을 먼저 계산해야지만 구해지는 값입니다. 그런데 신호처리 과정에서 실효치를 구하기 위한 연산을 할당할 정도로 DSP가 한가한 경우는 드물 것입니다. 굳이 실효치가 매우 중요한 역할을 하지 않는 한 입력 신호에 대해 곧바로 근삿값이라도 실효치를 계산해 준다면 좋을 것입니다. 또 신호처리 과정에서 레벨 미터 정보를 만들 필요가 있는데 근사 실효치는 아날로그식 V.. 2021. 10. 21.
다이내믹 신호처리(2)- 오디오 신호변화 특성과 포락선 오디오 신호의 변화 특성 잡음 신호등의 인공적인 신호를 제외하고 음성과 악기는 아래 그림과 같이 시간에 따라 신호가 변화합니다. 이런 신호의 변화 형태를 포락선(envelope)이라 하고, 포락선에 따라 신호처리를 하는 방식을 다이내믹 처리(dynamic processing)라고 합니다. 그러므로 다이내믹 신호처리를 위해서는 포락선을 검출하는 내용이 필요하고 사실 매우 중요한 역할을 합니다. 이글에서는 오디오 신호의 변화인 포락선을 어떻게 검출하는지 알아보겠습니다. 오디오 신호 변화의 구간 아래의 신호의 그래프는 절댓값 또는 데시벨로 신호를 표시한 내용으로 이를 포락선(envelope)이라고 합니다. 다이내믹 처리는 사실 포락선을 구하고, 어떤 포락선 상태에 있는지에 따라 신호를 처리하는 방법을 달리합니.. 2021. 10. 21.