KR20010062763A - 음정변환장치 - Google Patents

음정변환장치 Download PDF

Info

Publication number
KR20010062763A
KR20010062763A KR1020000082709A KR20000082709A KR20010062763A KR 20010062763 A KR20010062763 A KR 20010062763A KR 1020000082709 A KR1020000082709 A KR 1020000082709A KR 20000082709 A KR20000082709 A KR 20000082709A KR 20010062763 A KR20010062763 A KR 20010062763A
Authority
KR
South Korea
Prior art keywords
voice data
pair
filter
pitch
read address
Prior art date
Application number
KR1020000082709A
Other languages
English (en)
Other versions
KR100374440B1 (ko
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 모리시타 요이찌
Publication of KR20010062763A publication Critical patent/KR20010062763A/ko
Application granted granted Critical
Publication of KR100374440B1 publication Critical patent/KR100374440B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H5/00Instruments in which the tones are generated by means of electronic generators
    • G10H5/02Instruments in which the tones are generated by means of electronic generators using generation of basic tones
    • G10H5/06Instruments in which the tones are generated by means of electronic generators using generation of basic tones tones generated by frequency multiplication or division of a basic tone
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • G10H1/20Selecting circuits for transposition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/06Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour
    • G10H1/12Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by filtering complex waveforms
    • G10H1/125Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by filtering complex waveforms using a digital filter
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/025Envelope processing of music signals in, e.g. time domain, transform domain or cepstrum domain
    • G10H2250/035Crossfade, i.e. time domain amplitude envelope control of the transition between musical sounds or melodies, obtained for musical purposes, e.g. for ADSR tone generation, articulations, medley, remix
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/621Waveform interpolation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/631Waveform resampling, i.e. sample rate conversion or sample depth conversion
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S84/00Music
    • Y10S84/09Filtering

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Signal Processing Not Specific To The Method Of Recording And Reproducing (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Stereophonic System (AREA)

Abstract

본 발명은 음정변환장치에 관한 것으로서, 필터계수열저장부(6)에는 4배 오버샘플링을 실시하기 위한 로패스필터를 다위상분해하여 얻어지는 4개의 서브필터와 대응하는 4개의 필터계수열이 저장되며, 필터계수열선택부(5a, 5b)는 판독어드레스발생부(4a, 4b)가 발생한 판독어드레스의 소수부 제 1 및 제 2 비트에 기초하여 필터계수열저장부(6)에 저장되어 있는 4개의 필터계수열중 어느 하나의 필터계수열을 선택하며, 필터연산부(2a, 2b)는 한쌍의 음성데이터열을 받아 필터계수열선택부(5a, 5b)가 선택한 필터계수열을 이용하여 필터연산을 실시하여, 재생시간을 변하게 하지 않고 음향신호의 임의의 음정으로 높은 정밀도로 변환할 수 있고, 또 대규모화나 고속화를 수반하지 않고 고역 변형을 충분히 저감할 수 있는 것을 특징으로 한다.

Description

음정변환장치{PITCH SHIFTER}
본 발명은 음정변환장치에 관한 것으로서, 더 특정적으로는 음향신호의 음정을 임의의 음정으로 변환하기 위한 음정변환장치에 관한 것이다.
음정은 2개의 음의 높이의 관계를 나타내는 양이며, 일반적으로 그 2개의 음의 주파수의 비에 의해 표현된다.
음정변환장치라는 것은 음향신호의 음정을 원하는 음정으로 변환하기 위한 장치를 말하며, 구체예로서는 가라오케용 CD(콤팩트·디스크)재생기등에 설치되는 키콘트롤러가 잘 알려져 있다.
도 16은 음향신호의 음정을 원하는 음정으로 변환하는 원리를 설명하기 위한 도면이다.
도 16에 도시한 바와 같이, 원 음향신호(a)를 시간축에 따라서 압축하면 주파수가 상승하여 더 높은 음정의 음향신호(b)가 얻어지고, 신장하면 주파수가 하강하여 더 낮은 음정의 음향신호(c)가 얻어진다.
예를 들면, 음향신호를 시간축에 따라서 0.5배로 압축하면 주파수가 2배가 되기 때문에 그 음향신호는 음정이 1옥타브 상승한다. 또, 음향신호를 시간축에 따라서 2배로 신장하면 주파수가 0.5배가 되기 때문에 그 음향신호는 음정이 1옥타브 하강한다.
일반적으로 음향신호를 시간축에 따라서 k-1배(단 0〈k; 이하 동일)로 압축/신장(1〈k의 경우는 압축, 0〈k〈1의 경우는 신장)하면 주파수가 k배가 되기 때문에 그 음향신호는 음정이 (log2k)옥타브 변화한다.
이하에서는 상기의 k, 즉 원 음향신호의 음정과 변환후의 음향신호의 음정의 비를 「음정변환비」라고 한다.
이와 같이, 음향신호를 시간축에 따라서 k-1배로 압축/신장하는 것에 의해 그 음향신호의 주파수를 원래의 k배로 변환할 수 있다. 그러나, 단지 그와 같은 압축/신장을 실시하는 것만으로는 음향신호의 시간길이(즉 재생시간)가 원 k-1배로 변화한다. 따라서, 재생시간을 변화시키지 않도록 이른바 「크로스페이드」가 또 실시된다.
도 17은 서로 연속되지 않는 2개의 음성프레임을 원활하게 접속하는 크로스페이드처리의 원리를 설명하기 위한 도면이다.
도 17에 도시한 바와 같이, 음향신호에 있어서 프레임B를 절취하고 프레임 A와 프레임 B를 접속하는 경우를 생각해보자. 이 경우, 프레임A와 프레임B를 그대로 접속한 것으로는 양자의 접점에서 신호값이 불연속이 되어 신호재생시에 소음이 발생하는 경우가 있다.
따라서, 프레임A를 페이드아웃하고, 또 프레임C를 페이드인하여 양자를 접속한다. 그렇게 하면 양자의 접점에서 신호값이 연속이 되기 때문에 신호 재생시에 소음이 발생하는 일은 없어진다.
그러나, 한편, 프레임A와 프레임C를 크로스페이드에 의해 접속하면 양자를 그대로 접속하는 것과 비교하여 재생시간이 짧아진다. 따라서, 시간축에 따르는 압축/신장과 크로스페이드를 조합하여 실시하면 재생시간은 변하지 않고 음향신호의 음정을 변환하는 것이 가능해진다.
도 18은 시간축에 따르는 압축/신장과 크로스페이드를 조합하여 실시하는 것(이하, 크로스페이드 압축 신장)에 의해 재생시간은 변하지 않고 음향신호의 음정을 변환하는 원리를 설명하기 위한 도면이다. 도 18의 (a)에는 음정을 높게 변환하는(즉 시간축 압축하는)경우가, (b)에는 음정을 낮게 변환하는(즉 시간축 신장하는) 경우가 각각 나타내어져 있다.
도 18의 (a), (b)에 있어서, 최초 시간축 압축/신장후의 프레임(이하, 출력 프레임)의 시간길이, 즉 출력 프레임 길이가 정해지고, 계속해서 음정 변환율에 따른 입력 프레임길이가 정해진다. 여기서는 음정을 k배로 변환하는 것으로서 출력프레임 길이를 2, 입력 프레임 길이를 2k로 정한다.
계속해서, 원신호로부터 프레임길이가 2k의 입력 프레임이 그 일부분을 오버랩시키도록 하여 차례로 절취된다. 오버랩되는 부분의 길이는 (2k-1)이다. 도 18의 (a), (b)에서는 A1 및 B2, A2 및 B3, A3 및 B4가 각각 입력 프레임이다.
계속해서, 절취된 각 입력 프레임이 프레임 선두를 기준으로 (프레임 최후미나 중간이 기준이어도 좋다) 시간축에 따라서 k-1배로 압축/신장되고, 이에 의해 프레임길이(2)의 출력 프레임이 얻어진다. 각 출력 프레임은 그 프레임길이의 절반이 서로 오버랩되고 있다.
도 18의 (a)에서는 A1H 및 B2H, A2H 및 B3H, A3H 및 B4H가 각각 출력 프레임이며, B2H와 A2H, B3H와 A3H가 서로 오버랩되어 있다. 도 18의 (b)에서는 A1L 및 B2L, A2L 및 B3L, A3L 및 B4L이 각각 출력 프레임이며, B2L과 A2L, B3L과 A3L이 서로 오버랩되어 있다.
계속해서, 각 출력 프레임이 크로스페이드에 의해 서로 접속된다. 크로스페이드는 서로 오버랩되어 있는 영역의 전체에 대해 실시하거나 그 영역의 일부에 대해 실시해도 좋다.
도 18의 (a)에는 서로 오버랩되어 있는 B2H와 A2H, B3H와 A3H의 전체에 대해 크로스페이드를 실시한 경우와 그 약 25%에 대해 크로스페이드를 실시한 경우가 도시되어 있다. 도 18의 (b)에는 서로 오버랩되어 있는 B2L과 A2L, B3L과 A3L의 전체(즉 100%)에 대해 크로스페이드를 실시한 경우와 약 25%에 대해 크로스페이드를실시한 경우가 도시되어 있다.
이에 의해 재생시간은 변하지 않고 음향신호의 주파수를 k배로 변환할 수 있다.
그리고, 이하 이산적(離散的)인 음성데이터에 대해 크로스페이드 압축 신장에 의해 음정 변환을 실시하는 종래 음정변환장치에 대해 설명한다.
도 19는 종래의 음정변환장치의 구성의 일례를 나타내는 블록도, 도 20은 도 19의 음정변환장치가 설치되는 종래의 CD재생기의 구성의 일례를 나타내는 블록도이다.
도 20에 있어서, CD(20)에는 음향신호를 소정의 주기(이를 T라고 함)로 샘플링하여 얻어진 이산적인 음성데이터{x(0), x(1), x(2), x(3), …}가 미리 기록되어 있다. CD재생기는 판독부(21)와 재생부(22), 음정변환비설정부(23), 음정제어신호생성부(24), 음성데이터출력단자(25), 음정제어신호출력단자(26), 음성데이터입력단자(27)를 구비하고 있다.
음정변환비설정부(23)는 미리 정해진 복수의 음정변환비중에서 어느 하나를 선택하기 위한 셀렉터나 임의의 음정변환비를 지시하기 위한 조절 손잡이등을 포함하며, 사용자에 의해 선택 또는 임의로 지정된 음정변환비를 설정한다. 음정제어신호생성부(24)는 음정변환비설정부(23)에 의해 설정된 음정변환비를 나타내는 음정제어신호를 생성한다. 음정제어신호출력단자(26)로부터는 음정제어신호생성부(24)에 의해 생성된 음정제어신호가 출력된다.
판독부(21)는 CD(20)로부터 상기 음성데이터를 차례로 판독한다. 음성데이터출력단자(25)로부터는 판독부(21)에 의해 판독된 음성데이터가 주기(T)로 차례로 출력된다.
음정변환장치는 음성데이터출력단자(25)로부터 차례로 출력되는 음성데이터{x(0), x(1), x(2), x(3), …}와 음정제어신호출력단자(26)로부터 출력되는 음정제어신호를 받아 음정변환후의 음성데이터{out(0), out(1), out(2), out(3), …}를 주기(T)로 차례로 출력한다.
음성 데이터 입력단자(27)로부터는 음정변환장치로부터 차례로 출력되는 음정변환후의 음성데이터가 입력된다. 재생부(22)는 음성데이터 입력단자(27)로부터 입력되는 음정변환후의 음성데이터{out(0), out(1), out(2), out(3), …}를 받아 음향신호를 재생한다. 또, 재생부(22)에 의해 재생된 음향신호는 도시하지 않은 앰프를 통하여 증폭된 후, 스피커로 입력된다.
도 19에 있어서, 종래의 음정변환장치는 메모리부(1)와 한쌍의 판독어드레스발생부(4a, 4b), 한쌍의 보간부(10a, 10b), 크로스페이드부(3), 음성데이터입력단자(7), 음성데이터출력단자(8) 및 음정제어신호입력단자(9)를 구비하고 있다.
음성데이터입력단자(7)로는 CD재생기의 음성데이터출력단자(25)로부터 출력되는 음성데이터{x(0), x(1), x(2), x(3), …}가 입력되며, 메모리부(1)는 그 음성데이터를 일시 기억한다.
음정제어신호입력단자(9)로는 음정제어신호출력단자(26)로부터 출력되는 음정제어신호가 입력되며, 판독어드레스발생부(4a, 4b)는 음정제어신호에 기초하여 메모리부(1)가 일시 기억하고 있는 음성데이터를 판독하기 위한 판독어드레스를 발생한다. 즉, 음정제어신호가 나타내는 음정변환비를 어드레스증분값으로 하여 누적 가산하고, 그 누적가산결과를 판독 어드레스로서 출력한다.
도 21은 도 19의 판독어드레스발생부(4a, 4b)의 구성의 일례를 나타내는 블록도이다.
도 21에 있어서, 판독어드레스발생부(4a, 4b)는 어드레스증분값(=k)을 누적 가산하는 어큐뮬레이터(16)(ALU)를 포함한다. 또, 이와 같은 구성을 갖는 어드레스발생부는 예를 들면 일본 특개평9-212193호 공보에 기재되어 있다.
따라서, 어드레스발생부는 음정변환비(k)가 1(음정변화없음)인 경우, 예를 들면 {0, 1, 2, 3, …}을 출력하고, k가 2인 경우, 예를 들면 {0, 2, 4, 6, …}을 출력한다. 마찬가지로 k가 0.5인 경우, 예를 들면 {0, 0.5, 1, 1.5, …}를 출력하고, k가 1.26인 경우, 예를 들면 {0, 1.26, 2, 52, 3.78, …}을 출력한다.
여기서 보충하면 판독어드레스발생부(4a)와 판독어드레스발생부(4b)에서는 다른 초기값이 설정되어 있고, 서로 일정값 어긋난 어드레스가 발생된다.
예를 들면, 어드레스발생부의 한쪽에서 {0, 1, 2, 3, 4, …}가 발생될 때, 다른쪽에서는 {4, 5, 6, 7, 8, …}가 발생된다. 즉, 임의의 시각에 한쌍의 판독어드레스(0, 4)가 발생되고, 그 시각에서 시간(T) 경과후에 (1,5)가 발생되며, 또 시간(T) 경과후에 (2, 6)가 발생되며, …와 같이 발생된다.
또, 2개의 판독어드레스의 오차는 출력프레임 길이나 음정변환비등(도 18 참조)에 기초하여 정해진다. 그 구체적인 결정 방법에 대해서는 본 발명의 취지와 직접적으로 관계가 없기 때문에 설명을 생략한다.
다시 도 19에 있어서, 메모리부(1)는 판독어드레스발생부(4a, 4b)가 발생하는 판독어드레스에 기초하여 먼저 기억한 음성데이터의 판독을 실시한다.
예를 들면, 음정변환비가 2배인 경우, 판독어드레스발생부(4a)로부터는 판독어드레스{0, 2, 4, …}가 발생되며, 메모리부(1)는 음성데이터{x(0), x(2), x(4), …}를 주기(T)로 차례로 판독하기 때문에 (1/2)배의 시간축 압축이 이루어지게 된다.
즉, 종래의 음정변환장치에서는 메모리부(1) 및 판독어드레스발생부(4a, 4b)에 의해 전술한 시간축 압축 신장을 실현하고 있다.
단, 예를 들면 음정변환비가 1.26배인 경우, 판독어드레스{0, 1.26×1, 1.26×2, …}가 발생되지만 x(1.26×1)이나 x(1.26×2)와 같은 음성데이터는 메모리부(1)에는 존재하지 않는다. 따라서 임의의 음정변환비를 실현하는데는 메모리부(1)에 존재하는 음성데이터로부터 보간값을 산출하는 보간부(10a, 10b)가 더 필요해진다.
보간부(10a)는 판독어드레스발생부(4a)가 발생하는 판독어드레스와 그 어드레스에 기초하여 메모리부(1)로부터 판독되는 음성데이터에 기초하여 필요한 보간데이터를 생성한다. 보간부(10b)는 판독어드레스발생부(4b)가 발생하는 판독어드레스와 그 어드레스에 기초하여 메모리부(1)로부터 판독되는 음성데이터에 기초하여 필요한 보간데이터를 생성한다(또, 음정변환비가 정수, 즉 유효한 소수부를 갖지 않은 경우는 보간 데이터를 생성할 필요는 없다).
이와 같은 보간부(10a, 10b)가 더 부가되는 것에 의해 음정변환비가 소수부를 갖는 경우에도 시간축 압축 신장을 실시할 수 있는, 즉 음향신호의 음정을 임의의 음정으로 변환할 수 있게 된다.
크로스페이드부(3)는 보간부(10a)로부터 출력되는 보간 완료 음성데이터와 보간부(10b)로부터 출력되는 보간 완료 음성 데이터를 받아 그 한쌍의 데이터에 대해 크로스페이드를 실시한다. 즉, 각 데이터에 각각 크로스페이드계수(후술)를 곱한 후, 서로 가산한다.
이와 같은 크로스페이드부(3)가 부가되는 것에 의해 재생시간은 변하지 않고 음향신호의 음정을 임의의 음정으로 변환할 수 있게 된다.
음성데이터출력단자(8)로부터는 크로스페이드 압축 신장이 실시된 음성 데이터, 즉 음정변환후의 음성 데이터가 출력된다.
이상과 같이 구성된 CD재생기 및 그곳에 설치되는 종래의 음정변환장치의 동작에 대해 이하에 설명한다.
도 20에 있어서, 사용자는 CD재생기에 대해, 최초 도시하지 않은 조절손잡이등을 통하여 원하는 음정변환비(k)를 지정하고, 계속해서 도시하지 않은 PLAY버튼을 누른다.
따라서, CD재생기에서는 최초 음정변환비설정부(23)가 음정변환비(k)를 설정한다. 계속해서 판독부(21)는 CD(20)로부터 주기(T)로 음성데이터를 판독하는 처리를 개시하고, 또 음정변환비설정부(23)는 음정변환비(k)를 나타내는 음정제어신호를 생성하는 처리를 개시한다. 또, 상기와 같이 설정한 음정변환비(k)를 재생 개시후, 다른 값으로 변경할 수도 있다.
이와 같이 판독된 음성데이터와 생성된 음정제어신호가 각각 음성데이터입력단자(7), 음정제어신호입력단자(9)를 통하여 종래의 음정변환장치로 입력된다.
도 19에 있어서, 입력된 음성 데이터는 메모리부(1)에 의해 일시기억된다.
도 22는 도 19의 음정변환장치가 실시하는 음정변환처리를 시각적으로 나타낸 도면이다.
도 22의 (a)는 도 11의 메모리부(1)가 음성 데이터를 어떻게 기억하는지를 시각적으로 나타낸 도면이다.
도 22의 (a)에 있어서, x(0), x(1), x(2), …는 음성데이터이다. 횡축상의 눈금은 샘플링주기(=T)를 단위로 하는 실시간(=t)이며, 또 메모리부(1)내 버퍼상의 어드레스(번지)를 나타내고 있다. 각 음성데이터의 신호값은 횡축으로부터의 거리에 의해 실현되어 있다.
도 22의 (a)에 도시한 바와 같이, 메모리부(1)는 입력되는 음성 데이터를 순번으로, 즉 x(0)를 0번지에, x(1)을 1번지에, x(2)를 2번지에, …와 같이 기억해간다.
한편, 입력된 음정제어신호는 2분기되어 판독어드레스발생부(4a, 4b)에 부여된다. 판독어드레스발생부(4a, 4b)는 부여된 음정제어신호에 기초하여 서로 일정값 어긋난 판독어드레스를 주기(T)로 발생한다.
이와 같이 발생된 한쌍의 판독 어드레스는 메모리부(1) 및 보간부(10a, 10b)로 부여된다. 메모리부(1)는 부여된 한쌍의 판독 어드레스에 기초하여 먼저 기억한 음성데이터(도 22의 (a) 참조)의 판독을 실시한다.
도 23은 도 19의 메모리부(1)의 버퍼상에 있어서, 입력되어 오는 음성데이터의 기록이 실시되는 위치와, 한쌍의 판독어드레스발생부(4a, 4b)로부터의 어드레스를 받아 먼저 기록된 음성데이터의 판독이 실시되는 2개의 위치의 관계(단, 음정을 높게 변환하는 경우)를 나타낸 도면이다.
도 23에 있어서, 「w」는 음성데이터의 기록이 실행되는 버퍼상의 위치를 가리키는 기록 포인터이다. 한편, 「r1」은 어드레스발생부로부터의 어드레스와 대응하는 메모리상의 위치, 즉 그 어드레스를 받아 음성데이터의 판독이 실시되는 버퍼상의 위치를 가리키는 판독 포인터이다. 또, 「r2」는 어드레스발생부로부터의 어드레스와 대응하는 메모리상의 위치, 즉 그 어드레스를 받아 음성데이터의 판독이 실시되는 버퍼상의 위치를 가리키는 판독 포인터이다.
여기서, 메모리부(1)가 입력되는 음성 데이터를 버퍼상에 어떻게 기록하고, 그 후 부여된 한쌍의 판독 어드레스에 기초하여 버퍼로부터 음성 데이터를 어떻게 판독할지를 도 23을 이용하여 설명한다.
최초, 도 23의 상단에 도시된 바와 같이, 메모리상에 있어서, 「r1」은 「w」로부터 소정의 거리(이를 “d”라고 함)만큼 후방(여기서는 포인터의 진행방향을 전방으로 함)에 있으며, 「r2」는 「r1」으로부터 거리(d)만큼 후방에 있다. 기록/판독개시후, 「r1」은 「w」보다 빨리 전진하고, 「r2」는 「r1」과 동일 속도로 전진한다. 그리고, 「r1」이 「w」에 따라 붙으면 「r1」은 「r2」로부터 거리(d)만큼 후방으로 점프한다.
또, 이 기간의 「r1」 및 「r2」의 궤적은 도 18의 (a)에 도시된 영역(B2,A2)에 상당한다.
「r1」의 점프직후, 도 23의 중단에 도시된 바와 같이 「r2」는 「w」로부터 거리(d)만큼 후방에 있으며, 「r1」은 「r2」로부터 거리(d)만큼 후방에 있다. 계속해서 「r2」은 「w」보다 빨리 전진하고, 「r1」은 「r2」와 동일 속도로 전진한다. 그리고, 「r2」가 「w」에 따라 붙으면 「r2」는 「r1」으로부터 거리(d)만큼 후방으로 점프한다.
또, 이 기간의 「r2」 및 「r1」의 궤적은 도 18의 (a)에 도시된 영역(B3, A3)에 상당한다.
「r2」의 점프 직후, 도 23의 하단에 도시된 바와 같이, 「r1」은 「w」로부터 거리(d)만큼 후방에 있으며, 「r2」는 「r1」으로부터 거리(d)만큼 후방에 있다. 이후, 「w」, 「r1」 및 「r2」는 상기와 같은 이동을 반복한다.
다시 도 19에 있어서, 어드레스발생부에 의해 발생된 판독 어드레스가 정수가 아닌 경우에는 상기와 같은 기록/판독, 즉 시간축 압축 신장처리와 평행하게 메모리부(1) 및 보간부(10a, 10b)에 의해 다음과 같은 보간 처리가 실행된다.
즉, 메모리부(1)는 판독 어드레스가 정수인(즉 유효한 소수부를 갖지 않은) 경우, 그 판독 어드레스와 일치하는 번지에 저장된 음성 데이터를 판독하지만, 판독 어드레스가 유효한 소수부를 갖는 경우, 그 판독어드레스에 인접하는 번지(즉, 그 판독 어드레스의 직전 및 직후의 번지)에 저장된 2개의 음성데이터를 판독한다.
따라서, 예를 들면 판독 어드레스가 0인 경우는 1개의 음성 데이터(x(0))가 판독되지만, 판독 어드레스가 0.5인 경우는 2개의 음성 데이터(x(0), x(1))가 판독된다. 이와 마찬가지로 판독 어드레스가 1.26인 경우는 2개의 음성 데이터(x(1), x(2))가 판독된다.
판독어드레스발생부(4a)가 발생한 어드레스에 기초하여 판독된 음성 데이터는 보간부(10a)로 부여되며, 판독어드레스발생부(4b)가 발생한 어드레스에 기초하여 판독된 음성 데이터는 보간부(10b)로 부여된다.
보간부(10a, 10b)는 부여된 음성 데이터 및 판독 어드레스에 기초하여 필요한 보간값을 산출하여 보간 완료 음성 데이터를 출력한다.
즉, 보간부(10a, 10b)는 판독 어드레스가 소수부를 갖지 않은 경우에는 메모리부(1)로부터 부여되는 1개의 음성 데이터를 그대로 보간 완료 음성 데이터로서 출력하지만 소수부를 갖는 경우에는 그 소수부의 값과 메모리부(1)로부터 부여되는 2개의 음성 데이터의 신호값에 기초하여 보간값을 산출하고, 그 보간값을 보간 완료 음성 데이터로서 출력한다.
보간값의 산출은 전형적으로는 이른바 「직선보간」에 의해 실시된다.
도 22의 (b)는 보간부(10a, 10b)에 있어서 실시되는 직선 보간(음정 변환비가 1.26인 경우)을 시각적으로 나타낸 도면이다.
도 22의 (b)에 있어서 x(0), x(1), x(2), …은 메모리부(1)에 기억되어 있는 음성 데이터이며, y(1.26), y(1.26×2), …)가 보간값이다.
도 22의 (b)에 도시한 바와 같이, 판독 어드레스가 1.26인 경우, 보간부(10a, 10b)는 그 소수부(0.26)와 음성데이터(x(1), x(2))로부터 하기 수학식 1을 이용하여 보간값(y(1.26))을 산출한다.
마찬가지로, 판독어드레스가 1.26×2인 경우, 보간부(10a, 10b)는 그 소수부(1.26×2-2)와 음성 데이터(x(2), x(3))로부터 하기 수학식 2를 이용하여 보간값(y(1.26×2))를 산출한다.
일반적으로는 판독어드레스가 (k×n)인 경우(k는 음정변환비, n은 임의의 정수), 그 정수부를 “m”으로 하면 보간부(10a, 10b)는 그 소수부(k×n-m)와 음성데이터(x(m), x(m+1))로부터 하기 수학식 3을 이용하여 보간값(y(k×n))을 산출한다.
보간부(10a, 10b)로부터 주기(T)로 차례로 출력되는 한쌍의 음성데이터는 크로스페이드부(3)로 부여되며, 크로스페이드부(3)는 이들 음성데이터에 대해 크로스페이드처리를 실시한다.
즉, 크로스페이드부(3)는 한쌍의 음성데이터에 곱하는 한쌍의 크로스페이드계수를 미리 기억하고 있다.
도 24는 도 19의 크로스페이드부(3)가 한쌍의 음성 데이터에 곱하는 한쌍의 크로스페이드계수의 일례를 나타내고 있다.
도 24에 있어서, α는 음성데이터가 프레임선두로부터 몇번째의 것인지를 나타내며, V(α)는 그 음성데이터, 즉 프레임 선두로부터 α번째의 음성데이터에 곱해지는 크로스페이드계수이다. 1프레임에 포함되는 음성데이터의 갯수를 “α0”으로 하면, α=0일때, V(α)=0이다. 또, α=α0/2일때 V(α)=1이다.
크로스페이드부(3)는 입력되는 한쌍의 보간 완료 음성데이터를 계수하는 것에 의해 그 한쌍의 보간 완료 음성 데이터가 프레임 선두로부터 몇번째인지를 검출한다. 예를 들면, n1, n2번째의 보간 완료 음성데이터이면 α=n1, n2와 대응하는 한쌍의 V(α)를 구해 각각의 음성 데이터에 곱하고, 그 곱셈한 결과를 서로 가산한다.
그리고, 그 가산결과, 즉 음정변환후의 음성데이터{y’(0), y’(k×1), y’(k×2), …}가 음성데이터 출력단자(8)를 통해 주기(T)로 음정변환장치의 외부로 출력된다.
음정변환장치로부터 출력된 음정 변환후의 음성데이터{y’(0), y’(k×1), y’(k×2), …}는 음성데이터입력단자(27)를 통해 다시 CD재생기로 입력된다.
도 20에 있어서, 음성데이터입력단자(27)를 통해 입력된 음정변환후의 음성데이터는 재생부(22)로 부여된다. 재생부(22)는 부여된 음정변환후의 음성데이터로부터 음향신호를 재생한다.
이와 같이 재생된 음향신호는 도시하지 않은 앰프를 통해 증폭된 후, 스피커로 입력되며, 거기서 음파로 변환된다.
도 22의 (c)는 음정변환후의 음성데이터로부터 재생되는 음향신호를 시각적으로 도시한 도면이다.
도 22의 (c)에 있어서, {out(0), out(1), out(2), …}가 음정변환후의 음성데이터{y’(0), y’(k×1), y’(k×2), …}와 대응하는 음향신호이며, 횡축상의 눈금은 주기(T)를 단위로 하는 실시간(t)을 나타내고 있다.
이상과 같이 종래의 음정변환장치에서는 크로스페이드압축신장에 의해 재생시간은 변하게 하지 않고 음향신호의 음정을 변환할 수 있다.
그러나, 압축/신장시에 직선 보간을 실시하고 있기 때문에 저역에서는 좋지만 고역에 있어서, 이상값과 보간값 사이의 오차가 크고, 신호에 변형이 생기는 문제점을 갖는다.
여기서, 고역에서의 신호의 변형을 작게 하기 위해 음성데이터의 샘플링주파수(=T-1)를 더 높은 샘플링주파수(=N×T-1;N은 2의 제곱)로 변환하는 오버샘플링을 실시하는 것이 고안되어 있다(이 N을 「오버샘플링비」라고 함).
도 25는 다른 종래의 음정변환장치의 구성을 나타내는 블록도이다. 도 25의 음정변환장치는 도 19의 음정변환장치와 마찬가지로 예를 들면 도 20의 CD재생기에 설치된다.
도 25에 있어서, 다른 종래의 음정변환장치는 메모리부(1)와 한쌍의 판독어드레스발생부(4a, 4b), 한쌍의 보간부(10a, 10b), 크로스페이드부(3), 음성데이터입력단자(7), 음성데이터출력단자(8), 음정제어신호입력단자(9), 오버샘플링부(11) 및 다운샘플링부(12)를 구비하고 있다.
즉, 도 25의 음정변환장치는 도 19의 음정변환장치에 오버샘플링부(11) 및 다운샘플링부(12)를 추가한 것이다.
오버샘플링부(11)는 음성데이터입력단자(7)를 통해 입력되는 음성데이터{x(0), x(1), x(2), …}를 받아 오버샘플링을 실시한다(여기서는 오버샘플링비가 2배인 경우를 설명함).
즉, 오버샘플링부(11)는 보간회로(13)와 반복 성분을 제거하는 특성을 갖는 안티에이리어스·필터(로패스필터(14a))를 포함하며, 최초 음성데이터와 음성데이터 사이, 즉 x(0)과 x(1)사이, x(1)과 x(2)사이, …에 각 1개의 0값을 삽입한다. 계속해서, 0값을 삽입후의 음성데이터{x(0), 0, x(1), 0, x(2), 0, …}에 기초하여 주기{(1/2)×T}로 필터 연산을 실시하여 음성데이터{x’(O), x’(0.5), x’(1), x’(1), x’(1.5),x’(2), x’(2.5),…}를 산출한다.
다운샘플링부(12)는 크로스페이드부(3)로부터 출력되는 음정변환후의 음성 데이터{y’(O), y’(k×0.5), y’(k×1), y’(k×1.5), y’(k×2), y’(k×2.5), …}를 받아 다운샘플링을 실시한다.
즉, 다운샘플링부(12)는 반복 성분을 제거하는 특성을 갖는 안티에이리어스·필터(로패스·필터(14b))와 디시메이터(15)를 포함하며, 최초, 음성 데이터{y’(O), y’(k×0.5), y’(k×1), y’(k×1.5), y’(k×2), y’(k×2.5), …}에 기초하여 주기{(1/2)×T}로 필터 연산을 실시하여 음성 데이터{y”(O), y”(k×0.5), y”(k×1), y”(k×1.5), y”(k×2), y”(k×2.5), …}를 산출한다. 계속해서, 음성데이터{y”(O), y”(k×0.5), y”(k×1), y”(k×1.5), y”(k×2),y”(k×2.5), …}로부터 {y”(k×0.5), y”(k×1.5), y”(k×2.5), …}를 없앤다.
오버샘플링부(11) 및 다운샘플링부(12)이외의 각 구성요소는 기본적으로는 도 19의 음정변환장치의 것과 동일한 동작을 실시한다. 다른 것은 동작 주기가 반정도, 즉 {(1/2)×T}가 되는 점과 메모리부(1)의 버퍼용량이 2배 필요해지는 점이다. 일반적으로 오버샘플링비가 N배인 경우, 동작 주기가 {N-1×T}가 되며 메모리부(1)의 버퍼용량은 N배 필요해진다.
도 25의 음정변환장치의 동작과 도 19의 음정변환장치의 동작이 다른 점은 2가지이다.
제 1 은 음정변환처리에 더해 오버샘플링을 위한 처리가 더 실시되는 점이다. 즉, 음정변환전에 보간 및 필터 연산이 실시되고, 음정변환후에 필터연산 및 디시메이션이 실시된다.
제 2 는 오버샘플링에 의해 음성데이터의 갯수가 늘어나기 때문에 음정변환처리의 단위시간당 연산량이 증가하는 점이다. 즉, 오버샘플링비가 N배인 경우, 보간부(10a, 10b)나 크로스페이드부(3)의 동작 주기는 {N-1×T}이 된다.
도 25의 음정변환장치로부터 출력되는 음성데이터가 도 19의 음정변환장치로부터 출력되는 음성데이터와 다른 점은 다음과 같다.
도 26은 도 25의 음정변환장치가 실시하는 음정변환처리를 시각적으로 도시한 도면이다.
즉, 도 26을 도 22와 비교하면 알 수 있는 바와 같이, 2배 오버샘플링에 의해 음성 데이터와 다음 음성데이터의 시간 간격이 반정도로 좁아지기(일반적으로, 오버샘플링비가 N배인 경우, N-1배로 좁아지기) 때문에, 판독 어드레스가 소수부를 갖을 때 실시되는 보간값 산출에 있어서, 그 판독 어드레스에 의해 근접한 어드레스의 음성 데이터가 이용되게 되고, 그 결과 실제값에 가까운 보간값이 얻어지는 점이다.
따라서, 도 15의 음정변환장치(의 음성데이터출력단자(8))로부터 출력되는 음성 데이터{y”(O), y”(k×1), y”(k×2), …}는 도 19의 음정변환장치(의 음성데이터출력단자(8))로부터 출력되는 음성데이터{y(O), y(k×1), y(k×2),…}와 비교하여 고역에서의 신호의 변형이 작아져 있다. 그리고, 오버샘플링비가 크면 클수록 고역에서의 신호의 변형은 작아진다.
이상과 같이, 종래의 음정변환장치는 크로스페이드 압축 신장의 원리에 기초하여 동작하고, 또, 음정변환비가 소수부를 갖는 경우에는 직선 보간을 실시하기 때문에 재생시간을 변하게 하지 않고, 음향신호의 음정을 임의의 음정으로 높은 정밀도로 변환할 수 있다. 그러나, 직선보간에 의한 보간값은 저역은 좋지만 고역에 있어서, 실제값과의 오차가 크다. 이때문에, 종래의 음정변환장치는 고역에서의 음향신호의 변형(이하, 「고역 변형」이라고 함)이 큰 문제점을 갖고 있었다.
따라서, 종래의 음정변환장치에 있어서 오버샘플링을 실시하는 것이 고안되었다. 이에 의해, 직선보간에 의한 보간값가 실제값의 오차가 작아지기 때문에 고역 변형을 저감할 수 있기 때문이다. 이 고역 변형 저감효과는 오버샘플링비가 클수록 현저해진다.
그러나, 이와 같은 다른 종래의 음정변환장치에는 오버샘플링부(11)뿐만 아니라 다운샘플링부(12)도 추가되기 때문에 장치의 규모가 대폭 커지는 문제점이 있었다.
또, 상기 다른 종래의 음정변환장치에서는 N배 오버샘플링을 실시하는 경우, 오버샘플링부(11) 및 다운샘플링부(12)에 있어서, 필터연산동작을 주기{T×N-1}로 실행하지 않으면 안된다. 그리고, N배 오버샘플링의 결과, 음성데이터의 갯수가 (오버샘플링을 실시하지 않은 경우의) N배가 되기 때문에 메모리부(1)의 버퍼용량을 N배로 하지 않으면 안되며, 크로스페이드부(3)나 보간부(10a, 10b)도 주기{T×N-1}로 동작할 필요가 있다. 즉, 오버샘플링비가 커짐에 따라서 메모리부(1)내의 버퍼를 대용량화하고, 또 오버샘플링부(11)의 로패스필터(14a)나 다운샘플링부(12)의 로패스필터(14b), 보간부(10a, 10b), 크로스페이드부(3)등을 고속화하지 않으면 안되기 때문에 장치의 가격이 급격히 높아지는 문제점이 있었다.
본 발명의 목적은 재생시간을 변하게 하지 않고 음향신호의 음정을 임의의 음정으로 높은 정밀도로 변환할 수 있고, 또 대규모화나 고속화도 수반하지 않고 고역 변형을 충분히 저감할 수 있는 음정변환장치를 제공하는데 있다.
도 1은 본 발명의 제 1 실시형태에 따른 음정변환장치의 구성을 나타내는 블록도,
도 2는 도 1의 음정변환장치의 필터연산부(2a, 2b)에 의해 산출되는 음성데이터(음정변환비가 1.26배인 경우)와 도 25의 음정변환장치의 오버샘플링부(11)가 4배 오버샘플링을 실시한 경우에 얻어지는 음성데이터와의 관계를 나타내는 도면,
도 3은 도 1의 판독 어드레스 발생부(4a, 4b)의 구성의 일례를 나타내는 블록도,
도 4는 도 1의 판독 어드레스 발생부(4a, 4b)의 구성의 다른 일례를 나타내는 블록도,
도 5는 도 3, 도 4의 ALU의 출력 레지스터의 일례(24비트인 경우)를 나타내는 개략도,
도 6은 판독어드레스가 도 5의 출력 레지스터에 있어서 어떻게 표현되는지를 개략적으로 나타낸 도면,
도 7은 도 1의 음정변환장치에서 실시되는 음정변환동작을 시각적으로 나타내는 개략도,
도 8은 본 발명의 제 2 실시형태에 따른 음정변환장치의 구성을 나타내는 블록도,
도 9는 도 8의 판독 어드레스 발생부(4a, 4b)의 구성의 일례를 나타내는 블록도,
도 10은 도 8의 판독 어드레스 발생부(4a, 4b)의 구성의 다른 일례를 나타내는 블록도,
도 11은 도 9, 도 10의 ALU의 출력레지스터의 일례(24비트인 경우)를 나타내는 개략도,
도 12는 본 발명의 제 3 실시형태에 따른 음정변환장치의 구성을 나타내는 블록도,
도 13은 도 12의 메모리부(1) 및 크로스페이드부(3)의 내부 구성을 개략적으로 나타낸 도면,
도 14는 크로스페이드부(3)가 메모리부(1)로부터 판독되는 한쌍의 음성데이터에 곱하는 한쌍의 크로스페이드계수(V(a1), V(a2))의 일례를 나타내는 도면,
도 15는 도 12의 메모리부(1)의 링버퍼상에 있어서, 입력되어 오는 음성데이터의 기록이 실시되는 위치(기록 어드레스 포인터「w」)와 판독 어드레스 발생부(4a)로부터의 어드레스를 받아 한쌍의 음성데이터의 판독이 실시되는 2개의 위치(판독 어드레스 포인터 「r1」, 「r2」)의 관계(단, 음정을 높게 변환하는 경우)를 개략적으로 나타낸 도면,
도 16은 음향신호의 음정을 원하는 음정으로 변환하는 원리를 설명하기 위한 도면,
도 17은 서로 연속되지 않는 2개의 음성프레임을 원활하게 접속하는 크로스페이드처리의 원리를 설명하기 위한 도면,
도 18은 시간축을 따르는 압축/신장과 크로스페이드를 조합하여 실시하는 것(크로스페이드 압축 신장)에 의해 재생시간은 변하게 하지 않고 음향신호의 음정을 변환하는 원리를 설명하기 위한 도면,
도 19는 종래의 음정변환장치의 구성의 일례를 나타내는 블록도,
도 20은 도 19의 음정변환장치가 설치되는 종래의 CD재생기의 구성의 일례를 나타내는 블록도,
도 21은 도 19의 판독 어드레스 발생부(4a, 4b)의 구성의 일례를 나타내는 블록도,
도 22는 도 19의 음정변환장치가 실시하는 음정변환처리를 시각적으로 나타낸 도면,
도 23은 도 19의 메모리부(1)의 버퍼상에 있어서, 입력되어 오는 음성 데이터의 기록이 실시되는 위치와 한쌍의 판독 어드레스발생부(4a, 4b)로부터의 어드레스를 받아 먼저 기록된 음성데이터의 판독이 실시되는 2개의 위치와의 관계(단, 음정을 높게 변환하는 경우)를 나타낸 도면,
도 24는 도 19의 크로스페이드부(3)가 한쌍의 음성데이터에 곱하는 한쌍의 크로스페이드계수의 일례를 나타낸 도면,
도 25는 오버샘플링을 실시하는 다른 종래의 음정변환장치의 구성을 나타내는 블록도 및
도 26은 도 25의 음정변환장치가 실시하는 음정변환처리를 시각적으로 나타낸 도면이다.
*도면의 주요 부분에 대한 부호의 설명
1 : 메모리부 2a, 2b : 필터연산부
3 : 크로스페이드부 4a, 4b : 판독어드레스발생부
5a, 5b : 필터계수열선택부 6 : 필터계수열저장부
7 : 음성데이터입력단자 8 : 음성데이터출력단자
9 : 음정제어신호입력단자
본 발명은 상기와 같은 문제점을 해결하기 위해 이하와 같은 특징을 갖고 있다.
본 발명의 제 1 국면은 재생시간을 변하게 하지 않고 음향신호의 음정을 임의의 음정으로 변환하기 위한 음정변환장치로서,
음향신호를 샘플링하여 얻어진 이산적인 음성데이터가 순차적으로 입력되는 음성데이터입력단자,
음정변환비를 나타내는 음정제어신호가 입력되는 음정제어신호입력단자,
음정제어신호입력단자를 통해 입력되는 음정제어신호에 기초하여 서로 일정값 어긋난 판독 어드레스를 발생하는 한쌍의 판독어드레스발생부,
버퍼를 포함하고, 음성 데이터 입력단자를 통해 입력되는 음성 데이터를 해당 버퍼에 차례로 기록하고, 또 각 판독어드레스발생부가 발생한 판독 어드레스의 정수부 비트에 기초하여 한쌍의 음성 데이터열을 해당 버퍼로부터 판독하는 메모리부,
N배 오버샘플링(단, N은 2의 제곱; 이하 동일)을 실시하기 위한 로패스필터를 다위상분해하여 얻어지는 N개의 서브필터와 대응하는 N개의 필터계수열이 미리 정해진 순서로 저장된 필터계수열 저장부,
각 판독어드레스발생부가 발생한 판독어드레스의 소수부 제 1∼제(log2N)비트에 기초하여 필터계수열 저장부에 저장되어 있는 N개의 필터계수열중 어느 하나의 필터계수열을 선택하는 한쌍의 필터계수열선택부,
메모리부가 판독한 한쌍의 음성데이터열을 받아 각 해당 음성데이터열에 대해 각 필터계수열 선택부가 선택한 필터계수열을 이용하여 필터연산을 실시하는 한쌍의 필터연산부,
각 필터연산부로부터 출력되는 한쌍의 음성데이터를 받아 그 한쌍의 음성데이터에 크로스페이드계수를 곱해 서로 가산하는 크로스페이드부를 구비하고 있다.
상기 제 1 국면에서는 오버샘플링을 실시하는 경우와 비교하여 소규모이고 싼가격이면서 오버샘플링을 실시하는 경우와 동일 정도, 고역 변형을 저감할 수 있다.
또, N배 오버샘플링을 실시하는 경우에는 버퍼의 용량이 N배 필요하고, 또 필터연산동작의 주기는 N-1배로 하지 않으면 안되지만, 상기 제 1 국면에서는 메모리부에 포함되는 버퍼의 용량은 N에 관계없이 일정해서 좋고, 필터연산동작의 주기도 N에 관계없이 일정해서 좋기 때문에 장치의 대규모화도 고가격화도 수반하지 않고 N을 충분히 크게 할 수 있다. 따라서, N을 충분히 크게 하는 것에 의해 직선 보간을 생략해도 고정밀도의 음정 변환을 실시할 수 있다.
또 판독어드레스의 소수부 제 1∼제(log2N)비트에 기초하여 필터계수열을 선택하기 때문에 용이하고 또 장치의 대규모화를 수반하지 않고 필터 연산을 실시할 수 있다.
제 2 국면은 제 1 국면에 있어서, 각 판독어드레스발생부는 음정변환비를 누적 가산하는 어큐뮬레이터를 포함하고 있다.
제 3 국면은 제 1 국면에 있어서,
각 판독어드레스발생부는,
일정값을 누적 가산하는 어큐뮬레이터 및
어큐뮬레이터의 출력과 음정 변환비를 곱하는 곱셈기를 포함하고 있다.
상기 제 2 또는 제 3 국면에 의하면 버퍼로부터 음성데이터를 판독하고, 또 필터계수열을 선택하기 위한 판독어드레스가 얻어진다.
제 4 국면은 제 1 국면에 있어서,
메모리부는 한쌍의 음성데이터열을 버퍼로부터 판독할 때, 해당 한쌍의 음성 데이터열과 동일 또는 각각 1번지 어긋난 다른 한쌍의 음성데이터열을 해당 버퍼로부터 판독하고,
한쌍의 필터계수열선택부는 각 판독어드레스발생부가 발생한 판독어드레스의 소수부 제 1∼제 (log2N)비트에 기초하여 필터계수열저장부에 저장되어 있는 N개의 필터계수열중 어느 하나의 필터계수열을 선택할 뿐만 아니라 해당 필터계수열에 인접하는 다른 필터계수열을 더 선택하고,
메모리부가 판독한 다른 한쌍의 음성데이터열을 받아 각 해당별 음성데이터열에 대해 각 필터계수열선택부가 선택한 다른 필터계수열을 이용하여 필터연산을 실시하는 다른 한쌍의 필터연산부, 및
한쌍의 필터연산부로부터 출력되는 한쌍의 음성데이터와 다른 한쌍의 필터연산부로부터 출력되는 한쌍의 음성 데이터를 받아 각 판독어드레스발생부가 발생한 판독어드레스의 소수부 제{(log2N)+1}비트 이하의 비트를 보간계수로서 직선 보간값을 구하는 것에 의해 서로 인접하는 2개의 음성데이터사이를 보간하는 한쌍의 보간 데이터를 생성하는 한쌍의 보간부를 더 구비하며,
크로스페이드부로는 한쌍의 보간부로부터 출력되는 한쌍의 음성데이터가 부여되는 것을 특징으로 하고 있다.
상기 제 4 국면에 의하면 보다 고정밀도인 음정 변환이 가능해진다.
제 5 국면은 제 4 국면에 있어서, 각 판독어드레스발생부는 음정변환비를 누적 가산하는 어큐뮬레이터를 포함하고 있다.
제 6 국면은 제 4 국면에 있어서,
각 판독어드레스발생부는,
일정값을 누적 가산하는 어큐뮬레이터, 및
어큐뮬레이터의 출력과 음정변환비를 곱하는 곱셈기를 포함하고 있다.
상기 제 5 또는 제 6 국면에 의하면 버퍼로부터 음성데이터를 판독하고, 또 필터계수열을 선택하기 위한 판독어드레스가 얻어진다.
제 7 국면은 재생시간을 변하게 하지 않고 음향신호의 음정을 임의의 음정으로 변환하기 위한 음정변환장치로서,
음향신호를 샘플링하여 얻어진 이산적인 음성데이터가 순차적으로 입력되는 음성데이터입력단자,
음정변환비를 나타내는 음정제어신호가 입력되는 음정제어신호입력단자,
음정제어신호입력단자를 통해 입력되는 음정제어신호에 기초하여 판독어드레스를 발생하는 1개의 판독어드레스발생부,
버퍼를 포함하며, 음성데이터입력단자를 통해 입력되는 음성데이터를 차례로 해당 버퍼에 기록하고, 또 판독어드레스발생부가 발생한 판독어드레스의 정수부 비트에 기초하여 서로 일정수 번지 어긋난 한쌍의 음성 데이터열을 해당 버퍼로부터 판독하는 메모리부,
메모리부가 판독한 한쌍의 음성데이터를 받아 해당 한쌍의 음성데이터열을 구성하는 각 한쌍의 음성데이터에 크로스페이드계수를 곱해 서로 가산하는 크로스페이드부,
N배 오버샘플링(단, N은 2의 제곱; 이하 동일)을 실시하기 위한 로패스필터를 다위상분해하여 얻어지는 N개의 서브필터와 대응하는 N개의 필터계수열이 미리 저장된 필터계수열저장부,
판독어드레스발생부가 발생한 판독어드레스의 소수부 제 1∼제 (log2N)비트에 기초하여 필터계수열 저장부에 저장되어 있는 N개의 필터계수열중 어느 하나의 필터계수열을 선택하는 1개의 필터계수열 선택부 및
크로스페이드부로부터 출력되는 음성데이터열을 받아 해당 음성데이터열에 대해 필터계수열선택부가 선택한 필터계수열을 이용하여 필터연산을 실시하는 한개의 필터연산부를 구비하고 있다.
상기 제 7 국면에서는 오버샘플링을 실시하는 경우와 비교하여 소규모이고 저렴하면서 오버샘플링을 실시하는 경우와 같은 정도의 고역 변형을 저감할 수 있다.
또, N배 오버샘플링을 실시할 경우에는 버퍼의 용량이 N배 필요하고, 또 필터 연산 동작의 주기는 N-1배로 하지 않으면 안되지만 상기 제 7 국면에서는 메모리부에 포함되는 버퍼의 용량은 N에 관계없이 일정해서 좋고, 필터연산동작의 주기도 N에 관계없이 일정해서 좋기 때문에 장치의 대규모화도 고가격화도 수반하지 않고 N을 충분히 크게 할 수 있다. 따라서, N을 충분히 크게 하는 것에 의해 직선보간을 생략해도 고정밀도인 음정 변환을 실시할 수 있다.
또, 판독어드레스의 소수부 제 1∼제(log2N)비트에 기초하여 필터계수열을 선택하기 때문에 용이하고 장치의 대규모화를 수반하지 않고 필터연산을 실시할 수 있다.
또, 상기 각 효과는 제 1 국면과 동일하지만, 제 7 국면에서는 판독어드레스발생부, 필터계수열선택부 및 필터연산부가 각 1개로 완료되기 때문에 제 1 국면보다 더 장치의 규모가 작다고 할 수 있다.
제 8 국면은 제 7 국면에 있어서, 판독어드레스발생부는 음정변환비를 누적 가산하는 어큐뮬레이터를 포함하고 있다.
제 9 국면은 제 7 국면에 있어서,
판독어드레스발생부는,
일정값을 누적 가산하는 어큐뮬레이터 및
어큐뮬레이터의 출력과 음정변환비를 곱하는 곱셈기를 포함하고 있다.
상기 제 8 또는 제 9 국면에 의하면 버퍼로부터 음성데이터를 판독하고, 또필터계수열을 선택하기 위한 판독어드레스가 얻어진다.
제 10 국면은 제 7 국면에 있어서,
버퍼상에는 음성데이터입력단자를 통해 입력되는 음성데이터가 기록되는 위치를 나타내는 기록 포인터와, 판독되는 한쌍의 음성데이터열 각각의 선두 위치를 나타내는 한쌍의 판독 포인터가 설치되며,
버퍼는 그 선두와 말미가 고리처럼 연결된 한쌍의 판독 포인터사이의 거리의 2배에 상당하는 용량을 갖는 링버퍼이며,
메모리부는 한쌍의 판독 포인터중 어느 한쪽과 기록포인터와의 사이의 거리를 크로스페이드부에 통지하고,
크로스페이드부는 메모리부로부터 통지된 거리에 따른 크로스페이드계수를 한쌍의 음성데이터열을 구성하는 각 한쌍의 음성데이터에 곱하는 것을 특징으로 하고 있다.
상기 제 10 국면에서는 한쌍의 판독 포인터중 어느 한쪽과 기록포인터사이의 거리에 기초하여 한쌍의 음성데이터열에 곱하도록 크로스페이드계수를 구한다.
제 11 국면은 제 10 국면에 있어서, 판독어드레스발생부는 음정변환비를 누적 가산하는 어큐뮬레이터를 포함하고 있다.
제 12 국면은 제 10 국면에 있어서,
판독어드레스발생부는,
일정값을 누적 가산하는 어큐뮬레이터 및
어큐뮬레이터의 출력과 음정 변환비를 곱하는 곱셈기를 포함하고 있다.
상기 제 11 또는 제 12 국면에 의하면 버퍼로부터 음성데이터를 판독하고, 또 필터계수열을 선택하기 위한 판독어드레스가 얻어진다.
본 발명의 상기 및 다른 목적, 특징, 국면 및 이점은 첨부한 도면과 본 발명의 상세한 설명으로부터 보다 명확해질 것이다.
(실시예)
이하, 본 발명의 실시형태에 대해 도면을 참조하면서 설명한다. 또, 종래와 공통되고, 또 이미 설명한 기술에 대해서는 자세한 설명을 생략한다.
이하의 설명에서도 “k”는 음정변환비를, “T”는 음성데이터의 샘플링주기를, “t”는 T를 단위로 하는 실시간을, “N”은 오버샘플링비를 나타낸다(종래기술란을 참조).
(제 1 실시형태)
본 발명의 제 1 실시형태에 따른 음정변환장치에 대해 상세히 설명하기 전에 개요를 설명한다.
제 1 실시형태에 따른 음정변환장치는 종래의 음정변환장치와 마찬가지로 시간축 압축 신장 및 크로스페이드에 의해 재생시간은 변하게 하지 않고 음향신호의 음정을 변환한다.
또, 음정변환비를 누적 가산하고, 그 누적 가산 결과를 판독어드레스로서 이용하는 점도 종래의 음정변환장치와 동일하다.
제 1 실시형태에 따른 음정변환장치가 종래의 음정변환장치와 다른 점은 다음과 같다.
(Ⅰ) 외관상 오버샘플링은 실시하지 않고, 그대신 오버샘플링에 이용하는 로패스필터(14a)(또는 14b)를 다위상분해하여 얻어지는 서브필터를 이용하여 다음과 같은 필터연산을 실시한다.
즉, 다른 종래의 음정변환장치(도 25 참조)는 메모리부(1)의 전단에 오버샘플링부(11)를 구비하고 있다. 오버샘플링부(11)에 포함되는 로패스필터(14a)는 N배 오버샘플링을 실시할 경우, 주기(T×N-1)로 연산동작을 실시하고, 메모리부(1)에는 이에 의해 얻어지는 샘플링주기(T×N-1)의 음성데이터가 일시 기억된다. 따라서, 메모리부(1)의 버퍼용량은 오버샘플링을 실시하지 않는 경우의 N배 필요해진다.
한편, 제 1 실시형태에 따른 음정변환장치는 메모리부(1)의 후단에 상기 오버샘플링부(11)에 포함되는 로패스필터(14a)를 다위상분해하여 얻어지는 N개의 서브필터(또, 각 서브필터의 탭수는 로패스필터(14a)의 탭수의 N-1배가 됨)중 어느 하나를 이용하여 주기(T)로 연산을 실시하는 필터연산부를 구비하고 있다. 따라서, 메모리부(1)의 버퍼용량은 오버샘플링을 실시하지 않은 경우와 동일해서 좋다.
즉, 제 1 실시형태에 따른 음정변환장치에서는 N배 오버샘플링을 실시하는 음정변환장치와 비교하여 메모리부(1)의 버퍼용량은 N-1부, 필터연산동작의 주기는 N배(즉 동작속도는 N-1배)이면서 N배 오버샘플링을 실시하는 경우와 동등한 고역 변형 저감 효과가 얻어진다.
바꿔말하면, 메모리부(1)의 버퍼용량은 오버샘플링비(N)에 관계없이 일정해서 좋고, 필터연산동작도 크로스페이드 압축 신장동작과 마찬가지로 오버샘플링비(N)에 관계없이 일정한 주기, 즉 음성데이터의 샘플링주파수와 같은 주기(=T)로 실행하면 좋다. 이때문에, 장치 가격의 급상승을 수반하지 않고 오버샘플링비(N)를 크게 할 수 있다.
오버샘플링비를 충분히 크게 하면 직선 보간을 실시하지 않아도 고정밀도인 음정변환을 실시할 수 있다. 따라서 보간부(10a, 10b)만큼 장치 규모를 작게 할 수 있다.
또, 오버샘플링비가 작은 경우에는 직선 보간을 실시하지 않으면 음정 변환비가 시간적으로 변동하여 그다지 고정밀도인 음정 변환을 실시할 수 없다.
(Ⅱ) 판독어드레스의 소수부 제 1∼제(log2N)비트를 이용하여 N개의 서브필터중 어느 하나를 선택한다. 이에 의해 용이하게 장치의 대규모화를 수반하지 않고 필터 선택을 실시할 수 있다.
이하, 본 발명의 제 1 실시형태에 따른 음정변환장치에 대해 상세히 설명한다.
도 1은 본 발명의 제 1 실시형태에 따른 음정변환장치의 구성을 나타내는 블록도이다.
제 1 실시형태에 따른 음정변환장치는 예를 들면 도 12에 도시한 종래의 CD재생기에 설치된다.
도 1에 있어서, 제 1 실시형태에 따른 음정변환장치는 메모리부(1), 한쌍의 필터연산부(2a, 2b), 크로스페이드부(3), 한쌍의 판독어드레스발생부(4a, 4b), 한쌍의 필터계수열선택부(5a, 5b), 필터계수열저장부(6), 음성데이터입력단자(7), 음성데이터출력단자(8), 음정제어신호입력단자(9)를 구비하고 있다.
제 1 실시형태에 따른 음정변환장치에서는 메모리부(1), 판독어드레스발생부(4a, 4b) 및 크로스페이드부(3)가 음성데이터에 대해 음정변환비에 따른 시간축 압축 신장 및 크로스페이드를 실시하고, 이에 의해 재생시간을 변하게 하지 않고 음향신호의 음정을 변환하고 있다. 이점은 종래의 음정변환장치와 동일하다.
제 1 실시형태에 따른 음정변환장치에서는 또 필터연산부(2a, 2b), 필터계수열선택부(5a, 5b) 및 필터계수열저장부(6)가 필요한 음성데이터만을 필터연산에 의해 산출하고 있다. 이 점이 오버샘플링과 보간값 산출을 조합하여 실시하는 다른 종래의 음정변환장치와 다르다.
여기서는 설명을 간단히 하기 위해 오버샘플링비를 4배(즉 N=4)로 한다.
최초, 4배 오버샘플링에 대해 간단히 설명한다.
도 2는 도 1의 음정변환장치의 필터연산부(2a, 2b)에 의해 산출되는 음성데이터(음정변환비가 1.26배인 경우)와 도 25의 음정변환장치의 오버샘플링비(11)가 4배 오버샘플링을 실시한 경우에 얻어지는 음성데이터와의 관계를 나타내는 도면이다.
오버샘플링부(11)에서는 도 2의 (a)에 도시한 바와 같이, 보간회로(13)를 통해 음성데이터와 다음 음성데이터사이, 예를 들면 x(0)과 x(1)사이, x(1)과 x(2)사이, …에 각 3개의 0이 삽입된다. 그 후, 로패스필터(14a)에 의해 하기 수학식 4를 필터계수로 하는 필터연산이 주기(T×4-1)로 실시된다.
예를 들면, t=4이후, 오버샘플링부(11)의 로패스필터(14a)로 실시되는 필터 연산은 0과의 곱셈을 제외하면 다음과 같이 된다.
y(4)=f(0)x(4)+f(4)x(3)+f(8)x(2)+f(12)x(1)+f(16)x(0)
y(4+1/4)=f(1)x(4)+f(5)x(3)+f(9)x(2)+f(13)x(1)+f(17)x(0)
y(4+2/4)=f(2)x(4)+f(6)x(3)+f(10)x(2)+f(14)x(1)+f(18)x(0)
y(4+3/4)=f(3)x(4)+f(7)x(3)+f(11)x(2)+f(15)x(1)+f(19)x(0)
y(5)=f(0)x(5)+f(4)x(4)+f(8)x(3)++f(12)x(2)+f(16)x(1)
y(5+1/4)=f(1)x(5)+f(5)x(4)+f(9)x(3)+f(13)x(2)+f(17)x(1)
이와 같이 하여 오버샘플링부(11)로부터는 샘플링주기(T×4-1)의 음성 데이터{y(0), y(0.25), y(0.5), y(0.75), y(1), y(1.25), …)가 출력된다.
그러나, 예를 들면 주파수를 1.26배로 변환하는 경우, 샘플링주기(T×4-1)의 음성 데이터{y(0), y(0.25), y(0.5), y(0.75), y(1), y(1.25), …)가 모두 필요하지는 않다.
따라서, 제 1 실시형태에 따른 음정변환장치에서는 4개의 서브필터(후술)중 어느 하나를 이용하여 주기(T)로 필터 연산을 실시하는 것에 의해 도 2의 (b)에 도시한 바와 같이, 음정변환에 필요한 음성데이터{y(0), y(1.25×1), y(1.25×2), …)만을 구한다.
다시 도 1에 있어서, 음성 데이터 입력단자(7)로는 CD재생기의 음성데이터 출력단자(25)로부터 출력되는 음성데이터{x(0), x(1), x(2), x(3), …)}가 입력되며, 메모리부(1)는 그 음성데이터를 일시 기억한다.
음정제어신호입력단자(9)로는 CD재생기의 음정제어신호출력단자(26)로부터 출력되는 음정제어신호가 입력되며, 판독어드레스발생부(4a, 4b)는 음정제어신호가 나타내는 음정변환비를 어드레스증분값으로서 누적 가산하고, 그 누적가산결과를 판독어드레스로서 출력한다.
즉, 판독어드레스발생부(4a, 4b)는 도 19의 것과 동일한 동작을 실시한다. 다른 점은 발생된 판독어드레스의 정수부 비트가 유효한 판독어드레스로서 메모리부(1)에 부여되고, 소수부 제 1 및 제 2 비트(N=4인 경우)는 필터선택정보로서 필터계수열선택부(5a, 5b)에 부여되는 점이다.
또, 일반적으로는 소수부 제 1∼제(log2N)비트가 필터선택정보로서 필터계수열 선택부(5a, 5b)로 부여된다.
도 3은 도 1의 판독어드레스발생부(4a, 4b)의 구성의 일례를 나타내는 블록도, 도 4는 다른 일례를 나타내는 블록도이다.
도 3에 있어서, 판독어드레스발생부(4a, 4b)는 어드레스증분값(=k)을 누적 가산하는 어큐뮬레이터(16)(ALU)를 포함한다. 이는 도 21의 어드레스발생부와 동일한 구성이다.
도 4에 있어서, 판독어드레스발생부(4a, 4b)는 정수(예를 들면 1)를 누적 가산하는 ALU와 어드레스증분값(=k)과 ALU의 출력을 곱하는 곱셈기(17)를 포함한다. 이는 도 21의 어드레스발생부와는 다른 구성이지만 동일한 판독어드레스를 발생한다.
도 5는 도 3, 도 4의 ALU의 출력레지스터의 일례(24비트의 경우)를 나타내는 개략도이다.
도 5의 출력 레지스터에서는 좌단으로부터 제 16 번째의 비트와 제 17 번째의 비트사이에 소수점이 있고, 소수점보다 상위에 있는 16비트는 판독어드레스의 정수부를 나타내고 하위에 있는 8비트는 소수부를 나타낸다고 간주된다.
소수점의 바로 우측의 비트를 「소수부 제 1 비트」, 그 우측을 「소수부 제 2 비트」, …와 같이 부르기로 하면 예를 들면 N=4인 경우 소수부 제 1 및 제 2 비트가 필터선택정보가 된다.
또, 판독어드레스발생부(4a)와 판독어드레스발생부(4b)의 관계는 도 19의 경우와 동일하기 때문에 설명을 생략한다.
다시 도 1에 있어서, 메모리부(1)는 판독어드레스발생부(4a, 4b)가 발생하는 판독어드레스의 정수부(상위 비트)에 기초하여 버퍼로부터 음성데이터열을 판독한다.
한편, 필터계수열저장부(6)에는 4개(일반적으로는 N개)의 필터계수열이 저장되어 있다. 이들 필터계수열은 도 25의 오버샘플링부(11)에 포함되는로패스필터(14a)를 다위상분해하여 얻어지는 4개(일반적으로는 N개)의 서브필터의 필터계수열이다.
N=4인 경우, 오버샘플링부(11)에 포함되는 로패스필터(14a)는 그 탭수를 20으로 하면 하기 수학식 4로 표현된다.
또, 상기 수학식 4에서의 z^(-n)은 지연 연산자이며, x(t)와의 사이에서 하기 수학식 5와 같은 관계가 성립한다.
상기 수학식 4로 표현되는 로패스필터(14a)를 다위상분해하여 얻어지는 4개의 서브필터는 하기 수학식 6과 같이 된다.
필터계수열저장부(6)에 저장되는 것은 상기와 같이 얻어지는 4개(일반적으로는 N개)의 서브필터의 계수 부분이다.
필터계수열선택부(5a, 5b)는 판독어드레스발생부(4a, 4b)가 발생하는 판독어드레스의 소수부 제 1 및 제 2 비트에 기초하여 필터계수열저장부(6)에 저장되어 있는 4개(일반적으로는 N개)의 필터계수열중 어느 하나의 필터계수열을 선택한다. 그리고, 그 필터계수열을 판독하고, 필터연산부(2a, 2b)로 전송한다.
필터연산부(2a, 2b)는 메모리부(1)로부터의 음성데이터열과 필터계수열선택부(5a, 5b)로부터의 필터계수열에 기초하여 필터연산을 실시한다.
크로스페이드부(3)는 필터연산부(2a)로부터 출력되는 음성데이터와 필터연산부(2b)로부터 출력되는 음성데이터를 받아 그 한쌍의 데이터에 대해 크로스페이드를 실시한다. 즉, 각 데이터에 각각 크로스페이드계수를 곱한 후 서로 가산한다.
또, 크로스페이드부(3)가 부가되는 것에 의해 재생시간은 변하지 않고 음향신호의 음정을 임의의 음정으로 변환할 수 있게 되는 점은 종래와 동일하다.
음성데이터출력단자(8)로부터는 크로스페이드 압축 신장이 실시된 음성데이터, 즉 음정 변환후의 음성 데이터가 출력된다.
이상과 같이 구성된 음정 변환 장치의 동작에 대해 이하에 설명한다. 또, CD재생기의 동작은 종래기술의 항목에서 설명한 것과 동일하다.
도 20에 있어서, 사용자는 CD재생기에 대해 최초, 도시하지 않은 조절손잡이등을 통해 원하는 음정 변환비(k)를 지시하고, 계속해서 도시하지 않은 PLAY버튼을 누른다.
따라서, CD재생기에서는 최초, 음정변환비설정부(23)가 음정변환비(k)를 설정한다. 계속해서, 판독부(21)는 CD(20)로부터 주기(T)로 음성데이터를 판독하는 처리를 개시하고, 또 음정변환비설정부(23)는 음정변환비(k)를 나타내는 음정제어신호를 생성하는 처리를 개시한다. 또, 상기와 같이 설정한 음정변환비(k)를 재생 개시후, 다른 값으로 변경할 수도 있다.
이와 같이 판독된 음성데이터와 생성된 음정제어신호가 각각 음성데이터입력단자(7), 음정제어신호입력단자(9)를 통해 도 1의 음정변환장치에 입력된다.
입력된 음성데이터는 메모리부(1)에 의해 일시 기억된다. 메모리부(1)가 음성데이터를 어떻게 기억할지는 도 22의 (a)에 도시되어 있다. 즉, 메모리부(1)는 입력되는 음성데이터를 순번으로, 즉 x(0)을 0번지에, x(1)을 1번지에, x(2)를 2번지에, …와 같이 기억해간다.
한편, 입력된 음정제어신호는 2분기되어 판독어드레스발생부(4a, 4b)에 부여된다. 판독어드레스발생부(4a, 4b)는 부여된 음정제어신호에 기초하여 서로 일정값 어긋난 판독어드레스를 주기(T)로 발생한다.
이와 같이 발생된 한쌍의 판독어드레스는 메모리부(1) 및 필터계수열선택부(5a, 5b)로 부여된다.
단, 판독어드레스발생부(4a)가 발생한 판독어드레스의 정수부비트가 유효한 판독어드레스로서 메모리부(1)로 부여되고, 소수부 제 1 및 제 2 비트는 필터 선택 정보로서 필터계수열선택부(5a)로 부여된다. 판독어드레스발생부(4b)가 발생한 판독어드레스의 정수부비트가 유효한 판독어드레스로서 메모리부(1)로 부여되고, 소수부 제 1 및 제 2 비트는 필터계수열선택부(5b)로 부여된다.
메모리부(1)는 부여된 한쌍의 정수부 비트(유효한 판독 어드레스)에 기초하여 버퍼로부터 한쌍의 음성데이터열을 판독한다.
메모리부(1)의 버퍼상에 있어서, 입력되어 오는 음성데이터의 기록이 실시되는 위치와, 한쌍의 판독어드레스발생부(4a, 4b)로부터의 유효한 판독어드레스를 받아 한쌍의 음성데이터열의 판독이 실시되는 2개의 위치의 관계(단, 음정을 높게 변환하는 경우)는 도 23에 도시되어 있다. 단, 이 경우, 판독 포인터「r1」, 「r2」는 판독되는 한쌍의 음성데이터열의 선두의 위치를 가리킨다.
메모리부(1)가 입력되는 음성데이터를 버퍼에 어떻게 기록하고, 부여된 한쌍의 유효한 판독어드레스에 기초하여 버퍼로부터 한쌍의 음성데이터열을 어떻게 판독할지는 판독되는 것이 5개의 음성데이터로 이루어진 음성데이터열(N=4인 경우)인 차이를 빼면 종래기술란에서 설명한 것과 동일하다.
한편, 필터계수열선택부(5a, 5b)는 부여된 한쌍의 필터선택정보에 기초하여 필터계수열저장부(6)에 저장되어 있는 N개의 필터계수열중에서 어느 하나의 필터계수열을 선택한다. 그리고, 그 필터계수열을 판독하여 필터연산부(2a, 2b)로 전송한다.
예를 들면 N=4, 탭수가 20인 경우, 필터계수열저장부(6)에는 다음 4개의 필터계수열이 차례로 저장된다.
{f(0), f(4), f(8), f(12), f(16)}
{f(1), f(5), f(9), f(13), f(17)}
{f(2), f(6), f(10), f(14), f(18)}
{f(3), f(7), f(11), f(15), f(19)}
이하에서는 상기 필터계수열을 차례로 제 0 필터계수열, 제 1 필터계수열,제 2 필터계수열, 제 3 필터계수열이라고 부르기로 한다.
필터계수열선택부(5a, 5b)는 부여된 필터선택정보에 따라서 다음과 같이 필터를 선택한다.
필터선택정보가 “00”인 경우, 제 0 필터계수열을 선택한다.
필터선택정보가 “01”인 경우, 제 1 필터계수열을 선택한다.
필터선택정보가 “10”인 경우, 제 2 필터계수열을 선택한다.
필터선택정보가 “11”인 경우, 제 3 필터계수열을 선택한다.
필터연산부(2a, 2b)는 메모리부(1)로부터의 음성데이터열(이 경우, 5개의 음성데이터로 구성됨)과 필터계수열선택부(5a, 5b)로부터의 필터계수열에 기초하여 필터연산(이 경우, 탭수는 5)을 실시하여 필요한 음성 데이터{y(0), y(k×1), y(k×2), …}를 산출한다.
여기서, 구체예로서 음정변환비가 1.26인 경우에 대해서 판독어드레스발생부(4a, 4b), 필터계수열선택부(5a, 5b) 및 필터연산부(2a, 2b)의 처리를 설명한다.
판독어드레스발생부(4a, 4b)로부터는 다음과 같은 판독어드레스가 주기(T)로 차례로 발생된다.
t=0: 0
t=1: 1.26 = 1+1/4+0.01
t=2: 1.26×2 = 2+2/4+0.02
t=3: 1.26×2 = 3+3/4+0.03
t=4: 1.26×4 = 5 +0.04
t=5: 1.26×5 = 6+1/4+0.05
t=6: 1.26×6 = 7+2/4+0.06
t=7: 1.26×7 = 8+3/4+0.07
t=8: 1.26×8 =10 +0.08
t=9: 1.26×9 = 11+1/4+0.09
상기 판독어드레스는 도 5의 출력 레지스터로는 각각 다음과 같이 표현된다.
t=0: 0000000000000000. 00000000
t=1: 0000000000000001. 00000010
t=2: 0000000000000010. 10000100
t=3: 0000000000000011. 11000110
t=4: 0000000000000101. 00001000
t=5: 0000000000000110. 01001010
t=6: 0000000000000111. 10001100
t=7: 0000000000001000. 11001110
t=8: 0000000000001010. 00010000
t=9: 0000000000001011. 01010010
메모리부(1)로는 상기 판독어드레스의 정수부 제 1∼제 16 비트가 유효한 판독어드레스로서 부여되고, 필터선택부(5a, 5b)로는 상기 판독어드레스의 소수부 제 1 및 제 2 비트가 필터선택정보로서 부여된다(도 6 참조).
따라서, 메모리부(1)는 부여된 유효한 판독어드레스와 대응하는 음성데이터를 선두로 하는 서로 연속된 5개 한셋트의 음성데이터를 주기(T)로 차례로 판독하여 필터연산부(2a, 2b)로 부여한다. 따라서, 시각 t=4이후, 메모리부(1)로부터 판독되어 필터연산부(2a, 2b)로 부여되는 음성데이터는 다음과 같이 된다.
t=4: {x(5), x(4), x(3), x(2), x(1)}
t=5: {x(6), x(5), x(4), x(3), x(2)}
t=6: {x(7), x(6), x(5), x(4), x(3)}
t=7: {x(8), x(7), x(6), x(5), x(4)}
t=8: {x(10), x(9), x(8), x(7), x(6)}
t=9: {x(11), x(10), x(9), x(8), x(7)}
한편, 필터계수열선택부(5a, 5b)는 시각 t=4이후, 필터선택정보에 따라서 다음과 같은 필터계수열을 선택한다.
t=4: 필터선택정보 ”00”에 기초하여 제 0 필터계수열을 선택
t=5: 필터선택정보 ”01”에 기초하여 제 1 필터계수열을 선택
t=6: 필터선택정보 ”10”에 기초하여 제 2 필터계수열을 선택
t=7: 필터선택정보 ”11”에 기초하여 제 3 필터계수열을 선택
t=8: 필터선택정보 ”00”에 기초하여 제 0 필터계수열을 선택
t=9: 필터선택정보 ”01”에 기초하여 제 1 필터계수열을 선택
필터연산부(2a, 2b)는 시각 t=4이후, 메모리부(1)로부터의 음성데이터와 필터계수열선택부(5a, 5b)로부터의 필터계수열에 기초하여 다음과 같은 필터연산을실시한다.
t=4: y(1.25×4)=f(0)x(5)+f(4)x(4)+f(8)x(3)+f(12)x(2)+f(16)x(1)
t=5: y(1.25×5)=f(1)x(6)+f(5)x(5)+f(9)x(4)+f(13)x(3)+f(17)x(2)
t=6: y(1.25×6)=f(2)x(7)+f(6)x(6)+f(10)x(5)+f(14)x(4)+f(18)x(3)
t=7: y(1.25×7)=f(3)x(8)+f(7)x(7)+f(11)x(6)+f(15)x(5)+f(19)x(4)
t=8: y(1.25×8)=f(0)x(10)+f(4)x(9)+f(8)x(8)+f(12)x(7)+f(16)x(6)
t=9: y(1.25×9)=f(1)x(11)+f(5)x(10)+f(9)x(9)+f(13)x(8)+f(17)x(7)
이와 같이 얻어지는 음성데이터{…, y(1.25×4), y(1.25×5), y(1.25×6), y(1.25×7), y(1.25×8), y(1.25×9), …}는 4배 오버샘플링에 의해 얻어지는 음성데이터와 동등하며, 이상값{x(1.26×4), x(1.26×5), x(1.26×6), x(1.26×7), x(1.26×8), x(1.26×9), …}을 양호하게 근사한다. 그리고, 오버샘플링비(N)가 크면 클수록 이상값에 가깝다.
여기서, 이상 설명한 판독어드레스발생부(4a, 4b), 필계수열선택부(5a, 5b) 및 필터연산부(2a, 2b)의 동작을 간단히 정리한다.
도 7은 도 1의 음정변환장치에서 실시하는 음정변환동작을 시각적으로 나타낸 개략도이다.
도 7에 있어서, 이제 판독어드레스발생부(4a)가 판독어드레스 ”0000000010010111. 10…”를 발생했다고 하자. 이때, 유효한 판독어드레스는 그 정수부 ”0000000010010111”즉 ”151”(10진수)이며, 한편, 필터선택정보는 그 소수부 제 1 및 제 2 비트 ”10”(2진수)이다.
이 판독어드레스를 받으면 메모리부(1)는 버퍼의 151번지∼147번지로부터 음성데이터열(5개의 음성데이터)을 판독한다. 이 필터선택정보를 받으면 필터계수열선택부(5a)는 제 3 필터계수열을 선택한다.
그리고, 판독된 음성데이터열과 선택된 필터계수열이 필터연산부(2a)로 부여되고, 거기서 필터연산이 실시된다.
이와 동일한 동작이 판독어드레스발생부(4b), 필터계수열선택부(5b) 및 필터연산부(2b)측에서도 실시된다.
다시 도 1에 있어서, 필터연산부(2a, 2b)로 부터 주기(T)로 차례로 출력되는, 서로 일정시간 어긋난 한쌍의 음성 데이터는 크로스페이드부(3)로 부여되고, 크로스페이드부(3)는 이들 음성데이터에 대해 크로스페이드처리를 실시한다. 이 크로스페이드처리는 종래기술란에서 설명한 것과 동일하다.
즉, 크로스페이드부(3)는 한쌍의 음성데이터에 곱하는 한쌍의 크로스페이드계수, 예를 들면 도 24에 도시된 계수를 미리 기억하고 있다.
또, 크로스페이드부(3)는 입력되는 한쌍의 음성데이터를 계수하는 것에 의해 그 한쌍의 음성데이터가 프레임 선두로부터 몇번째인지를 검출한다. 예를 들면 n1, n2번째의 음성데이터이면, α=n1, n2과 대응하는 한쌍의 V(α)를 구해 각각의 음성데이터에 곱하고, 그 곱셈 결과를 서로 가산한다.
그리고, 그 가산 결과, 즉 음정변환후의 음성데이터{y’(0), y’(1.25×1), y’(1.25×2), …}, 일반적으로는 {y’(0), y’(k’×1), y’(k’×2), …}가 음성데이터출력단자(8)를 통해 주기(T)로 음정변환장치의 외부로 출력된다.
음정변환장치로부터 출력된 음정변환후의 음성데이터{y’(0), y’(k’×1), y’(k’×2), …}는 음성데이터입력단자(27)를 통해 다시 CD재생기로 입력된다.
도 20에 있어서, 음성데이터입력단자(27)를 통해 입력된 음정변환후의 음성데이터는 재생부(22)로 부여된다. 재생부(22)는 부여된 음정변환후의 음성데이터로부터 음향신호를 재생한다.
이와같이 재생된 음향신호는 도시하지 않은 앰프를 통해 증폭된 후, 스피커로 입력되고, 따라서 음파로 변환된다.
도 2의 (c)는 음정변환후의 음성데이터로부터 재생되는 음향신호를 시각적으로 나타낸 도면이다
도 2의 (c)에 있어서, {out(0), out(1), out(2), …}가 음정변환후의 음성데이터{y’(0), y’(k×1), y’(k×2), …}}와 대응하는 음향신호이며 횡축상의 눈금은 주기(T)를 단위로 하는 실시간(t)을 나타내고 있다.
(제 2 실시형태)
제 2 실시형태에서는 제 1 실시형태에 있어서, 더 직선보간을 실시하도록 하고, 오버샘플링비가 작은 경우에도 고정밀도인 음정변환을 실시할 수 있도록 하고 있다. 또, 직선보간의 원리는 종래기술란에서 설명한 것과 동일하다. 단, 필터연산에 의해 얻어지는 음성데이터, 즉 오버샘플링후의 음성데이터를 이용하여 보간값을 산출하는 점은 종래와 다르다. 예를 들면 보간값(y(1.26))을 산출하는 경우, 종래는 음성데이터(x(1), x(2))를 이용했지만, 본 실시형태에서는 오버샘플링후의음성데이터(y(1.25), (1.5))를 이용한다.
또, 직선보간을 위한 보간계수에는 제 1 실시형태에서는 잘라버린 판독어드레스의 소수부 제{(log2N)+1} 비트이하를 이용한다. 이에 의해 용이하게 장치의 대규모화를 수반하지 않고 직선보간을 실시할 수 있다.
도 8은 본 발명의 제 2 실시형태에 따른 음정변환장치의 구성을 나타내는 블록도이다.
제 2 실시형태에 따른 음정변환장치는 예를 들면 도 20에 도시한 종래의 CD재생기에 설치된다.
도 8에 있어서, 제 2 실시형태에 따른 음정변환장치는 메모리부(1), 한쌍의 필터연산부(2a, 2b), 다른 한쌍의 필터연산부(2c, 2d), 한쌍의 보간부(10a, 10b), 크로스페이드부(3), 한쌍의 판독어드레스발생부(4a, 4b), 한쌍의 필터계수열선택부(5a, 5b), 필터계수열저장부(6), 음성데이터입력단자(7), 음성데이터출력단자(8) 및 음정제어신호입력단자(9)를 구비하고 있다.
즉, 제 2 실시형태에 따른 음정변환장치는 제 1 실시형태에 따른 음정변환장치에 다른 한쌍의 필터연산부(2c, 2d)와 한쌍의 보간부(10a, 10b)를 추가한 것이다. 그리고, 한쌍의 판독어드레스발생부(4a, 4b)가 발생한 판독어드레스의 소수부 제{(log2N)+1}비트 이하를 보간계수로서 한쌍의 보간부(10a, 10b)로 부여한다.
음성데이터입력단자(7)로는 CD재생기의 음성데이터출력단자(25)로부터 출력되는 음성데이터{x(0), x(1), x(2), x(3), …}가 입력되고, 메모리부(1)는 그 음성데이터를 일시 기억한다.
음정제어신호입력단자(9)로는 CD재생기의 음정제어신호출력단자(26)로부터 출력되는 음정제어신호가 입력되고, 판독어드레스발생부(4a, 4b)는 음정제어신호가 나타내는 음정변환비를 어드레스증분값으로서 누적 가산하며, 그 누적 가산 결과를 판독어드레스로서 출력한다.
즉, 판독어드레스발생부(4a, 4b)는 도 1의 것과 동일한 동작을 실시한다. 그리고, 발생된 판독어드레스의 정수부 비트가 유효한 판독어드레스로서 메모리부(1)에 부여되고, 소수부 제 1 및 제 2 비트(N=4인 경우)는 필터선택정보로서 필터계수열선택부(5a, 5b)에 부여된다(일반적으로는 소수부 제 1∼제(log2N)비트가 필터선택정보로서 필터계수열선택부(5a, 5b)에 부여된다). 이 점도 제 1 실시형태와 동일하다.
다른점은 다음 2가지이다. 제 1은 상기 정수부 비트뿐만 아니라 상기 정수부 비트와 소수부 제 1 및 제 2 비트로 부터 산출된 다른 정수부 비트가 또 메모리부(1)에 부여되는(또는 상기 정수부 비트와 소수부 제 1 및 제 2 비트를 메모리부(1)에 부여하고, 이에 기초하여 메모리부(1)가 다른 정수부비트를 산출하는)점이다. 다른 정수부비트는 판독어드레스발생부(4a, 4b)에 의해 발생된 판독어드레스에 대해 소수부 제 2 비트(일반적으로는 소수부 제(log2N)비트)부분에 ”1”을 가산하는 처리를 하여 그 가산결과로부터 정수부를 취출하는 것에 의해 얻어진다.
제 2는 제 1 실시형태에서는 이용되지 않았던 소수부 제 3 비트이하가 보간부(10a, 10b)에 부여되는 점이다. 일반적으로는 소수부 제{(log2N)+1}비트 이하가 보간부(10a, 10b)에 부여된다.
도 9는 도 8의 판독어드레스발생부(4a, 4b)의 구성의 일례를 나타내는 블록도, 도 10은 다른 일례를 나타내는 블록도이다.
도 9에 있어서, 판독어드레스발생부(4a, 4b)는 어드레스증분값(=k)을 누적 가산하는 어큐뮬레이터(16)(ALU)를 포함한다. 이는 도 3과 동일한 구성이다.
도 10에 있어서, 판독어드레스발생부(4a, 4b)는 정수(예를 들면 1)를 누적 가산하는 ALU과 어드레스증분값(=4)과 ALU의 출력을 곱하는 곰셈기(17)를 포함한다. 이는 도 4의 것과 동일한 구성이다.
도 11은 도 9, 도 10의 ALU의 출력 레지스터의 일례(24비트의 경우)를 나타내는 개략도이다.
도 11의 출력레지스터에서는 예를 들면 N=4인 경우, 소수부 제 3 비트 이하가 보간계수가 된다(일반적으로는 소수부 제{(log2N)+1}비트 이하가 보간계수가 된다). 이 점 이외는 도 5와 동일하다.
또, 판독어드레스발생부(4a)와 판독어드레스발생부(4b)의 관계는 제 1 실시형태와 동일하기 때문에 설명을 생략한다.
또 도 8에 있어서, 메모리부(1)는 판독어드레스발생부(4a, 4b)가 발생하는 판독어드레스의 정수부 비트에 기초하여 버퍼로부터 음성데이터열을 판독한다.
단, 직선보간을 실시하기위해 제 1 실시형태와 동일한 한쌍의 음성데이터열뿐만 아니라 그 한쌍의 음성 데이터열과 동일 또는 각각 1번지 어긋난 다른 한쌍의 음성데이터열도 판독된다. 즉, 판독어드레스발생부(4a)로부터의 정수부비트에 기초하여 서로 동일 또는 1번지 어긋난 2개의 음성데이터열이 판독되고, 판독어드레스발생부(4b)로부터의 정수부 비트에 기초하여 서로 동일 또는 1번지 어긋난 2개의 음성데이터열이 판독된다. 또, 서로 동일한 2개의 음성데이터가 판독되는 것은 판독어드레스발생부(4a, 4b)가 발생하는 판독어드레스의 소수부 제 1 및 제 2 비트가 ”00”, ”01”, ”10” 중 어느 하나인 경우이며, 서로 1번지 어긋난 2개의 음성데이터열이 판독되는 것은 ”11”인 경우이다. 일반적으로는 소수부 제 1∼제(log2N)비트가 모두 ”1”인 경우에만 서로 1번지 어긋난 2개의 음성데이터열이 판독되고, 이 이외의 경우는 서로 같은 2가지 음성 데이터가 판독된다.
필터계수열저장부(6)에는 4개(일반적으로는 N개)의 필터계수열이 저장되어 있다. 이 필터계수열은 제 1 실시형태와 같은 계수열, 즉 도 25의 오버샘플링부(11)에 포함되는 로패스필터(14a)를 다위상분해하여 얻어지는 4개(일반적으로는 N개)의 서브필터의 계수 부분이다.
N=4인 경우, 로패스필터(14a)는 상기 수학식 4로 표현되며, 이를 다위상분해하여 얻어지는 4개의 서브필터는 상기 수학식 6으로 표현된다.
필터계수열선택부(5a)는 판독어드레스발생부(4a)가 발생하는 판독어드레스의 소수부 제 1 및 제 2 비트(필터선택정보)에 기초하여 필터계수열저장부(6)에 저장되어 있는 4개의 필터계수열중에서 서로 인접하는 2개의 필터계수열을 선택한다. 그리고, 이 필터계수열을 판독하여 필터연산부(2a, 2c)로 전송한다.
필터계수열선택부(5b)는 판독어드레스발생부(4b)가 발생하는 판독어드레스의 소수부 제 1 및 제 2 비트에 기초하여 필터계수열저장부(6)에 저장되어 있는 4개의 필터계수열중에서 서로 인접하는 2개의 필터계수열을 선택한다. 그리고, 이 필터계수열을 판독하여 필터연산부(2b, 2d)로 전송한다.
필터연산부(2a, 2c)는 메모리부(1)로부터의 음성데이터와 필터계수열선택부(5a)로부터의 필터계수열에 기초하여 필터연산을 실시한다. 필터연산부(2b, 2d)는 메모리부(1)로부터의 음성데이터와 필터계수열선택부(5b)로부터의 필터계수열에 기초하여 필터연산을 실시한다.
보간부(10a)는 필터연산부(2a, 2c)로부터의 한쌍의 음성데이터와 판독어드레스발생부(4a)로부터의 보간계수(즉 판독어드레스의 소수부 제 3∼제 8 비트)에 기초하여 상기 수학식 3을 이용하여 보간부(10b)는 필터연산부(2b, 2d)로부터의 음성 데이터와 판독어드레스발생부(4b)로부터의 보간계수(즉 판독어드레스의 소수부 제 3∼제 8 비트)에 기초하여 상기 수학식 3을 이용하여 보간값을 산출한다.
크로스페이드부(3)는 보간부(10a)로부터 출력되는 음성데이터와 보간부(10b)로부터 출력되는 음성데이터를 받아 그 한쌍의 데이터에 대해 크로스페이드를 실시한다. 즉, 각 데이터에 각각 크로스페이드계수를 곱한 후, 서로 가산한다.
음성데이터출력단자(8)로부터는 크로스페이드압축신장이 실시된 음성데이터, 즉 음정변환후의 음성데이터가 출력된다.
이상과 같이 구성된 음정변환장치의 동작에 대해 이하에 설명한다. 단, 제 1 실시형태의 음정변환장치와 동일한 동작은 생략 또는 간단히 설명하고 다른 동작만을 상세히 설명한다.
도 20에 있어서, CD(20)로부터 판독된 음성데이터와 음정변환비(k)를 나타내는 음정제어신호가 각각 음성데이터입력단자(7), 음정제어신호입력단자(9)를 통해 음정변환장치에 입력된다.
입력된 음성데이터는 메모리부(1)에 의해 일시 기억된다. 메모리부(1)가 음성데이터를 어떻게 기억할지는 도 22의 (a)에 도시되어 있다.
한편, 입력된 음정제어신호는 2분기되어 판독어드레스발생부(4a, 4b)에 부여된다. 판독어드레스발생부(4a, 4b)는 부여된 음정제어신호에 기초하여 서로 일정값 어긋난 판독어드레스를 주기(T)로 발생한다.
이와 같이 발생된 한쌍의 판독어드레스는 메모리부(1), 한쌍의 필터계수열선택부(5a, 5b) 및 한쌍의 보간부(10a, 10b)로 부여된다.
즉, 판독어드레스발생부(4a)가 발생한 판독어드레스의 비트열중 정수부 비트가 유효한 판독어드레스로서 메모리부(1)로 부여되고, 소수부 제 1 및 제 2 비트는 필터선택정보로서 필터계수열 선택부(5a)로 부여된다. 또, 소수부 제 1 및 제 2 비트는 메모리부(1)로도 부여되고, 소수부 제 3 비트∼제 8 비트는 보간부(10a)로 부여된다.
판독어드레스발생부(4b)가 발생한 판독어드레스의 비트열중 정수부 비트가 유효한 판독어드레스로서 메모리부(1)로 부여되고, 소수부 제 1 및 제 2 비트는 필터선택정보로서 필터계수열선택부(5b)로 부여된다. 또, 소수부 제 1 및 제 2 비트는 메모리부(1)로도 부여되고, 소수부 제 3 비트∼제 8 비트는 보간부(10b)로 부여된다.
메모리부(1)는 제 1 실시형태와 동일하게 부여된 한쌍의 정수부 비트(유효한 판독어드레스)에 기초하여 버퍼로부터 한쌍의 음성데이터열을 판독한다. 또, 부여된 한쌍의 정수부 비트와 소수부 제 1 및 제 2 비트로부터 다른 한쌍의 정수부 비트를 산출하고, 그 다른 한쌍의 정수부 비트에 기초하여 상기 한쌍의 음성 데이터열과 동일 또는 각각 1번지 어긋난 다른 한쌍의 음성데이터열을 버퍼로부터 또 판독한다.
또, 도 23에는 메모리부(1)의 버퍼상에 있어서, 입력되어 오는 음성데이터의 기록이 실시되는 위치를 나타내는 「w」와 한쌍의 판독어드레스발생부(4a, 4b)로부터의 어드레스를 받아 한쌍의 음성데이터열의 판독이 실시되는 위치를 나타내는 「r1」, 「r2」의 관계(단, 음정을 높게 변환하는 경우)가 도시되어 있다. 도 23을 본 실시형태에 원용하는데는 「r1」과 같은 위치에 「r3」을 추가하고, 「r2」과 같은 위치에 「r4」를 추가하면 된다. 단, 「r3」은 일시적으로 「r1」으로부터 1번지만큼 후방(즉 도면을 향해서 우측)으로 어긋나는 것이 있고, 「r4」는 일시적으로 「r2」로부터 1번지만큼 후방(즉 도면을 향해서 우측)으로 어긋나는 것이 있다.
한편, 필터계수열선택부(5a)는 부여된 한쌍의 필터선택정보에 기초하여 필터계수열저장부(6)에 저장되어 있는 4개(일반적으로는 N개)의 필터계수열중에서 서로인접하는 2개의 필터계수열을 선택한다. 그리고, 이 필터계수열을 판독하여 필터연산부(2a, 2c)로 전송한다. 필터계수열선택부(5b)는 부여된 한쌍의 필터선택정보에 기초하여 필터계수열저장부(6)에 저장되어 있는 4개(일반적으로는 N개)의 필터계수열중에서 서로 인접하는 2개의 필터계수열을 선택한다. 그리고, 이 필터계수열을 판독하여 필터연산부(2b, 2d)로 전송한다.
예를 들면, N=4인 경우, 필터계수열저장부(6)에 저장되는 것은 제 1 실시형태와 동일한 제 1∼제 4 필터계수열이다.
이 경우, 필터계수열선택부(5a)는 부여된 필터선택정보에 기초하여 다음과 같이 필터선택을 실시한다.
필터선택정보가 ”00”인 경우에는 ”00” 및 ”01”과 대응하는 제 0 및 제 1 필터계수열을 선택하여 제 0 필터계수열을 필터연산부(2a)로, 제 1 필터계수열을 필터연산부(2c)로 전송한다.
필터선택정보가 ”01”인 경우에는 ”01” 및 ”10”과 대응하는 제 1 및 제 2 필터계수열을 선택하여 제 1 필터계수열을 필터연산부(2a)로, 제 2 필터계수열을 필터연산부(2c)로 전송한다.
필터선택정보가 ”10”인 경우에는 ”10”및 ”11”과 대응하는 제 2 및 제 3 필터계수열을 선택하여 제 2 필터계수열을 필터연산부(2a)로, 제 3 필터계수열을 필터연산부(2c)로 전송한다.
필터선택정보가 ”11”인 경우에는 ”11”및 ”00”과 대응하는 제 3 및 제 0 필터계수열을 선택하여 제 3 필터계수열을 필터연산부(2a)로, 제 0 필터계수열을필터연산부(2c)로 전송한다.
한편, 필터계수열선택부(5b)는 부여된 필터선택정보에 기초하여 다음과 같이 필터선택을 실시한다.
필터선택정보가 ”00”인 경우에는 ”00” 및 ”01”과 대응하는 제 0 및 제 1 필터계수열을 선택하여 제 0 필터계수열을 필터연산부(2b)로, 제 1 필터계수열을 필터연산부(2d)로 전송한다.
필터선택정보가 ”01”인 경우에는 ”01”및 ”10”과 대응하는 제 1 및 제 2 필터계수열을 선택하여 제 1 필터계수열을 필터연산부(2b)로, 제 2 필터계수열을 필터연산부(2d)로 전송한다.
필터선택정보가 ”10”인 경우에는 ”10”및 ”11”과 대응하는 제 2 및 제 3 필터계수열을 선택하여 제 2 필터계수열을 필터연산부(2b)로, 제 3 필터계수열을 필터연산부(2d)로 전송한다.
필터선택정보가 ”11”인 경우에는 ”11”및 ”00”과 대응하는 제 3 및 제 0 필터계수열을 선택하여 제 3 필터계수열을 필터연산부(2b)로, 제 0 필터계수열을 필터연산부(2d)로 전송한다.
필터연산부(2a, 2b)는 메모리부(1)로부터의 한쌍의 음성데이터열과 필터계수열선택부(5a, 5b)로부터의 한쌍의 필터계수열에 기초하여 필터연산을 실시한다. 필터연산부(2c, 2d)는 메모리부(1)로부터의 다른 한쌍의 음성데이터열과 필터계수열선택부(5a, 5b)로부터의 한쌍의 필터계수열에 기초하여 필터연산을 실시한다. 또, 각각의 필터연산은 제 1 실시형태와 동일하다.
보간부(10a)는 필터연산부(2a, 2c)로부터의 음성 데이터(y(m)), y(m+1/4)와 판독어드레스발생부(4a)로부터의 보간정보(소수부 제 3∼제 8 비트)에 기초하여 하기 수학식 7을 이용하여 보간값(q(1.26×n)을 산출한다. 보간부(10b)는 필터연산부(2b, 2d)로부터의 음성데이터(y(m), y(m+1/4)와 판독어드레스발생부(4b)로부터의 보간정보(소수부 제 3∼제 8 비트)에 기초하여 하기 수학식 7을 이용하여 보간값(q(1.26×n)을 산출한다.
여기서, m은 1.26이하에서 최대의, (1/4)의 배수이다. 또, 보간계수(1.26×n-m)는 보간정보(소수부 제 3∼제 8 비트)의 소수부 제 3 비트와 소수부 제 4 비트사이에 소수점을 삽입하여 얻어지는 값이다.
예를 들면 t=3일때, 판독어드레스는 1.26×3, 즉
0000000000000011. 11000110
이며(제 1 실시형태를 참조), 판독어드레스발생부(4a)로부터는 이 판독어드레스의 소수부 제 3∼제 8 비트 ”000110”가 보간정보로서 보간부(10a)에 부여된다. 또, 필터연산부(2a, 2c)로부터는 y(3.75), y(4.00)가 보간부(10a)로 부여된다.
따라서, 보간부(10a)는 부여된 소수부 제 3∼제 6 비트 ”000110”에 있어서, 소수부 제 3 비트와 소수부 제 4 비트사이에 소수점을 삽입한다. 그리고, 얻어진 보간계수”0.00110(2진수)”와 음성데이터(y(3.75),y(4.00))로부터 상기 수학식 7를 이용하여 보간값(q(1.26×3))을 산출한다.
일반적으로는 판독어드레스가 (k×n)인 경우, 보간부(10a, 10b)는 보간계수(k×n-m)와 음성데이터(y(m), y(m+1/N))로부터 하기 수학식 8을 이용하여 보간값(q(k×n))을 산출한다.
이와 같은 직선보간을 실시하는 것에 의해 제 1 실시형태와 비교하여 더 고정도인 음정변환이 가능해진다.
보간부(10a, 10b)로부터 주기(T)로 차례로 출력되는, 서로 일정시간 어긋난 한쌍의 음성데이터는 크로스페이드부(3)로 부여되고 크로스페이드부(3)는 이들 음성데이터에 대해 크로스페이드처리를 실시한다. 이 크로스페이드처리는 제 1 실시형태와 동일하다.
즉, 크로스페이드부(3)는 한쌍의 보간 완료 음성데이터에 곱하는 한쌍의 크로스페이드계수, 예를 들면 도 24에 도시된 계수를 미리 기억하고 있다.
또, 크로스페이드부(3)는 입력되는 한쌍의 보간 완료 음성데이터를 계수하는 것에 의해 그 한쌍의 보간 완료 음성데이터가 프레임 선두로부터 몇번째인지를 검출한다. 예를 들면 n1, n2번째의 보간 완료 음성데이터이면 α=n1, n2와 대응하는 한쌍의 V(α)를 구해 각각의 음성데이터에 곱하고, 그 곱셈결과를 서로 가산한다.
그리고, 그 가산결과, 즉 음정변환후의 음성데이터{q’(0), q’(k×1), q’(k×2), …}가 음성데이터출력단자(8)를 통해 주기(T)로 음정변환장치의 외부로 출력된다.
음정변환장치로부터 출력된 음정변환후의 음성데이터{q’(0), q’(k×1), q’(k×2), …}는 음성데이터입력단자(27)를 통해 다시 CD재생기로 입력된다.
도 20에 있어서, 음성데이터입력단자(27)를 통해 입력된 음정변환후의 음성데이터는 재생부(22)로 부여된다. 재생부(22)는 부여된 음정변환후의 음성데이터로부터 음향신호를 재생한다.
이와 같이 재생된 음향신호는 도시하지 않은 앰프를 통해 증폭된 후, 스피커로 입력되며, 거기서 음파로 변환된다.
(제 3 실시형태)
제 3 실시형태에서는 제 1 실시형태에 있어서, 판독어드레스발생부(4b), 필터계수열선택부(5b) 및 필터연산부(2b)를 생략하고, 또 필터연산부(2a)와 크로스페이드부(3)의 순서를 바꾸고 있다.
도 12는 본 발명의 제 3 실시형태에 따른 음정변환장치의 구성을 나타내는 블록도이다.
제 3 실시형태에 따른 음정변환장치는 예를 들면 도 20에 나타내는 종래의 CD재생기에 설치된다.
도 12에 있어서, 제 3 실시형태에 따른 음정변환장치는 메모리부(1), 필터연산부(2a), 크로스페이드부(3), 판독어드레스발생부(4a), 필터계수열선택부(5a), 필터계수열저장부(6), 음성데이터입력단자(7), 음성데이터출력단자(8) 및 음정제어신호입력단자(9)를 구비하고 있다.
즉, 제 3 실시형태에 따른 음정변환장치는 제 1 실시형태에 따른 음정변환장치(도 1 참조)에 있어서, 판독어드레스발생부(4b), 필터연산부(2b) 및 필터계수열선택부(5b)를 생략하고, 또 필터연산부(2a) 및 크로스페이드부(3)의 위치를 서로 바꾸는 구성을 갖는다.
메모리부(1) 및 크로스페이드부(3)이외의 구성 요소는 제 1 실시형태와 동일한 동작을 실시한다.
도 13은 도 12의 메모리부(1) 및 크로스페이드부(3)의 내부 구성을 개략적으로 나타낸 도면이다.
도 13에 있어서, 메모리부(1)에 포함되는 버퍼는 그 기억 영역의 선두와 말미를 고리처럼 연결한 링버퍼이며, 도 23에 도시되어 있는 판독포인터「r1」및 「r2」사이의 거리의 2배에 상당하는 용량을 갖는다.
여기서는 메모리부(1)내의 링버퍼의 용량을 4096워드로 한다. 따라서, 메모리부(1)에서는 링버퍼의 선두를 제 0 번지, 말미를 제 4095 번지로 하면 제 4095번지와 제 0번지가 연속되어 있는, 즉 제 4095번지 다음은 제 0번지가 된다.
링버퍼상에 있어서 기록포인터「w」는 화살표 방향으로 일정한 속도로 진행하고 있다. 「w」의 속도는 k에 관계없이 단위시간(=샘플링주기(T))당 1번지정도 진행하는 속도이다.
한편, 판독포인터「r1」와 「r2」는 링버퍼를 2등분하는 위치 관계를 유지하면서, 「w」의 대략 k(=음정변환비)배의 속도로 화살표방향으로 진행하고 있다.
이경우, 판독 포인터「r1」 및 「r2」사이에는 하기 수학식 9와 같은 관계가 성립한다.
따라서, 메모리부(1)는 판독어드레스발생부(4a)로부터의 판독어드레스(r1)에 기초하여 상기 수학식 9를 이용하여 r2를 구하는 것에 의해 제 1 실시형태와 같은 한쌍의 음성데이터를 판독한다.
이상에서 주목해야할 것은 다음 2가지 점이다.
제 1 은 한쌍의 판독어드레스(r1, r2)사이에는 상기 수학식 9와 같은 관계가 있기 때문에 메모리부(1)는 r1, r2중 어느 한쪽을 알 수 있으면 제 1 실시형태와 같이 한쌍의 음성데이터를 판독할 수 있다는 점이다.
제 2 는 r1의 소수부분과 r2의 소수부분이 동일해지기 때문에 제 1 실시형태와는 달리 필터연산에서 이용하는 필터계수열의 선택을 r1과 r2로 개별로 실행할 필요가 없다는 점이다. 또, 필터연산 및 크로스페이드의 실행 순서를 바꾸면 필터 연산도 r1과 r2로 개별로 실행할 필요도 없어진다.
이와 같은 점을 근거로 삼아 제 3 실시형태에 따른 음정변환장치에서는 제 1 실시형태에 따른 음정변환장치(도 1 참조)에 있어서, 판독어드레스발생부(4b), 필터연산부(2b) 및 필터계수열선택부(5b)를 생략하고, 또 필터연산부(2a) 및 크로스페이드부(3)의 위치를 서로 바꾸고 있다.
또, 링버퍼상에 있어서, 기록포인터「w」는 판독포인터「r1」과 「r2」사이의 원호(길이 2048워드분)를 a1과 a2로 내분하고 있다.
즉, a1, a2는 기록어드레스(w)와 판독어드레스(r1, r2)의 차를 나타내고 있으며, 하기 수학식 10을 만족한다.
이때, 크로스페이드부(3)는 메모리부(1)로부터 판독되는 한쌍의 음성데이터에 곱하는 한쌍의 크로스페이드계수(V(a1), V(a2))를 미리 기억하고 있다.
도 14는 크로스페이드부(3)가 메모리부(1)로부터 판독되는 한쌍의 음성데이터에 곱하는 한쌍의 크로스페이드계수(V(a1) V(a2))의 일례를 도시하고 있다.
a1과 a2는 상기 수학식 10과 같은 관계에 있기 때문에 a1, a2중 어느 한쪽을 이해할 수 있으면 된다. 따라서, 도 14에 도시한 바와 같이 크로스페이드부(3)는 a1(또는 a2)이 0∼2048일때의 V(a1), V(a2)를 미리 기억해둔다. 그리고, 판독어드레스발생부(4a)로부터의 판독어드레스(r1)와 기록어드레스(w)로부터 a1을 구하고, 그 a1과 대응하는 V(a1), V(a2)를 선택하여 메모리부(1)로부터 판독되는 한쌍의 음성데이터에 곱한다.
이상과 같이 구성된 음정변환장치에 대해서 이하에 그 동작을 설명한다. 단, 제 1 실시형태의 음정변환장치와 동일한 동작은 생략 또는 간단히 설명하고, 다른 동작만을 상세히 설명한다.
도 20에 있어서, CD(20)로부터 판독된 음성데이터와 음정변환비(k)를 나타내는 음정제어신호가 각각 음성데이터 입력단자(7), 음정제어신호입력단자(9)를 통해음정변환장치에 입력된다.
입력된 음성데이터는 메모리부(1)에 의해 일시 기억된다. 메모리부(1)가 음성데이터를 어떻게 기억할지는 도 22의 (a)에 도시되어 있다.
한편, 입력된 음정제어신호는 판독어드레스발생부(4a)에 부여된다. 판독어드레스발생부(4a)는 부여된 음정제어신호에 기초하여 판독어드레스를 주기(T)로 발생한다. 그 판독어드레스는 제 1 실시형태와 동일하다.
이와 같이 발생된 판독어드레스는 메모리부(1) 및 필터계수열선택부(5a)로 부여된다.
즉, 판독어드레스발생부(4a)가 발생한 판독어드레스의 정수부 비트가 유효한 판독어드레스로서 메모리부(1)로 부여되고, 소수부 제 1 및 제 2 비트는 필터선택정보로서 필터계수열선택부(5a)로 부여된다.
메모리부(1)는 부여된 정수부 비트(유효한 판독어드레스(r1))에 기초하여 버퍼로부터 음성데이터를 판독한다.
즉, r1에 기초하여 상기 수학식 9를 이용하여 또 하나의 어드레스(r2)를 산출하고, 그 r1, r2에 해당하는 번지로부터 한쌍의 음성데이터를 판독한다.
도 15는 도 12의 메모리부(1)의 링버퍼상에 있어서 입력되어 오는 음성데이터의 기록이 실시되는 위치(기록어드레스포인터「w」)와 판독어드레스발생부(4a)로부터의 어드레스를 받아 한쌍의 음성데이터의 판독이 실시되는 2개의 위치(판독어드레스포인터「r1」, 「r2」)와의 관계(단, 음정을 높게 변환하는 경우)를 개략적으로 나타낸 도면이다.
도 15에 있어서, 「w」, 「r1」, 「r2」는 시간이 경과함에 따라서 (a), (b), …, (l)과 같이 이동한다. (l)은 (a)와 같은 상태를 나타내고 있으며, 계속해서 (a), (b), …, (l)이 반복된다.
(a)∼(l)을 통해 「r1」과 「r2」는 링버퍼를 2등분하는 위치 관계로 유지된다. 「w」는 일정한 속도로 화살표 방향으로 이동하고, 「r1」및 「r2」는 「w」와 동일한 방향으로, 「w」보다 빨리 이동한다. 또, a1, a2는 「w」과 「r1」, 「r2」사이의 거리를 나타낸다. 이 점에 대해서는 조금전에 도 13을 이용하여 설명했다.
(a)(또는 (1))는 「r2」가 「w」를 추월하는 순간을 나타낸다. 이 순간, 「r2」의 위치로부터 판독되는 음성데이터가 불연속이 된다.
(g)는 「r1」이 「w」를 추월하는 순간을 나타낸다. 이 순간, 「r1」의 위치로부터 판독되는 음성데이터가 불연속이 된다.
(d), (j)는 a1=a2가 된 순간을 나타낸다.
다시 도 12에 있어서, 크로스페이드부(3)는 메모리부(1)로부터의 주기(T)로 판독되는 한쌍의 음성데이터에 각각 크로스페이드계수를 곱하고, 그 2개의 곱셈 결과를 서로 가산하여 출력한다.
링버퍼상의 「r1」, 「r2」로부터 판독된 음성데이터에 곱해지는 크로스페이드계수가 각각 도 14의 V(a1), V(a2)이다.
도 14와 도 15를 비교하면 알 수 있는 바와 같이, 「r2」의 위치로부터 판독되는 음성데이터가 불연속이 되는 순간(즉, (a)의 순간), V(a2)=0이 된다. 마찬가지로 「r1」의 위치로부터 판독되는 음성데이터가 불연속이 되는 순간(즉 (g)의 순간), V(a1)=0이 된다. 따라서, 크로스페이드부(3)의 출력신호에는 값의 불연속은 나타나지 않는다.
한편, 필터계수열선택부(5a)는 부여된 한쌍의 필터선택정보에 기초하여 필터계수열저장부(6)에 저장되어 있는 4개(일반적으로는 N개)의 필터계수열중에서 어느 하나의 필터계수열을 선택한다. 그리고, 그 필터계수열을 판독하여 필터연산부(2a)로 전송한다.
또, 필터계수열저장부(6)에 저장되어 있는 4개의 필터계수열은 제 1 실시형태와 동일하며, 필터계수열선택부(5a)도 제 1 실시형태와 동일하게 하여 어느 하나의 필터계수열을 선택한다.
필터연산부(2a)는 메모리부(1)로부터의 음성데이터와 필터계수열선택부(5a)로부터의 필터계수열에 기초하여 필터연산을 실시하고, 필요한 음성데이터{y’(0), y’(k×1),y’(k×2),…}를 산출한다.
음정변환장치로부터 출력된 음정변환후의 음성데이터{y’(0), y’(k×1),y’(k×2),…}는 음성데이터입력단자(27)를 통해 다시 CD재생기로 입력된다.
도 20에 있어서, 음성데이터입력단자(27)를 통해 입력된 음정변환후의 음성데이터는 재생부(22)로 부여된다. 재생부(22)는 부여된 음정변환후의 음성데이터로부터 음향신호를 재생한다.
이와 같이 재생된 음향신호는 도시하지 않은 앰프를 통해 증폭된 후, 스피커로 입력되며, 거기서 음파로 변환된다. 음정변환후의 음성데이터로부터 재생되는 음향신호는 도 2의 (c)와 동일하다.
비록 본 발명이 상세히 기술되고 도시되었지만, 이는 설명과 예시일 뿐이고 이에 한정되지 않으며 본 발명의 취지와 범위는 첨부된 특허청구범위에 의해 한정된다.
전술한 바와 같이, 본 발명에 따르면 재생시간을 변하게 하지 않고 음향신호의 음정을 임의의 음정으로 높은 정밀도로 변환할 수 있고, 또 대규모화나 고속화도 수반하지 않고 고역 변형을 충분히 저감할 수 있는 음정변환장치를 제공할 수 있다.

Claims (12)

  1. 재생시간을 변하게 하지 않고 음향신호의 음정을 임의의 음정으로 변환하기 위한 음정변환장치에 있어서,
    상기 음향신호를 샘플링하여 얻어진 이산적인 음성데이터가 순차적으로 입력되는 음성데이터입력단자;
    음정변환비를 나타내는 음정제어신호가 입력되는 음정제어신호입력단자;
    상기 음정제어신호입력단자를 통해 입력되는 음정제어신호에 기초하여 서로 일정값 어긋난 판독 어드레스를 발생하는 한쌍의 판독어드레스발생부,
    버퍼를 포함하며, 상기 음성 데이터 입력단자를 통해 입력되는 음성 데이터를 해당 버퍼에 차례로 기록하고, 또 각 판독어드레스발생부가 발생한 판독 어드레스의 정수부 비트에 기초하여 한쌍의 음성 데이터열을 해당 버퍼로부터 판독하는 메모리부;
    N배 오버샘플링(단, N은 2의 제곱; 이하 동일)을 실시하기 위한 로패스필터를 다위상분해하여 얻어지는 N개의 서브필터와 대응하는 N개의 필터계수열이 미리 정해진 순서로 저장된 필터계수열 저장부,
    각 판독어드레스발생부가 발생한 판독어드레스의 소수부 제 1∼제(log2N)비트에 기초하여 필터계수열 저장부에 저장되어 있는 N개의 필터계수열중 어느 하나의 필터계수열을 선택하는 한쌍의 필터계수열선택부;
    상기 메모리부가 판독한 한쌍의 음성데이터열을 받아 각 해당 음성데이터열에 대해 각 상기 필터계수열 선택부가 선택한 필터계수열을 이용하여 필터연산을 실시하는 한쌍의 필터연산부; 및
    상기 각 필터연산부로부터 출력되는 한쌍의 음성데이터를 받아 그 한쌍의 음성데이터에 크로스페이드계수를 곱해 서로 가산하는 크로스페이드부를 구비하는 것을 특징으로 하는 음정변환장치.
  2. 제 1 항에 있어서,
    상기 각 판독어드레스발생부는 상기 음정변환비를 누적 가산하는 어큐뮬레이터를 포함하는 것을 특징으로 하는 음정변환장치.
  3. 제 1 항에 있어서,
    상기 각 판독어드레스발생부는,
    일정값을 누적 가산하는 어큐뮬레이터 및
    상기 어큐뮬레이터의 출력과 상기 음정 변환비를 곱하는 곱셈기를 포함하는 것을 특징으로 하는 음정변환장치.
  4. 제 1 항에 있어서,
    상기 메모리부는 한쌍의 음성데이터열을 상기 버퍼로부터 판독할 때, 해당 한쌍의 음성 데이터열과 동일 또는 각각 1번지 어긋난 다른 한쌍의 음성데이터열을해당 버퍼로부터 더 판독하고,
    상기 한쌍의 필터계수열선택부는 각 상기 판독어드레스발생부가 발생한 판독어드레스의 소수부 제 1∼제 (log2N)비트에 기초하여 상기 필터계수열저장부에 저장되어 있는 N개의 필터계수열중 어느 하나의 필터계수열을 선택할 뿐만 아니라 해당 필터계수열에 인접하는 다른 필터계수열을 더 선택하고,
    상기 메모리부가 판독한 다른 한쌍의 음성데이터열을 받아 각 해당별 음성데이터열에 대해 상기 각 필터계수열선택부가 선택한 다른 필터계수열을 이용하여 필터연산을 실시하는 다른 한쌍의 필터연산부, 및
    상기 한쌍의 필터연산부로부터 출력되는 한쌍의 음성데이터와 상기 다른 한쌍의 필터연산부로부터 출력되는 한쌍의 음성 데이터를 받아 각 상기 판독어드레스발생부가 발생한 판독어드레스의 소수부 제{(log2N)+1}비트 이하의 비트를 보간계수로서 직선 보간값을 구하는 것에 의해 서로 인접하는 2개의 음성데이터사이를 보간하는 한쌍의 보간 데이터를 생성하는 한쌍의 보간부를 더 구비하며,
    상기 크로스페이드부로는 상기 한쌍의 보간부로부터 출력되는 한쌍의 음성데이터가 부여되는 것을 특징으로 하는 음정변환장치.
  5. 제 4 항에 있어서,
    상기 각 판독어드레스발생부는 상기 음정변환비를 누적 가산하는 어큐뮬레이터를 포함하는 것을 특징으로 하는 음정변환장치.
  6. 제 4 항에 있어서,
    상기 각 판독어드레스발생부는,
    일정값을 누적 가산하는 어큐뮬레이터 및
    상기 어큐뮬레이터의 출력과 상기 음정변환비를 곱하는 곱셈기를 포함하는 것을 특징으로 하는 음정변환장치.
  7. 재생시간을 변하게 하지 않고 음향신호의 음정을 임의의 음정으로 변환하기 위한 음정변환장치에 있어서,
    상기 음향신호를 샘플링하여 얻어진 이산적인 음성데이터가 순차적으로 입력되는 음성데이터입력단자;
    음정변환비를 나타내는 음정제어신호가 입력되는 음정제어신호입력단자;
    상기 음정제어신호입력단자를 통해 입력되는 음정제어신호에 기초하여 판독어드레스를 발생하는 1개의 판독어드레스발생부;
    버퍼를 포함하며, 상기 음성데이터입력단자를 통해 입력되는 음성데이터를 차례로 해당 버퍼에 기록하고, 또 상기 판독어드레스발생부가 발생한 판독어드레스의 정수부 비트에 기초하여 서로 일정수 번지 어긋난 한쌍의 음성 데이터열을 해당 버퍼로부터 판독하는 메모리부;
    상기 메모리부가 판독한 한쌍의 음성데이터를 받아 해당 한쌍의 음성데이터열을 구성하는 각 한쌍의 음성데이터에 크로스페이드계수를 곱해 서로 가산하는 크로스페이드부;
    N배 오버샘플링(단, N은 2의 제곱; 이하 동일)을 실시하기 위한 로패스필터를 다위상분해하여 얻어지는 N개의 서브필터와 대응하는 N개의 필터계수열이 미리 저장된 필터계수열저장부,
    상기 판독어드레스발생부가 발생한 판독어드레스의 소수부 제 1∼제 (log2N)비트에 기초하여 필터계수열 저장부에 저장되어 있는 N개의 필터계수열중 어느 하나의 필터계수열을 선택하는 1개의 필터계수열 선택부 및
    상기 크로스페이드부로부터 출력되는 음성데이터열을 받아 해당 음성데이터열에 대해 필터계수열선택부가 선택한 필터계수열을 이용하여 필터연산을 실시하는 1개의 필터연산부를 구비하는 것을 특징으로 하는 음정변환장치.
  8. 제 7 항에 있어서,
    상기 판독어드레스발생부는 상기 음정변환비를 누적 가산하는 어큐뮬레이터를 포함하는 것을 특징으로 하는 음정변환장치.
  9. 제 7 항에 있어서,
    상기 판독어드레스발생부는,
    일정값을 누적 가산하는 어큐뮬레이터 및
    상기 어큐뮬레이터의 출력과 음정변환비를 곱하는 곱셈기를 포함하는 것을특징으로 하는 음정변환장치.
  10. 제 7 항에 있어서,
    상기 버퍼상에는 상기 음성데이터입력단자를 통해 입력되는 음성데이터가 기록되는 위치를 나타내는 기록 포인터와, 판독되는 상기 한쌍의 음성데이터열 각각의 선두 위치를 나타내는 한쌍의 판독 포인터가 설치되며,
    상기 버퍼는 그 선두와 말미가 고리처럼 연결된 상기 한쌍의 판독 포인터사이의 거리의 2배에 상당하는 용량을 갖는 링버퍼이며,
    상기 메모리부는 상기 한쌍의 판독 포인터중 어느 한쪽과 상기 기록포인터와의 사이의 거리를 상기 크로스페이드부에 통지하고,
    상기 크로스페이드부는 상기 메모리부로부터 통지된 거리에 따른 크로스페이드계수를 상기 한쌍의 음성데이터열을 구성하는 각 한쌍의 음성데이터에 곱하는 것을 특징으로 하는 음정변환장치.
  11. 제 10 항에 있어서,
    상기 판독어드레스발생부는 음정변환비를 누적 가산하는 어큐뮬레이터를 포함하는 것을 특징으로 하는 음정변환장치.
  12. 제 10 항에 있어서,
    상기 판독어드레스발생부는,
    일정값을 누적 가산하는 어큐뮬레이터 및
    상기 어큐뮬레이터의 출력과 음정 변환비를 곱하는 곱셈기를 포함하는 것을 특징으로 하는 음정변환장치.
KR10-2000-0082709A 1999-12-28 2000-12-27 음정변환장치 KR100374440B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1999-373674 1999-12-28
JP37367499A JP4416244B2 (ja) 1999-12-28 1999-12-28 音程変換装置

Publications (2)

Publication Number Publication Date
KR20010062763A true KR20010062763A (ko) 2001-07-07
KR100374440B1 KR100374440B1 (ko) 2003-03-04

Family

ID=18502572

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0082709A KR100374440B1 (ko) 1999-12-28 2000-12-27 음정변환장치

Country Status (6)

Country Link
US (1) US6300553B2 (ko)
JP (1) JP4416244B2 (ko)
KR (1) KR100374440B1 (ko)
CN (1) CN1160704C (ko)
MY (1) MY141491A (ko)
TW (1) TW498304B (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60232560D1 (de) * 2001-08-31 2009-07-16 Kenwood Hachioji Kk Vorrichtung und Verfahren zur Erzeugung eines Signals mit konstanten Grundfrequenz und Vorrichtung sowie Verfahren zum Synthetisieren von Sprachsignalen unter Verwendung dieser Signals mit konstanten Grundfrequenz.
EP1357537B1 (en) * 2002-04-26 2008-05-14 Yamaha Corporation Stream data processing system and method
KR100547445B1 (ko) * 2003-11-11 2006-01-31 주식회사 코스모탄 디지털 오디오신호 및 오디오/비디오신호의 변속처리방법및 이를 이용한 디지털 방송신호의 변속재생방법
US7430158B1 (en) 2004-12-13 2008-09-30 Chris Tanner Music player with adjustable pitch controller
US7259314B2 (en) * 2005-03-28 2007-08-21 Yamaha Corporation Waveform data processing apparatus
JP2007087466A (ja) * 2005-09-20 2007-04-05 Fuji Xerox Co Ltd 二次元符号化方法
US7866550B2 (en) * 2007-08-23 2011-01-11 Target Brands, Inc. Transaction card with sound and transformative playback feature
CN101399036B (zh) * 2007-09-30 2013-05-29 三星电子株式会社 将语音转换为说唱音乐的设备和方法
JP5530454B2 (ja) * 2009-10-21 2014-06-25 パナソニック株式会社 オーディオ符号化装置、復号装置、方法、回路およびプログラム
US9147385B2 (en) 2009-12-15 2015-09-29 Smule, Inc. Continuous score-coded pitch correction
GB2493470B (en) 2010-04-12 2017-06-07 Smule Inc Continuous score-coded pitch correction and harmony generation techniques for geographically distributed glee club
JP6904141B2 (ja) 2017-07-28 2021-07-14 カシオ計算機株式会社 楽音発生装置、方法、プログラム、及び電子楽器
JP6922614B2 (ja) * 2017-09-27 2021-08-18 カシオ計算機株式会社 電子楽器、楽音発生方法、及びプログラム
JP7136979B2 (ja) * 2020-08-27 2022-09-13 アルゴリディム ゲー・エム・ベー・ハー オーディオエフェクトを適用するための方法、装置、およびソフトウェア
EP4131264A1 (en) * 2021-08-06 2023-02-08 MAAT Labs GmbH Digital audio signal processing
CN113903367B (zh) * 2021-09-30 2023-06-16 湖南卡罗德钢琴有限公司 一种基于钢琴全智能***的采集还原方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5231671A (en) * 1991-06-21 1993-07-27 Ivl Technologies, Ltd. Method and apparatus for generating vocal harmonies
JPH05281991A (ja) 1992-03-30 1993-10-29 Toshiba Corp ピッチシフト装置
JP3076859B2 (ja) 1992-04-20 2000-08-14 三菱電機株式会社 ディジタルオーディオ信号の信号処理装置
JPH05327409A (ja) * 1992-05-22 1993-12-10 Sony Corp レート変換方法及びその変換回路
JPH0816178A (ja) * 1994-06-27 1996-01-19 Yamaha Corp キーコントロール装置
JPH0816194A (ja) * 1994-07-01 1996-01-19 Nippon Steel Corp 音声信号デコーダ
JP3591011B2 (ja) * 1994-11-04 2004-11-17 ソニー株式会社 ディジタル信号処理装置
JPH08272390A (ja) 1995-02-01 1996-10-18 Matsushita Electric Ind Co Ltd 音程変換装置
JP3481005B2 (ja) 1995-03-02 2003-12-22 三菱電機株式会社 ディジタルオーディオ信号の音程変換器
US5647005A (en) * 1995-06-23 1997-07-08 Electronics Research & Service Organization Pitch and rate modifications of audio signals utilizing differential mean absolute error
JPH09212193A (ja) * 1996-02-02 1997-08-15 Toshiba Corp 音程変換装置
JPH10187180A (ja) * 1996-12-25 1998-07-14 Casio Comput Co Ltd 楽音発生装置
JP3836947B2 (ja) * 1997-06-20 2006-10-25 パイオニア株式会社 サンプリングレート変換ユニット、サンプリングレート変換装置及びサンプリングレート変換方法

Also Published As

Publication number Publication date
CN1302058A (zh) 2001-07-04
KR100374440B1 (ko) 2003-03-04
CN1160704C (zh) 2004-08-04
US20010013270A1 (en) 2001-08-16
MY141491A (en) 2010-04-30
US6300553B2 (en) 2001-10-09
TW498304B (en) 2002-08-11
JP2001188600A (ja) 2001-07-10
JP4416244B2 (ja) 2010-02-17

Similar Documents

Publication Publication Date Title
KR100374440B1 (ko) 음정변환장치
US4715257A (en) Waveform generating device for electronic musical instruments
KR20020031103A (ko) 압축 방법 및 장치, 압축 해제 방법 및 장치, 압축·압축해제 시스템, 기록 매체
JPH0562495A (ja) サンプリング周波数変換器
KR100416289B1 (ko) 디지털 아날로그변환기 및 그 방법과 데이터 보간장치 및그 방법
US5890126A (en) Audio data decompression and interpolation apparatus and method
JPH1155076A (ja) サンプリング周波数変換装置
US6973468B2 (en) Data interpolating device and method, sampling function generating device, data interpolating program, and recorded medium
JP2558356B2 (ja) デジタル・アナログ変換器
JPS62109093A (ja) 波形合成装置
US6894966B1 (en) Interpolation circuit
KR20030005307A (ko) 보간 함수 생성 장치 및 방법, 디지털-아날로그 변환장치, 데이터 보간 장치, 프로그램 및 기록 매체
JP3097599B2 (ja) ディジタルフィルタ
JPH0549132B2 (ko)
EP1353461A1 (en) Analog filter
JP2790066B2 (ja) 楽音信号発生装置および波形メモリ読出補間装置
WO2002071619A1 (fr) Convertisseur numerique-analogique et procede de conversion; interpolateur de donnees
JP3395560B2 (ja) 波形再生装置および波形データのクロスフェード方法
KR20030005315A (ko) 압축 방법 및 장치, 압축 해제 방법 및 장치, 압축/압축해제 시스템, 기록매체
JP3254829B2 (ja) デジタル音響信号の時間軸伸長読出し方法及び装置
JPH08292764A (ja) 信号切換装置
JPH0736115B2 (ja) 波形発生方法
JP2907051B2 (ja) 波形発生装置及び方法
JP3223555B2 (ja) 波形読出装置
JP5014312B2 (ja) 離散信号の実時間補間装置および方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130130

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140204

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150120

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20160105

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20170103

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20180119

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee