KR20030000400A - 음성 재생속도 실시간 변환 방법 및 장치 - Google Patents

음성 재생속도 실시간 변환 방법 및 장치 Download PDF

Info

Publication number
KR20030000400A
KR20030000400A KR1020010036161A KR20010036161A KR20030000400A KR 20030000400 A KR20030000400 A KR 20030000400A KR 1020010036161 A KR1020010036161 A KR 1020010036161A KR 20010036161 A KR20010036161 A KR 20010036161A KR 20030000400 A KR20030000400 A KR 20030000400A
Authority
KR
South Korea
Prior art keywords
voice signal
time
playback
real
voice
Prior art date
Application number
KR1020010036161A
Other languages
English (en)
Inventor
박주식
Original Assignee
주식회사 보이스텍
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 보이스텍 filed Critical 주식회사 보이스텍
Priority to KR1020010036161A priority Critical patent/KR20030000400A/ko
Publication of KR20030000400A publication Critical patent/KR20030000400A/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • G11B20/10305Improvement or modification of read or write signals signal quality assessment
    • G11B20/10472Improvement or modification of read or write signals signal quality assessment derived from statistics of other quality measures, e.g. their mean, variance or skew
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • G11B2020/10546Audio or video recording specifically adapted for audio data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • G11B2020/10944Real-time recording or reproducing, e.g. for ensuring seamless playback of AV data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • G11B2020/10981Recording or reproducing data when the data rate or the relative speed between record carrier and transducer is variable

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 사용자가 필요로 하는 정보를 입력받기 위한 사용자 인터페이스, 디지털 음성신호를 저장하고 있는 디지털 음성신호 저장매체, 상기 디지털 음성신호 저장매체로부터 디지털 음성신호를 입력받아 PCM 데이터형식으로 변환하기 위한 음성신호 처리부, 상기 음성신호 처리부를 통해 변환된 음성신호의 재생속도 조절에 따른 음질저하 방지를 위해 가중평균값을 이용하여 음성신호의 직류성분을 제거하는 직류성분 제거부, 상기 직류성분 제거부를 통해 직류성분이 제거된 음성신호의 재생속도 변환을 위해 시간축 변환기술인 SOLA 알고리즘을 이용하여 변환하는 재생속도 변환부, 상기 재생하고자 하는 음성신호 전체를 음질의 손상없이 실시간으로 재생하도록 제어하기 위해 다중작업을 수행하는 실시간 재생 제어부, 상기 실시간 재생 제어부의 제어를 통해 재생속도 변환부를 통한 음성신호가 출력되기 위한 디지털 음성신호 재생장치로 구성되는 음성 재생속도 실시간 변환 방법 및 장치이다.

Description

음성 재생속도 실시간 변환 방법 및 장치{Method and apparatus for real- time modification of audio play speed}
본 발명은 디지털 음성신호의 재생속도를 가변시켜 실시간으로 재생하는 방법 및 장치에 관한 것으로서, 좀더 구체적으로는 시간축 변환(Time Scale Modification) 기술인 SOLA(Synchronized Overlap-and-Add) 알고리즘과 다중작업 (Multitasking) 기술을 이용하여 음성신호의 손실, 왜곡으로 인한 음색의 변화없이 실시간으로 음성신호를 재생할 수 있는 음성 재생속도 실시간 변환 방법 및 장치에 관한 것이다.
일반적으로, 시간 축 상에서의 음성신호의 수정방법 중에서 가장 단순하고 계산량이 적으면서도 음질이 우수하며 실시간 재생에 적합한 방법이 SOLA 알고리즘을 이용한 방법이다.
SOLA 알고리즘은 Roucos, S. & Wilgus A.에 의해 1985년 IEEE International Conference on Acoustics, Speech, and Signal Processing 2권(pp.493-496)에 "High Quality Time-Scale Modification for Speech"로 처음 소개되었다.
이러한, SOLA 알고리즘은 특정 구간에서 선행하는 음성신호 전체에 대해 새로운 하나의 음성신호 프레임의 시작점을 이동시키면서 가장 높은 상호상관 (Cross-Correlation) 계수를 가지는 위치를 찾고, 그 위치에서 아날로그 신호를 디지털신호로 바꿀 때 사용하는 샘플링 방법처럼 프레임들을 중첩시키고 평균을 내어 새로운 음성신호를 만들어 내는 방법이다. 즉, 이 방법은 근접구간 내에서 연속되는 프레임들간의 최적의 유사성(similarity)을 찾는 방법이다.
여기서, 상호상관 계수란 두 음성신호에 대하여 상호상관 함수(Cross- Correlation Function)를 적용하여 계산되는 값으로서, '-1'과 '1' 사이의 값을 가지게 되는데 상관계수가 '1'이면 두 신호간에 상관관계가 아주 높다는 의미이다. 참고로, 상관함수는 두 음성신호 간의 상관관계를 수학적으로 표현하기 위해 정의되는 함수인데, 동일한 신호에 대해서는 자기상관함수(Autocorrelation function), 서로 다른 두 신호에 대해서는 상호상관함수(Cross Correlation function)라 한다. 이러한, 상관함수는 시간영역에서는 신호의 상관관계를 나타내는 함수가 되고, 주파수 영역에서는 그 신호가 포함하고 있는 파워(power) 또는 에너지의 분포를 나타내는 함수가 된다. 이러한 관계를 Wiener-Khintchine 법칙이라 하는데, 두 신호 x(t)와 y(t)의 상호상관함수(R_xy(t))는 시간 t에서의 x(t)와 시간 t+에서의 y(t+)의 곱을 충분히 긴 시간에 걸쳐 평균한 값이 된다.
이와같이, SOLA 알고리즘을 이용한 방법을 통해 조합된 프레임들은 음성신호의 시간에 대해 종속적인 특성을 갖는 피치(Pitch), 크기(Magnitude), 위상(Phase)이 보호될 수 있으며, 또한, 피치 추출(Pitch Extraction), 주파수 영역에서의 계산, 위상 추출(Phase Unwrapping) 등을 필요로 하지 않기 때문에 단순하고 효율적인 방법이라고 볼 수 있다.
일반적으로 테이프 플레이어나 MP3 플레이어와 같은 재생장치에 있어서, 그 재생속도를 가변시키는 경우에는 저장매체에 저장된 디지털 음성신호의 음색이 변경되어 재생되는 것이다. 즉, 속도를 빠르게 변경시키면 듣기 거북한 고음의 음성이 재생되고, 느리게 변경할 경우에는 늘어지는 소리로 재생된다. 이런 현상의 원인은 음성신호의 속도가 변경될 때, 저장된 음성신호의 주파수와 피치(pitch) 성분이 변경되기 때문이다.
이와같은 현상이 발생하는 것을 방지하기 위한 종래의 방법으로는, 첫째, 평균크기의 차함수(AMDF 방식)를 이용하여 입력된 디지털 음성신호의 주기를 찾고, 찾은 주기를 통하여 유성음과 무성음을 분리하여 분리된 유성음의 일부를 복사하거나 제거하여 음성신호의 길이를 변조하고, 앞에서 분리된 무성음과의 합성을 수행하는 방법이 있다. 둘째, 시간축에서 디지털 신호의 일부분을 복사하여 추가하거나 제거하는 방법 등이 있다.
그러나, 상기와 같은 종래의 방법들을 이용하여 구현할 경우 여러가지 다양한 문제점이 발생할 수 있다.
평균크기의 차함수(AMDF 방식)를 이용하여 입력된 디지털 음성신호의 주기를 찾을 때 정확한 주기를 찾지 못하게 되면 더 심한 왜곡이 발생하며, 또한 시간축에서 디지털 신호의 일부분을 복사하여 추가하거나 제거하는 방법의 경우에는 빠르게 재생속도를 변화시킬 때 디지털 음성신호의 손실이 과다하게 발생하며 심한 경우에는 단어를 건너뛰고 재생되는 현상이 발생될 수 있다. 또한, 종래의 방법에 있어서, 실시간으로 재생속도를 변경할 경우에는 재생하고자 하는 전체 음성신호들을 일정한 크기로 블록화하여 처리하여야 하는데, 이 경우 블록단위로 처리되는 음성신호의 연결부분에서 음성신호의 과다한 손실 또는 왜곡으로 인하여 잔향이나 틱틱거리는 클릭(click)이 발생할 수 있으며, 일정 시간의 시간지연이 발생될 수 있다.
본 발명의 목적은 종래의 문제점을 해결하기 위한 것으로서, 시간축 변환기술인 SOLA 알고리즘과 다중작업 기술을 이용하여 디지털화되어 저장된 음성신호를재생할 경우에 음성신호의 재생속도를 실시간으로 변경가능하도록 하고, 이에 따라 발생할 수 있는 음색의 변질 및 손실의 발생을 방지하며, 사람이 빨리 또는 천천히 이야기하는 것처럼 들리도록 음성신호의 재생속도를 실시간으로 조절할 수 있는 음성 재생속도 실시간 변환 방법 및 장치를 제공하는데 있다.
도1은 본 발명에 따른 시스템 구성도.
도2는 실시간 재생 제어부의 제어를 통해 이루어지는 시스템상의 작업처리 구성도.
도3은 음성신호 처리부에서의 작업 흐름도.
도4는 직류성분 제거부에서의 작업 흐름도.
도5는 재생속도 변환부에서의 작업 흐름도.
도6은 음성의 손실 및 왜곡을 방지하기 위한 방법의 구성도.
<도면부호의 설명>
음성신호 처리부(1), 직류성분 제거부(2), 재생속도 변환부(3), 실시간 재생 제어부(4), 디지털 음성신호 저장매체(5), 디지털 음성신호 재생장치(6), 사용자 인터페이스(7), 음성신호 샘플의 저장(20), 음성신호의 연결부분(30), 초기 재생시작 명령(A), 재생중 재생속도의 변경명령(A')
본 발명은 디지털 음성신호의 재생속도를 0.5배속∼2배속 범위내에서 가변시켜 실시간으로 재생하는 방법 및 장치에 관한 것으로, 본 발명에서의 음성신호라 함은 사람이 발성하는 음성뿐만 아니라, 악기 등으로부터 발생하는 모든 음향신호를 말한다.
본 발명의 전체적인 구성을 도1을 참조하여 설명한다.
본 발명에 따른 디지털 음성신호의 재생속도를 가변시켜 실시간으로 재생하기 위한 시스템은, 사용자가 필요로 하는 정보(사용자가 재생을 원하는 파일의 선택, 변경할 재생속도, 재생시작, 재생멈춤, 멈춤 등)를 입력받는 사용자 인터페이스(7), 디지털 음성신호를 저장하고 있는 디지털 음성신호 저장매체(5), 상기 디지털 음성신호 저장매체(5)로부터 디지털 음성신호를 입력받아 특정한 PCM(Pulse Code Modulation) 데이터형식으로 변환하는 음성신호 처리부(1), 상기 음성신호의 재생속도 조절에 따른 음질저하 방지를 위해 입력된 디지털 음성신호의 가중평균값을 이용하여 음성신호의 직류성분을 제거하는 직류성분 제거부(2), 상기 음성신호의 재생속도 변환을 위해 시간축 변환기술인 SOLA(Synchronized Overlap-and-Add) 알고리즘을 이용하여 변환하는 재생속도 변환부(3), 상기의 재생하고자 하는 입력된 음성신호 전체를 음질의 손상없이 실시간으로 재생하도록 제어하기 위해 다중작업(Multitasking)을 수행하는 실시간 재생 제어부(4), 상기 실시간 재생 제어부(4)의 제어를 통해 재생속도 변환부(3)를 통한 음성신호를 출력하기 위한 디지털 음성신호 재생장치(6)로 구성된다.
여기서, 레코드나 라디오의 음성은 음의 강약을 그대로 전류의 강약으로 전달, 재생하는 아날로그 방식을 취하고 있다. 이에 대해, 음의 강약을 '1'이나 '0'의 2진신호의 조합, 즉, 디지털신호로 변환해서 보내는 것을 PCM(Pulse Code Modulation ; 펄스부호변조)방식이라 한다. 그리고, 본 발명에서 음성신호의 재생속도 변환을 위해 사용된 시간축 변환기술인 SOLA 알고리즘에 대해서는 종래기술에서 설명한 바와 같다.
이와같이 구성된, 본 발명에 따른 음성 재생속도 실시간 변환 장치의 작용을 실시간 재생 제어부(4)의 제어동작의 관점에서 전체적인 업무처리에 대해 도2를 참조하여 설명한다.
본 발명의 시스템은, 먼저, 사용자 인터페이스(7)에서 사용자가 필요로 하는 정보(사용자가 재생을 원하는 파일의 선택, 변경할 재생속도, 재생시작, 재생멈춤, 멈춤 등)를 입력받는다. 입력받은 정보는 시스템을 전체적으로 제어하는 실시간 재생 제어부(4)의 제어에 의해 동작되는데, 본 발명의 시스템은 재생속도의 변경에 있어서, 음성신호의 초기 재생시작의 명령(A)이 들어오면 음성신호 처리부(1)에서는 디지털 음성신호 저장매체(5)로부터 일정한 크기의 블록단위로 음성신호를 읽어들인 후, 특정한 PCM 데이터형식으로 음성신호를 변환한다. 변환된 음성신호 데이터는 직류성분 제거부(2) 및 재생속도 변환부(3)로 전송된 후, 직류성분 제거부(2)에서는 음성신호의 직류성분을 제거하고, 재생속도 변환부(3)에서는 시간축 변환기술인 SOLA 알고리즘을 이용하여 음성신호를 변환한다. 이와같이, 직류성분 제거부 (2)와 재생속도 변환부(3)에서는 음성신호 처리부(1)로부터 음성신호가 전달되는 동안, 직류성분의 제거 및 속도변환 처리를 수행한다. 변환된 음성신호는 사운드 카드 등과 같은 디지털 음성신호 재생장치(6)를 통해 출력된다.
그러나, 음성신호 처리부(1)에서의 작업 중 실시간 재생 제어부(4)로부터 '잠시멈춤'이나 '멈춤' 명령이 들어오면, 작업을 일시 중지시켜 음성신호의 재생을 일시중지 시키거나 작업을 종료시킨다.
또한, 음성신호의 재생 중 사용자 인터페이스(7)로 재생속도(Speed Rate)의 변경 명령(A')이 들어오면, 실시간으로 속도변경이 이루어지기 위해서 음성신호 처리부(1)를 거치지 않고, 실시간 재생 제어부(4)의 제어에 의해 직류성분 제거부(2)와 재생속도 변환부(3)를 통해 작업이 이루어진 후 디지털 음성신호 재생장치(6)를 통해 음성신호가 출력된다.
상기와 같이 구성되는 본 발명의 시스템에 있어서, 음성 재생속도의 실시간 변환 방법에 대해서는 시스템의 각 구성요소별로 작업 흐름도를 참조하여 설명한다.
(1) 음성신호 처리부
도3은 음성신호 처리부(1)에서의 작업처리를 위한 흐름도이다.
음성신호 처리부(1)에서는 도3에 나타난 바와 같이,
실시간 재생 제어부(4)에서 지정한 디지털 음성신호 저장매체(5)에서, 특정 파일이나 메모리상의 특정 번지에 저장된 음성신호의 재생을 시작하라는 명령에 따라 디지털 음성신호 저장매체(5)에 저장된 디지털 음성신호의 데이터형식(PCM 데이터형식으로의 변경여부)을 조사하는 단계[100];
조사후, PCM 데이터형식으로의 변경이 가능한 경우에 일정 크기의 블록단위로 데이터를 읽어오는 단계[101];
그러나, 조사 후에 PCM 데이터형식으로의 변경이 불가능한 경우에는 실시간 재생 제어부(4)로 통보하는 단계[101']가 수행된다.
읽어온 데이터를 PCM 데이터 형식으로 변환하는 단계[102]가 수행되는데, 본 발명에서는 PCM 데이터 형식으로의 변환시, Sampling Rate는 11.025kHz, 16bit ∼ 22.05kHz, 16bit의 PCM 데이터 형식으로 변환한다.
변환한 데이터는 실시간 재생에 용이한 일정 크기의 블록으로 나눈 후, 전체 음성신호의 재생 또는 재생중지 또는 잠시 멈춤 등의 명령을 받을 때까지 블록단위의 음성신호를 직류성분 제거부(2)로 전송하는 단계[103]로 이루어진다. 여기서, 재생속도(speed rate)는 재생속도 변환부(3)로 전송된다(도시하지 않음).
여기서, 전체 음성신호를 블록으로 나누어 처리하는 이유는 실시간 재생 제어부(4)의 다중작업(Multitasking)을 하는데 있어서, 하나의 작업단위가 장시간 시스템의 자원을 점유하게 되면 병목현상으로 인해 시간지연이 발생하는 것을 방지하기 위함이다.
(2) 직류성분 제거부
도4는 직류성분 제거부(2)에서의 작업처리를 위한 흐름도이다.
직류성분 제거부(2)는 실시간 재생 제어부(4)의 제어에 의해 음성신호 처리부(1)로부터 전송된 블록단위의 음성신호의 직류성분을 제거하기 위한 것으로서,
음성신호 처리부(1)로부터 전송된 블록단위의 음성신호에서, 최소값(Min) 및 최대값(Max)을 최소값=-32767, 최대값=32767의 고정값으로 할당하는 단계[200];
입력된 음성신호 샘플들을 검색하여 최소값(Min)보다 작은 샘플값의 최소값 (R_Min)과 최대값(Max)보다 큰 샘플값의 최대값(R_Max)을 찾는 단계[201];
입력된 음성신호 블록의 각 샘플들의 평균값을 계산하고, 계산된 평균값에 가중값(=0.5)을 가산하여 가중평균값을 계산하는 단계[202]가 수행된다.
가중평균값의 결정에 있어서, 샘플값의 최소값(Real Min)에서 가중평균값을 차감한 값이 최초 할당한 최소값(Min)보다 작을 경우에는 가중평균값에 최초 할당한 최대값(Max)을 가산하여 가중평균값을 구하고, 샘플값의 최대값(Real Max)에서 가중평균값을 차감한 값이 최초 할당한 최대값(Max)보다 클 경우에는 가중평균값에 최초 할당한 최소값(Min)을 가산하여 가중평균값을 구한다[203].
이를 수식으로 나타내면 다음과 같다.
IF (R_Min - 가중평균값) < Min
THEN 가중평균값 = 가중평균값 + Max
IF (R_Max - 가중평균값) > Max
THEN 가중평균값 = 가중평균값 + Min
가중평균값이 결정된 후에는, 각 샘플에서 가중평균값을 차감하여 직류성분을 제거하는 단계[204]가 수행되고,
직류성분이 제거된 블록단위의 음성신호를 재생속도 변환부(3)로 전송하는 단계[205]로 이루어진다.
이러한 가중평균값을 이용하여 음성신호의 직류성분을 제거하는 방법은, 음성신호를 시간영역에서 수정하기 전에 직류성분을 제거함으로써 재생 음질의 향상을 가져온다.
(3) 재생속도 변환부
도5는 재생속도 변환부(3)에서의 작업처리를 위한 흐름도이다.
먼저, 재생속도 변환부(3)에서 사용되는 수학식 및 이에 대한 설명은 다음과 같다.
상기에서, 수학식 1은 윈도우 크기(Window Size)와 변환을 원하는 재생 속도 비율(Speed Rate)을 이용하여 최대 상호상관계수 값을 검색할 때, 적용하는 이동 시간간격(Step Time)을 계산하는 수식이다. 수학식 2는 입력된 음성신호의 주파수를 참조하여 한 개 샘플의 시간 간격(Duration)을 계산하기 위한 수식이며, 수학식 3은 속도변환을 처리할 입력 프레임들을 패치할 때 적용하기 위한 입력 프레임 스텝크기를 계산하기 위한 수식이다. 그리고, 수학식 4는 해닝 윈도우 함수의 적용을 위해 윈도우 하나의 크기를 계산하는 수식이며, 수학식 5는 SOLA 알고리즘 중첩 및가산을 처리하기 위한 크기, 최소, 최대 범위를 계산하기 위한 수식이다. 수학식 6은 입력된 음성신호 블록의 전체 재생시간을 계산하기 위한 수식이며, 수학식 7은 해닝 윈도우 함수를 나타내는 수식이다.
실시간 재생 제어부(4)에 의해 제어되는 재생속도 변환부(3)에서는 직류성분이 제거된 음성신호 블록을 SOLA 알고리즘을 이용하여 재생속도 변환처리를 하기 위한 것으로서,
음성신호 샘플의 윈도우 크기 등 각종 시간요소 파라미터(Time Scale Parameter)의 정의 및 계산 단계[300]가 포함되는데,
본 발명에서 입력된 음성신호의 윈도우 크기(Window Time)는 0.032(32ms)로 고정하고, 동기화(Synchronization)를 위한 검색 시간요소인 동기화 시간(+/- Sync. Time)은 0.01(10ms)로 고정한다.
각종 파라미터의 정의 및 계산 후, 상기 직류성분 제거부(2)에서 직류성분이 제거된 블록단위의 음성신호의 전체 재생시간(End Time)을 계산하는 단계[301]가 수행된다. 여기서, End Time은 수학식 6을 이용하여 구할 수 있다.
음성신호의 전체 재생시간 계산 후, 현재 처리된 음성신호 재생시간(Current Processing Time)과 입력된 음성신호 블록의 전체 재생시간(End Time)과의 비교 단계[302]가 수행되는데,
여기서, 현재 처리된 음성신호 재생시간이 입력된 음성신호 블록의 전체 재생시간에 이를 때까지 단계[303]부터의 단계들이 반복되며, 만일, 현재 처리된 음성신호 재생시간이 입력된 음성신호 블록의 전체 재생시간에 이를 때[303']에는 바로 디지털 음성신호 재생장치(6)를 통해 음성신호가 출력된다.
상호상관(Cross-Correlation) 함수와 그 계수를 이용하여 음성신호 프레임들 중에서의 가장 적절한 위치를 검색하는 단계[303]는 수학식 1을 이용한다.
검색 후, 해닝 윈도우 함수(Hanning Window Function)를 적용하게 되는데 [304],
여기서, 해닝 윈도우 함수란 등간격 자료를 0.25, 0.5, 0.25의 가중치를 이용하여 평활화시키는 기법으로서, 윈도우의 급격한 차단효과를 줄이기 위해 적용하는 함수이다. 해닝 윈도우 함수의 적용에 있어서는 수학식 4와 7을 이용한다.
해닝 윈도우 함수의 적용 후, 윈도우 크기와 검색된 중첩 및 가산(Overlap and Add) 위치를 이용하여 음성신호를 중첩, 가산하는 단계[305]가 수행되고,
해닝 윈도우 함수 및 중첩, 가산 처리된 두 음성신호의 합성단계[306]가 수행된다.
여기서, 해닝 윈도우 함수 및 중첩, 가산 처리된 두 음성신호의 합성은 아날로그 신호를 디지털 신호호 바꿀 때 사용하는 샘플링 방법을 이용하여 합성한다.
합성 처리된 음성신호 프레임들은 디지털 음성신호 재생장치(6)를 통해 출력되기 위해 메모리 버퍼로의 기록 및 현재 처리된 음성신호 재생시간(Current Processing Time)을 갱신하며[307],
갱신 후에는 다음 프레임을 처리하기 위해 단계[302]로 돌아가[308], 현재 처리된 음성신호 재생시간과 입력된 음성신호 블록의 전체 재생시간과의 비교작업을 다시 수행한다.
끝으로, 음성의 손실 및 왜곡을 방지하기 위한 방법을 도6을 참조하여 설명한다.
만약, 음성신호 블록의 끝부분 프레임을 처리할 경우에는 도6에 나타난 바와 같이, 실시간 처리를 수행할 경우에 연결부분(30)의 음성신호 손실이나 왜곡이 발생할 수 있는데, 본 발명에서는 이를 방지하기 위해 윈도우 크기의 1/2 만큼의 음성신호 샘플을 저장(20)한 후, 도면에서 보는 바와 같이 다음 블록의 처리시 다음 블록의 앞부분에 연결하여 처리하도록 하였다.
이상과 같이 본 발명의 음성 재생속도 실시간 변환 방법 및 장치에 따르면, 음성 재생장치에 입력된 디지털 음성신호를 실시간으로 속도를 변경하여 재생시킬 수 있으므로 재생되는 음성신호의 음색의 열화 및 실시간 재생을 위한 블록화 처리에 따라 발생할 수 있는 음성신호의 손실과 재생시간 지연을 극소화하여 음성신호의 재생속도를 실시간으로 가변하여 재생시킬 수 있도록 하였다. 따라서, 향상된 재생 음성신호를 이용하여 MPEG 방식으로 압축된 음성신호를 재생하는 MP3전용 플레어어나 외국어 학습과 같이 실시간으로 빠르게 또는 느리게 재생하여 청취해야 하는 경우에 다량의 음성신호 데이터를 빠르게 또는 느리게 재생하여 청취할 수 있는 효과를 얻을 수 있다.

Claims (17)

  1. 디지털 음성신호의 재생속도를 가변시켜 실시간으로 재생하기 위한 장치에 있어서,
    사용자가 필요로 하는 정보를 입력받기 위한 사용자 인터페이스,
    디지털 음성신호를 저장하고 있는 디지털 음성신호 저장매체,
    상기 디지털 음성신호 저장매체로부터 디지털 음성신호를 입력받아 PCM 데이터형식으로 변환하는 음성신호 처리부,
    상기 음성신호 처리부를 통해 변환된 음성신호의 재생속도 조절에 따른 음질저하 방지를 위해 가중평균값을 이용하여 음성신호의 직류성분을 제거하는 직류성분 제거부,
    상기 직류성분 제거부를 통해 직류성분이 제거된 음성신호의 재생속도 변환을 위해 시간축 변환기술인 SOLA 알고리즘을 이용하여 변환하는 재생속도 변환부,
    상기의 재생하고자 하는 음성신호 전체를 음질의 손상없이 실시간으로 재생하도록 제어하기 위해 다중작업을 수행하는 실시간 재생 제어부,
    상기 실시간 재생 제어부의 제어를 통해 재생속도 변환부를 통한 음성신호가 출력되는 디지털 음성신호 재생장치로 구성되는 것을 특징으로 하는, 음성 재생속도 실시간 변환 장치.
  2. 청구항 1에서, 전체 음성신호는 블록단위(1024 * N ; N은 0보다 큰 정수)로작업처리되는 것을 특징으로 하는, 음성 재생속도 실시간 변환 장치.
  3. 청구항 1에서, 디지털 음성신호 재생장치를 통해 재생되는 음성신호의 재생속도는 0.5배속 ∼ 2배속의 범위내에서 가변 재생되는 것을 특징으로 하는, 음성 재생속도 실시간 변환 장치.
  4. 청구항 1에서, 사용자 인터페이스로 입력된 초기 재생시작의 명령은 실시간 재생 제어부의 제어로 음성신호 처리부에서부터 작업이 이루어지며, 음성신호 재생 중 입력된 재생속도 변경의 명령은 실시간 재생 제어부의 제어로 직류성분 제거부와 재생속도 변환부에서 작업이 시작되는 것을 특징으로 하는, 음성 재생속도 실시간 변환 장치.
  5. 청구항 1에서, 음성신호의 손실 및 왜곡을 방지하기 위하여 블록단위의 음성신호간의 프레임을 서로 연결하는 것을 특징으로 하는, 음성 재생속도 실시간 변환 장치.
  6. 디지털 음성신호의 재생속도를 가변시켜 실시간으로 재생하기 위한 방법에 있어서,
    1) 사용자 인터페이스를 통해 사용자가 필요로 하는 정보를 입력받는 단계,
    2) 실시간 재생 제어부에서 지정한 디지털 음성신호 저장매체로부터 음성신호 처리부에서 음성신호를 읽어들인 후, PCM 데이터형식으로 변환하는 단계,
    3) 상기 음성신호 처리부로부터 전송된 음성신호의 재생속도 변환에 따른 음질저하를 방지하기 위해 직류성분 제거부에서 가중평균값을 이용하여 직류성분을 제거하는 단계,
    4) 상기 직류성분 제거부에서 직류성분이 제거된 음성신호의 재생속도 변환을 위해 재생속도 변환부에서 SOLA 알고리즘을 이용하여 재생속도를 변환하는 단계,
    5) 실시간 재생 제어부의 제어에 의해 재생속도 변환부를 통한 음성신호가 디지털 음성신호 재생장치를 통해 출력되는 단계로 이루어지는 것을 특징으로 하는, 음성 재생속도 실시간 변환 방법.
  7. 청구항 6에서, 단계 2)는
    입력된 디지털 음성신호의 PCM 데이터형식으로의 변경여부를 조사하는 단계 [100];
    PCM 데이터형식으로의 변경이 가능한 경우에 일정 크기의 블록단위로 데이터를 읽어오는 단계[101];
    읽어온 데이터를 PCM 데이터 형식으로 변환하는 단계[102];
    변환한 데이터를 일정 크기의 블록으로 나눈 후, 직류성분 제거부로 전송하는 단계[103]로 이루어지는 것을 특징으로 하는, 음성 재생속도 실시간 변환 방법.
  8. 청구항 6에서, 단계 3)은
    전송된 블록단위의 음성신호에서 최소값 = -32767, 최대값 = 32767의 고정값으로 할당하는 단계[200];
    음성신호 샘플들 중 최소값(Min)보다 작은 샘플값의 최소값 (R_Min)과 최대값(Max)보다 큰 샘플값의 최대값(R_Max)을 검색하는 단계[201];
    음성신호 각 샘플들의 평균값을 계산한 후, 계산된 평균값에 가중값을 가산하여 가중평균값을 계산하는 단계[202];
    샘플값의 최소값(Real Min)에서 가중평균값을 차감한 값이 최초 할당한 최소값(Min)보다 작을 경우에는 가중평균값에 최초 할당한 최대값(Max)을 가산하여 가중평균값을 구하고, 샘플값의 최대값(Real Max)에서 가중평균값을 차감한 값이 최초 할당한 최대값(Max)보다 클 경우에는 가중평균값에 최초 할당한 최소값(Min)을 가산하여 가중평균값을 구하는 단계[203];
    음성신호의 각 샘플에서 가중평균값을 차감하여 직류성분을 제거하는 단계 [204];
    직류성분이 제거된 블록단위의 음성신호를 재생속도 변환부로 전송하는 단계 [205]로 이루어지는 것을 특징으로 하는, 음성 재생속도 실시간 변환 방법.
  9. 청구항 6에서, 단계 4)는
    음성신호 샘플의 윈도우 크기 등 각종 시간요소 파라미터의 정의 및 계산하는 단계[300];
    음성신호의 전체 재생시간을 계산하는 단계[301];
    현재 처리된 음성신호 재생시간과 입력된 음성신호 블록의 전체 재생시간을 비교하는 단계[302];
    상호상관(Cross-Correlation) 함수와 그 계수를 이용하여 음성신호 프레임들 중에서의 가장 적절한 위치를 검색하는 단계[303];
    해닝 윈도우 함수를 적용하는 단계[304];
    윈도우 크기와 검색된 중첩 및 가산 위치를 이용하여 음성신호를 중첩, 가산하는 단계[305];
    해닝 윈도우 함수 및 중첩, 가산 처리된 두 음성신호를 합성하는 단계[306];
    합성 처리된 음성신호 프레임들의 메모리 버퍼로의 기록 및 현재 처리된 음성신호 재생시간을 갱신하는 단계[307]로 이루어지는 것을 특징으로 하는, 음성 재생속도 실시간 변환 방법.
  10. 청구항 6 ∼ 9중 한 항에서, 전체 음성신호는 블록단위(1024 * N ; N은 0보다 큰 정수)로 작업처리되는 것을 특징으로 하는, 음성 재생속도 실시간 변환 방법.
  11. 청구항 6 ∼ 9중 한 항에서, 디지털 음성신호 재생장치를 통해 재생되는 음성신호의 재생속도는 0.5배속 ∼ 2배속의 범위내에서 가변 재생되는 것을 특징으로 하는, 음성 재생속도 실시간 변환 방법.
  12. 청구항 6에서, 사용자 인터페이스로 입력된 초기 재생시작의 명령은 실시간 재생 제어부의 제어로 음성신호 처리부에서부터 작업이 이루어지며, 음성신호 재생 중 입력된 재생속도 변경의 명령은 실시간 재생 제어부의 제어로 직류성분 제거부와 재생속도 변환부에서 작업이 시작되는 것을 특징으로 하는, 음성 재생속도 실시간 변환 방법.
  13. 청구항 6에서, 음성신호의 손실 및 왜곡을 방지하기 위하여 블록단위의 음성신호간의 프레임을 서로 연결하는 것을 특징으로 하는, 음성 재생속도 실시간 변환 방법.
  14. 청구항 6 또는 7에서, 음성신호 처리부에서 PCM 데이터형식으로의 변환시 Sampling Rate는 11.025kHz,16bit ∼ 22.05kHz,16bit인 것을 특징으로 하는, 음성 재생속도 실시간 변환 방법.
  15. 청구항 6 또는 8에서, 직류성분 제거부에서 가중평균값 계산시 가중치는 0.5인 것을 특징으로 하는, 음성 재생속도 실시간 변환 방법.
  16. 청구항 6 또는 9에서, 재생속도 변환부에서 윈도우 크기는 0.032(32ms), 동기화 시간은 0.01(10ms)로 고정하는 것을 특징으로 하는, 음성 재생속도 실시간 변환 방법.
  17. 청구항 6 또는 9에서, 재생속도 변환부에서 해닝 윈도우함수와 중첩, 가산 처리된 두 음성신호의 합성은 아날로그신호를 디지털신호로 바꾸는 것과 같은 샘플링 방법을 이용하는 것을 특징으로 하는, 음성 재생속도 실시간 변환 방법.
KR1020010036161A 2001-06-25 2001-06-25 음성 재생속도 실시간 변환 방법 및 장치 KR20030000400A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010036161A KR20030000400A (ko) 2001-06-25 2001-06-25 음성 재생속도 실시간 변환 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010036161A KR20030000400A (ko) 2001-06-25 2001-06-25 음성 재생속도 실시간 변환 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20030000400A true KR20030000400A (ko) 2003-01-06

Family

ID=27710868

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010036161A KR20030000400A (ko) 2001-06-25 2001-06-25 음성 재생속도 실시간 변환 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20030000400A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445342B1 (ko) * 2001-12-06 2004-08-25 박규식 듀얼 에스오엘에이 알고리듬을 이용한 음성속도변환방법및 시스템
CN113163053A (zh) * 2020-01-22 2021-07-23 阿尔派株式会社 电子装置及播放控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0883096A (ja) * 1994-09-14 1996-03-26 Matsushita Electric Ind Co Ltd 音声時間軸変換装置
KR20000059961A (ko) * 1999-03-10 2000-10-16 홍순직 디지털 음성 속도가변 재생방법 및 그 장치
US6173255B1 (en) * 1998-08-18 2001-01-09 Lockheed Martin Corporation Synchronized overlap add voice processing using windows and one bit correlators
KR20010010928A (ko) * 1999-07-23 2001-02-15 김영환 음성처리시스템에서 재생되는 음성신호의 시간축 변환방법
KR20010107238A (ko) * 2000-05-26 2001-12-07 최원용 오디오신호 가공방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0883096A (ja) * 1994-09-14 1996-03-26 Matsushita Electric Ind Co Ltd 音声時間軸変換装置
US6173255B1 (en) * 1998-08-18 2001-01-09 Lockheed Martin Corporation Synchronized overlap add voice processing using windows and one bit correlators
KR20000059961A (ko) * 1999-03-10 2000-10-16 홍순직 디지털 음성 속도가변 재생방법 및 그 장치
KR20010010928A (ko) * 1999-07-23 2001-02-15 김영환 음성처리시스템에서 재생되는 음성신호의 시간축 변환방법
KR20010107238A (ko) * 2000-05-26 2001-12-07 최원용 오디오신호 가공방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445342B1 (ko) * 2001-12-06 2004-08-25 박규식 듀얼 에스오엘에이 알고리듬을 이용한 음성속도변환방법및 시스템
CN113163053A (zh) * 2020-01-22 2021-07-23 阿尔派株式会社 电子装置及播放控制方法
CN113163053B (zh) * 2020-01-22 2024-05-28 阿尔派株式会社 电子装置及播放控制方法

Similar Documents

Publication Publication Date Title
CA2253749C (en) Method and device for instantly changing the speed of speech
CA2257298C (en) Non-uniform time scale modification of recorded audio
KR100333795B1 (ko) 화속변환장치
KR101334366B1 (ko) 오디오 배속 재생 방법 및 장치
JPH11194796A (ja) 音声再生装置
WO2016165334A1 (zh) 一种语音处理方法及装置、终端设备
JPH06230800A (ja) 音声データ圧縮及び再生の方法及び装置
KR20050010927A (ko) 오디오 신호 처리 장치
US6085157A (en) Reproducing velocity converting apparatus with different speech velocity between voiced sound and unvoiced sound
JP3278863B2 (ja) 音声合成装置
JP3378672B2 (ja) 話速変換装置
JP2001184100A (ja) 話速変換装置
KR20030000400A (ko) 음성 재생속도 실시간 변환 방법 및 장치
JP2009075280A (ja) コンテンツ再生装置
JP3373933B2 (ja) 話速変換装置
JP3162945B2 (ja) ビデオテープレコーダ
JP3081469B2 (ja) 話速変換装置
JP3357742B2 (ja) 話速変換装置
JPH09152889A (ja) 話速変換装置
JP2001222300A (ja) 音声再生装置および記録媒体
KR100359988B1 (ko) 실시간 화속 변환 장치
JP2000259200A (ja) 話速変換方法および装置および話速変換プログラムを格納した記録媒体
JP2002297200A (ja) 話速変換装置
JP2007025039A (ja) 音声再生装置、音声録音再生装置、およびそれらの方法、記録媒体、集積回路
JPH09146587A (ja) 話速変換装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application