KR100484240B1 - 악음발생장치및방법 - Google Patents

악음발생장치및방법 Download PDF

Info

Publication number
KR100484240B1
KR100484240B1 KR10-1998-0002627A KR19980002627A KR100484240B1 KR 100484240 B1 KR100484240 B1 KR 100484240B1 KR 19980002627 A KR19980002627 A KR 19980002627A KR 100484240 B1 KR100484240 B1 KR 100484240B1
Authority
KR
South Korea
Prior art keywords
waveform
data
waveform data
read
address
Prior art date
Application number
KR10-1998-0002627A
Other languages
English (en)
Other versions
KR19980070963A (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
Priority claimed from JP03290897A external-priority patent/JP3395560B2/ja
Priority claimed from JP13039497A external-priority patent/JP3397082B2/ja
Application filed by 야마하 가부시키가이샤 filed Critical 야마하 가부시키가이샤
Publication of KR19980070963A publication Critical patent/KR19980070963A/ko
Application granted granted Critical
Publication of KR100484240B1 publication Critical patent/KR100484240B1/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
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • 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
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/008Means for controlling the transition from one tone waveform to another

Abstract

메모리로부터 파형 데이터를 판독하는 속도를 가변제어하여 임의의 음고로 악음발생하는 한편, 그 판독 속도(음고)와는 독립으로, 판독하는 파형 데이터를 시간 축상에서 임의로 신장 및 압축제어할 수 있도록 한다. 이 시간 축 신축제어를, 여러 가지 주법이나 리얼 타임제어 또는 변조제어 또는 발음시간길이 제어 등에 적용하여, 악음 표현력과 제어성을 풍부하게 한다.
발생악음의 음고를 지정함과 동시에, 시간축 신축제어용의 제어정보를 발생한다. 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를 제어정보에 따라 시간축으로 신장 또는 압축제어하여 지정하고, 지정된 위치의 파형 데이터를, 지정음고에 따른 속도로 메모리로부터 판독한다. 예를 들면, 제어정보에 따른 가상판독 어드레스(VAD)와 지정음고에 따른 실제판독 어드레스(RAD)를 발생하여, 실제판독 어드레스가 가상판독 어드레스에 추종하도록 분산적 위치에서 추종제어한다.

Description

악음발생장치 및 방법
본 발명은, 파형 메모리 음원에 있어서, 발생하는 파형 데이터의 음고(피치)의 제어와는 독립으로, 해당 파형 데이터의 시간축상의 길이(재생시간)를 부분적으로 또는 전체적으로 임의로 신장 또는 압축제어하여, 시간축 방향의 악음표현력과 제어성을 향상시킨 악음발생장치 및 방법에 관한 것으로, 전자악기에 한하지 않고, 게임기나 퍼스널 컴퓨터 기타 멀티 메디아 기기 등, 각종 용도의 악음 또는 사운드 발생기구에 있어서의 음원장치 및 방법으로서 광범위하게 응용할 수 있는 것이다.
종래, 전자악기 등에 이용되고 있는 파형 메모리 판독방식(PCM:펄스부호 변조방식)의 음원에서는, 파형 메모리로부터의 파형 데이터(파형 샘플)의 판독속도를 조정함으로써, 발생하는 악음파형의 음고(피치)를 제어하고 있었다. 구체적으로는, 소위 F넘버(주파수 넘버:음고주파수에 비례하는 정수)를 누산함으로써 형성한 판독 어드레스로 파형 데이터를 순차 판독하여 갈 때, 그 F넘버를 큰 값으로 하면 피치는 높아지며, F넘버를 작은 값으로 하면 피치는 낮아진다. 이 경우, 한정된 데이터량으로 이루어지는 파형 데이터를 판독하는 경우, 그 재생시간길이는, 파형 메모리로부터의 파형 데이터(파형샘플)의 판독속도 즉 재생음의 피치에 연동하여 변동해 버린다. 즉, 피치가 높은 정도 재생시간길이는 짧아진다. 이와 같이, 종래의 PCM음원에서는, 파형 메모리로부터 판독하는 파형 데이터의 시간길이, 즉 재생시간을, 음고(피치)와는 독립으로, 자유롭게 압축하거나 신장하거나 하는 제어를 행할 수 없었다.
이 종류의 PCM음원에 있어서, 메모리에 기억한 파형을 간단하게 그대로 판독한 것을 음원으로서 발생할 뿐만 아니라, 어떤 변경을 가하여, 발생악음에 표현력을 가지게 하도록 할 경우, 음고, 음량,(음색이라는 3개의 카테고리의 악음요소에 관하여 제어를 행하는 것이 종래부터 이루어져 있다. 음고에 관해서는, 판독속도를 적시 변조함으로써, 비브라토(vivrato)나 어택피치 등의 피치변조효과를 부여하는 것이 이루어진다. 음량에 관해서는, 판독한 파형 데이터에 대하여 소요 인벨럽 (envelope)파형에 따른 음량진폭 인벨럽를 부여하는 것이나, 판독한 파형 데이터의 음량진폭을 주기적으로 변조제어함으로써 트레몰로(tremolo)효과 등을 부여하는 것 등이 이루어진다. 또, 음색에 관해서는, 판독한 파형 데이터를 필터처리함으로써, 적당한 음색제어가 이루어진다. 이와 같이, 발생악음에 표현력을 붙이기 위한 악음 제어법은, 종래에서는, 음고, 음량, 음색이라는 3개의 카테고리의 악음요소에 관하여 어떤 제어를 실시하는 것으로 이루어져 있었다. 그러나, 발생악음의 파형 데이터를 시간축으로 제어함으로써, 발생악음에 표현력을 붙여, 악음표현력과 제어성을 풍부하게 하는 것은, 종래, 전혀 생각되어 있지 않았다.
또, PCM음원에 있어서의 3개의 카테고리의 악음요소의 제어법으로서, 상기한 바와 같이, 판독속도를 변화하거나, 판독출력의 음량진폭을 제어하거나, 음색을 필터제어하는 것 같은 외적제어로서는, 자연악기음의 음질에 가까워지는 일은 곤란하였기 때문에, PCM음원에 의한 발생악음의 음질의 향상을 위해, 비브라토나 트레몰로 등의 각종 변조효과의 부여종료의 복수 주기파형을 미리 그대로 파형 메모리에 기억해 두고, 이것을 판독함으로써, 이들의 변조효과가 부여된 악음을, 자연악기음과 동등한 고품질인 음질로 발생하는 것이 행해지고 있다. 그러나, 미리 변조효과가 부여된 악음의 파형 데이터를 메모리에 그대로 기억한 것을 판독하는 경우, 메모리의 판독속도를 변화하면, 그 변조주기나 변조시간 등도 그것에 연동하여 변화해 버리며, 변조주기나 변조시간 등을 메모리의 판독속도 즉 발음의 피치와는 독립으로 제어할 수 없었다.
변조효과의 부여에 한하지 않고, PCM음원에 있어서는, 메모리에 기억하는 파형 데이터 그 자체를, 자연악기로부터 샘플링함으로써, 소망의 악음효과나 악음특헝에 따른 고품질인 것으로 할 수 있어도, 그것을 피치제어하여(메모리의 판독속도를 변화하여) 판독한 경우에, 메모리의 판독속도의 변화에 연동하여 발생악음의 시간축이 움직여 버린다고 하는 불편이 있다. 이와 같은 불편을 회피하기 위해서는, 메모리의 판독속도를 변화하지 않도록 하면 되는 것이지만, 그러나, 악기음과 같이 재생피치가 세트 단위로 다수 가지는 것에 있어서는, 각종의 효과 등의 특성을 미리 부여한 다종류의 복수 주기 파형 데이터를 각 피치 마다 기억해 두면, 메모리 용량이 매우 팽대한 것으로 되어버리므로, 비현실적이다. 따라서, 그 점이 해결되어야 하는 문제로 되어 있다.
한편, 음성처리의 분야에서는, 화속(話速)변환기술로서 PLCOLA방식이 알려져 있다. PICOLA방식은, 예를 들면, 5주기분의 파형 블록 A, B, C, D, E를 이 순서로 소정의 재생 샘플링 주파수로 판독하여 음성파형을 출력하는 것에 있어서, 제1주기째로서 블록A를 페이드 아웃하는 파형과 블록B를 페이드 인하는 파형을 가산한 파형을 이용하여, 계속되는 제2∼제4주기째로서 C, D, E를 출력하는 듯한 방식이다. 이것에 의해, 5주기 분의 시간길이가 있던 파형을, 소정의 재생 샘플링 주파수를 변화하지 않고, 4주기 분의 시간길이로 압축하여 출력할 수 있다. 시간적으로 신장하는 경우는, 예를 들면, 3주기 분의 파형 블록 A, B, C를 이 순서로 소정의 재생 샘플링 주파수로 판독하여 음성파형을 출력하는 것에 있어서, 제1주기째로서 블록A의 파형을 이용하고, 제2주기째로서 블록A를 페이드 아웃하는 파형과 블록B를 페이드 인하는 파형을 가산한 파형을 이용하여, 계속되는 제3, 4주기째로서 B, C를 출력하도록 한다. 이것에 의해 3주기 분의 시간길이의 파형을, 소정의 재생 샘플링 주파수를 바꾸지 않고, 4주기 분에 신장하여 출력할 수 있다. 그러나, 이 화속(話速)변환기술에 있어서는, 기록한 음성신호를 단순하게 소정의 재생 샘플링 주파수로 판독하는 만으로, 이것을 임의의 피치(음고)로 가변적으로 판독한다는 발상이 없어, 그것을 위한 대응책은 전혀 고려되지 않고 있다. 즉, 상기의 과제에 대한 해결책을 보이지 않는다.
이상과 같이, 종래의 전자악기의 파형 메모리 음원에서는, 판독된 파형 데이터의 시간길이는, 판독속도에 따라 일의적으로 결정되며, 자유롭게 신축하는 일은 없다는 불편이 있었다. 또, 종래의 음성처리기술로서는, 전자악기와 같은 세트단위의 정밀한 피치제어는 고려되지 않는다. 따라서, 이것을 그대로 파형 메모리 음원에 적용하는 것은 어렵다.
본 발명은 상술한 점에 비추어 이루어진 것으로, 파형 메모리판독방식의 음원에 있어서, 그 판독속도(피치)를 임의로 가변제어하는 한편, 그 판독속도(피치)와는 독립으로, 판독하는 파형 데이터를 시간축상에서 임의로 신장 및 압축제어할 수 있도록 하는 것을 목적으로 한다.
또, 본 발명은, 파형 메모리 판독방식의 음원에 있어서, 악음제어요소로서 파형 데이터의 시간축방향의 신장 및 압축제어를 도입함으로써, 메모리용량을 증가하는 일없는 간단한 구성으로, 발생악음에 표현력을 붙일 수 있도록 하여, 악음표현력과 제어성을 풍부하게 하는 것을 목적으로 한다.
또한, 본 발명은, 임의의 주법에 대응한 고품질인 복수 주기 파형의 파형 데이터를 메모리에 기억하여, 이것을 판독하여 악음을 재생할 경우에, 판독하여 속도를 가변제어하여 임의의 음고(피치)로 악음을 재생하는 것으로, 복수의 음고(피치)에 관하여 기억 파형 데이터의 공용화를 도모하여 메모리용량을 절약하는 한편, 판독속도의 제어(발생악음의 음고제어)와는 독립으로, 파형 데이터의 판독위치를 시간축으로 신축제어함으로써, 그 주법에 관한 악음제어패러미터로서 새로운 시간축 제어패러미터를 제공하여, 종래에 없는, 표현력과 제어성에 풍부한 형태로 그 주법에 따른 악음발생·제어를 행할 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
파형 메모리에 기억하는 임의의 주법에 대응한 파형 데이터로서는, 비브라토나 트레몰로 등의 변조가 부여된 파형 데이터, 벤드 등의 피치변조가 부여된 파형 데이터, 슬러가 부여된 파형 데이터, 또는 경과음이나 장식음과 같은 경과적인 피치변동이 부여된 파형 데이터, 등 여러 가지 주법에 대응하는 것이 있다.
또한, 본 발명은, 복수 주기 파형의 파형 데이터를 메모리에 기억하여, 이것을 판독하여 악음을 재생하는 경우에, 판독속도를 가변제어하여 임의의 음고(피치)로 악음을 재생하는 것으로, 복수의 음고(피치)에 관하여 기억파형 데이터의 공용화를 도모하여 메모리용량을 절약하는 한편, 판독속도의 제어(발생악음의 음고제어)와는 독립으로, 발음의 임의의 부분(전체 또는 일부의 구간)에서, 파형 데이터의 판독위치를 시간축으로 신축제어함으로써, 소망 부분의 발음시간길이를 임의로 제어함으로써, 발생악음 파형의 다양한 변화를 실현하고, 종래에 없는, 표현력과 제어성에 풍부한 형태로 악음발생, 제어를 행할 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
즉, 음의 상승부분 또는 하강부분 등의 발음시간길이를 자유롭게 가변제어함으로써, 발생악음 파형의 다양한 변화를 실현하여, 표현력과 제어성에 풍부한 형태로 악음발생·제어를 행할 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
또, 파형 데이터의 시간축 제어에 의해, 발생악음의 전체의 시간길이를 가변제어함으로써, 음부길이 등에 맞추어 자유롭게 발음시간길이를 제어할 수 있도록 한 악음발생장치 및 방법을 제공하는 것을 목적으로 한다.
또한, 시간적으로 변화하는 특성으로 이루어진 시간축 신축제어패러미터를, 음색 등의 지정정보에 따라, 다른 특성으로 선택적으로 발생하여, 지정음색 등에 따른 발생악음파형의 다양한 변화를 실현하여, 1종류의 복수 주기 파형의 기억데이터로부터 다양한 바리에이션의 파형을 시간축 제어에 의해 형성할 수 있도록 한 악음 발생장치 및 방법을 제공하는 것을 목적으로 한다.
또, 파형 메로리로부터 같은 부분의 파형 데이터를 반복 판독하는(루프판독) 경우에 있어서, 파형 데이터의 판독위치를 시간축으로 신축제어함으로써, 소망 부분의 발음시간길이를 임의로 제어함으로써, 발생악음파형의 다양한 변화를 실현하며, 루프판독부분의 단조로움을 개선한 악음발생·제어를 행할 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.
또, 루프판독부에 한하지 않고, 악음의 임의의 부분에 대하여, 동요파형 등의 임의의 제어신호에 의해, 파형 데이터의 판독위치를 시간축으로 신축제어함으로써, 악음의 요동 등의 제어를 적극적으로 부여하여, 발생악음파형의 다양한 변화를 실현한 장치 및 방법을 제공하는 것을 목적으로 한다.
또한, 하나의 악음 파형의 재생도중에 있어서도, 다이너믹하게 변화하는 시간축상의 압축율 및 신장율에 리얼 타임에 응답하여, 파형 데이터의 시간축상의 신축제어를 행할 수 있도록 한 악음발생장치 및 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은, 파형 데이터의 판독위치를 시간축으로 신축제어할 때에, 크로스페이드합성에 의해, 파형의 원활한 변화를 수반하는 시간축 신축제어를 실현하도록 한 악음 발생장치 및 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은, 상기에 따라, 파형 데이터의 크로스페이드 합성법에 관한 여러 가지 개량을 제안하는 것을 목적으로 한다.
본 발명에 관한 음량발생장치는, 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 어드레스위치를 시간의 함수로 지시하는 제어데이터를 발생하는 수단과, 지정된 음고에 따른 속도로 진행하는 판독어드레스를 발생하는 어드레스발생수단과, 상기 제어 데이터가 지시하는 어드레스위치와 상기 어드레스발생수단으로부터 발생한 판독어드레스의 위치를 비교하여, 그 비교결과에 따라 상기 어드레스발생수단이 발생하는 판독어드레스를 시프트하는 제어수단과, 상기 판독어드레스에 의거하여 상기 파형 메모리로부터 파형 데이터를 판독하는 수단을 구비한다.
제어데이터에 의해, 메모리로부터 판독해야 하는 파형 데이터의 어드레스위치가 시간의 함수로 나타내어진다. 한편, 판독 어드레스의 진행의 속도(즉 기울기)는, 어드레스발생수단에서 발생되는 판독어드레스에 의해 지시된다. 제어수단에 의해, 제어데이터가 보이는 어드레스위치(말하자면, 목표 또는 가상의 판독위치)와 어드레스발생수단에서 발생한 판독 어드레스의 위치(실제의 판독위치)를 비교하여, 그 비교결과에 따라 어드레스발생수단이 발생하는 판독 어드레스를 시프트한다. 이것에 의해, 판독 어드레스의 진행의 속도(즉 기울기)는, 발생해야 하는 악음의 소망의 음고에 대응하여 제어되며, 파형 데이터의 판독위치와 시간과의 관계는, 제어 데이터에 의해 제어된다. 따라서, 소망의 음고의 악음에 대응하는 파형 데이터를, 판독속도의 제어(발생악음의 음고제어)와는 독립으로, 이 제어데이터의 내용에 따라 시간축상에서 자유롭게 신장하거나 압축제어한 상태에서, 파형 메모리로부터 판독할 수 있다.
후술하는 실시예에 의하면, 파형 메모리로부터 판독해야 하는 파형 데이터의 어드레스위치를 시간의 함수로 지시하는 제어데이터는, 가상판독 어드레스로서 보여지고 있다. 또, 지정된 음고에 따른 속도로 진행하는 판독어드레스는, 실제판독어드레스로서 보여지고 있다.
또한, 후술하는 실시예에 의하면, 파형 메모리에 기억된 파형 데이터는, 보수의 구간으로 나누어져, 각 구간의 선두의 파형 데이터의 위상이 거의 맞도록 관리되어 있으며, 상기 제어 데이터가 지시하는 어드레스 위치와 상기 어드레스 발생수단으로부터 발생한 판독 어드레스의 위치가 소정치 이상 떨어진 때, 상기 구간을 단위로 하여 상기 어드레스발생수단이 발생하는 판독어드레스를 시프트하도록 해도 된다. 파형 데이터의 판독위치가 시간축상에서 신장 또는 압축될 때, 판독위치의 불연속이 일어나지만, 선두의 파형 데이터의 위상이 거의 만나도록 관리된 구간을 단위로 하여, 판독어드레스를 시프트하는 구성을 채용하고 있음으로써, 신장 또는 압축에 의해 불연속인 파형 구간이 접속되는 경우에 있어도, 파형의 연결을 원활하게 할 수 있다.
또한, 후술하는 실시예에 의하면, 상기 제어수단에 의해 상기 판독 어드레스의 시프트를 행할 때, 시프트 전의 판독 어드레스의 진행에 의거하여 상기 파형 메모리로부터 판독한 파형 데이터와 시프트 후의 판독어드레스의 진행에 의거하여 상기 파형 메모리로부터 판독한 파형 데이터를 크로스페이드합성하는 크로스페이드 수단을 또한 구비하고 있어도 된다. 이 경우도, 파형 데이터의 판독위치를 시간축상에서 신장 또는 압축함으로써, 불연속인 파형 데이터를 접속할 때, 파형의 연결을 원활하게 할 수 있다.
본 발명에 관한 악음발생방법은, 복수 주기 파형의 파형 데이터를 기억한 파형 메모리로부터의 파형 데이터의 판독에 의거하여 악음을 발생하는 방법이며, 발생하고자 하는 악음의 음고를 지정하는 스텝과, 제어정보를 발생하는 스텝과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라 시간축으로 신장 또는 압축제어하여, 지정하는 스텝과, 상기 지정된 위치의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 스텝을 구비하여, 상기 지정된 음고를 가지며, 또한, 상기 제어정보에 따라 시간축으로 신장 또는 압축제어된 특성의 파형 데이터로 이루어진 악음을 발생하는 것을 특징으로 한다.
상기의 3번째의 스텝에 있어서, 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를 시간경과에 따라 지정하도록 되어 있으며, 또한 이 지정되는 분산적인 위치가, 상기의 2번째의 스텝에 있어서 발생된 제어정보에 따라, 시간축으로 신장 또는 압축제어된다. 즉, 상기의 3번째의 스텝에 있어서 지정되는, 파형 메모리로부터 판독해야 하는 파형 데이터의 위치는, 파형 데이터의 각 샘플의 통상의 순차판독과 같이 메모리의 1어드레스 마다 순차 지정되는 것일 필요는 없이, 적당한 간격 또는 구간 또는 범위에서, 분산적으로 지정되는 것으로 된다. 이와 같이 하여, 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치가 지정되는 한편, 지정된 위치로부터의 파형 데이터의 각 샘플이 순차 판독하여, 즉, 파형 메모리로부터의 실제의 판독어드레스의 지정은, 상기 4번째의 스텝에 있어서, 지정된 음고에 따른 속도로 행해진다. 이렇게 해서, 파형 메모리로부터의 파형 데이터의 판독은, 지정된 위치로부터, 적당한 간격 또는 구간 또는 범위에서, 지정된 음고에 따른 속도로 행해진다. 이에 따라, 판독되는 파형 데이터의 음고(피치)는, 지정된 음고에 따라 제어되며, 이것과는 독립으로, 파형 메모리로부터 판독해야 하는 파형 데이터의 위치는, 제어정보에 따라 시간축으로 신장 또는 압축제어된 상태로, 지정된다. 따라서, 파형 메모리로부터 판독하는 파형 데이터의 시간축위치를, 그 판독 속도(피치)와는 독립으로, 임의로 신장 및 압축제어할 수 있다. 또한, 이 경우, 판독한 파형의 피치감과 1파의 파형의 음색적 특징을 손상하지 않도록 하기에는, 상기 적당한 간격 또는 구간 또는 범위는, 적어도 1파(1주기)의 파형 데이터를 포함하는 간격 또는 구간 또는 범위인 것이 바람직하다.
또한, 이 발명에 관한, 기계에 의해 판독가능한 기록매체는, 상술한 바와 같은 악음발생방법의 순서를 실행하는 컴퓨터 프로그램을 기억하여 이루어진 것이다.
본 발명에 관한 악음발생장치는, 변조가 부여된 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 변조의 시간축을 제어하는 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 상기 지정된 위치의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한 것이다.
이것에 의하면, 비브라토나 트레몰로 등의 변조가 부여된 고품질인 복수 주기 파형의 파형 데이터를 파형 메모리에 기억하고, 이것을 판독하여 악음을 재생할 경우에, 판독속도를 가변제어하여 임의의 음고(피치)로 악음을 재생하는 것으로, 복수의 음고(피치)에 관하여 기억파형 데이터의 공용화를 도모하여 메모리용량을 절약하는 한편, 판독속도의 제어(발생악음의 음고제어)와는 독립으로, 시간축상의 변조주기를 가변제어함으로써, 종래에 없는 표현력과 제어성에 풍부한 악음발생장치를 제공할 수 있다.
본 발명에 관한 악음발생장치는, 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 반복 판독을 행해야 하는 상기 파형 데이터의 소정의 부분에 대응하여 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간 경과에 따라, 또한 상기 제어정보에 따라 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 파형 데이터를 판독하는 것이며, 상기 소정의 부분을 반복 판독할 때에, 상기 지정된 위치의 파형 데이터를, 상기 지정된 음고에 따른 속도로 파형 메모리로부터 판독하는 판독수단을 구비한다.
이것에 의하면, 파형 메모리로부터 같은 부분의 파형 데이터를 반복 판독(루프판독)하는 경우에 있어서, 파형 데이터의 판독위치를 시간축으로 신축제어함으로써, 소망 부분의 발음시간길이를 임의로 제어함으로써, 발생 악음파형의 다양한 변화를 실현하고, 루프판독부분의 단조로움을 개선할 수 있다.
본 발명에 관한 악음발생장치는, 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 시간적으로 변화하는 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 상기 지정된 위치의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한다.
이것에 의하면, 악음의 임의의 부분에 대하여, 시간적으로 변화하는 제어정보(예를 들면 요동 파형 등)에 의해, 파형 데이터의 판독위치를 시간축으로 신축제어함으로써, 악음에 요동을 가지게 하는 등의 미묘한 시간적 제어를 발생악음에 대하여 적극적으로 부여할 수 있으며, 발생악음파형의 다양한 변화를 실현할 수 있다.
본 발명에 관한 악음발생장치는, 소정의 주법에 의한 소정기간에 걸쳐 악음특성변화가 부여된 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 소정의 주법에 따른 악음발생기간을 제어하는 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 상기 지정된 위치의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한다.
이것에 의하면, 소정의 주법에 의한 소정기간에 걸쳐 악음특성변화가 부여된 복수 주기 파형의 파형 데이터(예를 들면, 벤드 등의 경과적 피치변조가 부여된 파형 데이터, 슬러가 부여된 파형 데이터, 또는 경과음이나 장식음과 같은 경과적인 피치변동이 부여된 데이터 등)를 파형 메모리에 기억하여, 이것을 판독하여 재생 발음함으로써, 소정의 주법에 의한 악음을 고품질로 발생할 수 있음과 동시에, 그 파형 데이터의 시간축상에서의 신축제어에 의해, 절약한 용량의 메모리를 사용하면서, 발생악음의 음고와는 독립으로, 그 주법에 따른 시간길이를 임의로 가변제어할 수 있는 뛰어난 효과를 발한다. 따라서, 주법에 관한 악음 제어패러미터로서 새로운 시간축 제어패러미터를 제공하여, 종래에 없는, 표현력과 제어성에 풍부한 형태로 그 주법에 따르는 악음발생·제어를 행할 수 있다.
이 경우, 상기 파형 메모리에 기억하는 파형 데이터에 부여된 경과적인 악음특성변화는, 벤드 등의 음고변화에 한하지 않고, 음색 또는 음량의 경과적인 변화라도 된다.
상기와 같은 경과적인 파형 제어에 있어서 다른 예로서, 이 발명에 관한 악음발생장치는, 제1의 파형 데이터, 제2의 파형 데이터, 및 그 제1 및 제2의 파형을 연결하기 위한 소정의 악음특성변화가 부여된 복수 주기로 이루어진 제3의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 제1의 파형으로부터 상기 제2의 파형으로 이행하는 것이 지시된 때, 그 사이에 상기 제3의 파형을 삽입하여 판독하도록 상기 판독수단을 제어하는 수단과, 상기 제3의 파형을 사용하는 시간을 제어하는 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 제3의 파형 데이터의 적어도 일부분의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 파형 데이터를 판독하는 것이며, 상기 제3의 파형 데이터를 판독할 때에, 상기 지정된 위치의 파형 데이터를, 상기 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한다.
본 발명에 관한 악음발생장치는, 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 소정의 악음발생기간에 대응하여 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라 시간축으로 신장 또는 압축제어하여 지정하는 제어수단과, 상기 지정된 위치의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한다.
이것에 의하면, 판독속도의 제어(발생악음의 음고제어)와는 독립으로, 발음의 임의의 부분(전체 또는 일부의 구간)에서, 파형 데이터의 판독 위치를 시간축으로 신축 제어함으로써, 소망 부분의 발음시간길이를 임의로 제어함으로써, 발생악음파형의 다양한 변화를 실현하여, 종래에 없는, 표현력과 제어성에 풍부한 형태로 악음발생·제어를 행할 수 있다. 예를 들면, 소정의 악음발생기간으로서, 음의 상승부분 또는 하강부분 등을 선택하면, 음의 상승부분 또는 하강부분 등의 발음시간길이를 자유롭게 가변제어함으로써, 발생악음 파형의 다양한 변화를 실현하여, 표현력과 제어성에 풍부한 형태로 악음발생·제어를 행할 수 있다.
제어정보로서, 악음을 발행하는 전체의 시간길이를 제어하는 정보를 사용하면, 악음의 발음시간길이를, 발생음고와는 독립으로, 가변제어할 수 있어, 예를 들면, 음부길이에 맞추어 자유롭게 발음시간길이를 제어할 수 없게 된다.
본 발명에 관한 악음발생장치는, 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 음색을 지정하는 수단과, 악음의 발생개시로부터의 시간경과에 따라, 지정된 음색에 대응하는 양태로 변화하는 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 지정된 음색에 대응한 복수 주기의 파형 데이터를 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 것으로, 상기 지정된 위치의 파형 데이터를, 상기 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비하며, 상기 파형 메모리에 기억되는 복수 주기 파형의 파형 데이터가 적어도 2개의 다른 음색으로 공용되어, 이 적어도 2개의 다른 음색에 관한 상기 제어정보의 양태가 다른 것을 특징으로 한다.
이것에 의하면, 시간적으로 변화하는 특성으로 이루어진 시간축 신축제어의 제어정보를, 음색 등이 지정정보에 따라, 다른 특성으로 선택적으로 발생하고, 지정음색 등에 따른 발생 악음 파형의 다양한 변화를 실현하여, 1종류의 복수 주기 파형의 기억 데이터로부터 다양한 바리에이션의 파형을 시간축 제어에 의해 형성할 수 있도록 된다.
본 발명에 관한 악음발생장치는, 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 악음의 발생중에 있어서 리얼 타임으로 제어정보를 발생하는 리얼 타임 제어정보 발생수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 상기 지정된 위치의 파형 데이터를, 상기 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한다.
이것에 의하면, 1개의 악음파형의 재생 도중에 있어서도, 리얼 타임으로 다이너믹하게 변화하는 제어정보에 따라, 파형 데이터의 시간축으로의 신장 및 압축제어가 리얼 타임으로 행해져, 연주표현력이 증가할 수 있다.
본 발명에 관한 악음발생장치는, 복수 주기 파형의 파형 데이터를 복수 종류 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 복수 종류의 파형 데이터의 1개를 시간적으로 바꾸어 지정하는 파형지정수단과, 제어정보를 발생하는 수단과, 상기 파형지정수단에 의해 지정된 파형 데이터에 있어서, 상기 파형 메모리로부터 판독해야 하는 그 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 상기 지정된 위치의 파형 데이터를, 상기 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한다.
이것에 의해, 더욱 다양한 악음제어를, 파형 데이터의 시간축으로의 신장 및 압축제어에 의거하여 행할 수 있다.
본 발명에 관한 악음발생장치는, 2계열에서 파형 데이터를 발생하는 파형발생수단과, 상기 파형 데이터 발생수단의 제1계열에서 발생하는 파형 데이터와 제2계열에서 발생하는 파형 데이터를 지시하는 파형지시수단과, 상기 제1의 계열의 파형 데이터에서 제2계열의 파형 데이터로 이행하도록 크로스페이드합성을 행하는 크로스페이드합성수단과, 새로운 파형 데이터로서, 각각 개별 길이를 가지는 복수의 파형 데이터를 순차 발생하도록 지시하고, 상기 크로스페이드합성수단에 있어서는 이 새로운 파형 데이터의 길이에 대응한 기간으로 크로스페이드합성을 행하도록 하는 제1의 제어수단과, 크로스페이드의 종료 후에, 상기 새로운 파형 데이터로 바꿀 때 상기 파형지시수단을 제어하여, 거기까지 제2계열에서 발생하고 있던 파형 데이터를 제1계열에서 발생하도록 지시를 변경하여, 제2계열에서는 그 새로운 파형 데이터를 제1계열에서 발생하도록 지시를 변경하고, 제2계열에서는 그 새로운 파형 데이터를 발생하도록 지시하는 제2의 제어수단을 구비한다.
이것에 의하면, 크로스페이드합성의 대상으로 이루어진 파형이 순차로 교체해 가는 경우에 있어서, 항상, 제1계열의 파형 데이터에서 제2계열의 파형 데이터로 이행하도록 크로스페이드합성을 행하도록, 크로스페이드의 방향을 각 계열마다 고정할 수 있다. 따라서, 크로스페이드용의 계수의 함수 파형을 각 계열마다 고정할 수 있어, 그 함수 파형의 형성이 용이해진다.
본 발명에 관한 악음발생장치는, 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를 시간경과에 따라 또한 시간축으로 신장 또는 압축제어하여 지정하여, 현시점의 제1의 파형 데이터와 이것에 대응하여 신장 또는 압축제어한 위치의 제2의 파형 데이터를 지시하는 파형지시수단과, 상기 지시된 제1 및 제2의 파형 데이터를, 지정된 음고에 다른 속도로 상기 파형 메모리로부터 각각 판독하여, 제1 및 제2계열에서 각각 출력하는 판독수단과, 항상 상기 제1계열의 파형 데이터에서 제2계열의 파형 데이터로 이행하도록 크로스페이드합성을 행하는 크로스페이드합성수단과, 크로스페이드의 종료후에, 상기 파형 지시수단에 의해 상기 제2의 파형 데이터의 위치에 대하여 신장 또는 압축제어한 새로운 위치의 파형 데이터를 지시할 때, 그때까지 제2계열에서 발행하고 있던 상기 제2의 파형 데이터를 제1계열에서 출력하도록 지시하고, 제2계열에서는, 그 새로운 위치의 파형 데이터를 출력하도록 지시하는 제어수단을 구비한다.
이것에 의하면, 파형 데이터의 판독위치를 시간축으로 신축제어할 때에, 크로스페이드 합성에 의해, 파형의 원활한 변화를 수반하는 시간축 신축제어를 실현할 수 있음과 동시에, 상기와 마찬가지로, 크로스페이드의 방향을 각 계열마다 고정함으로써 크로스페이드용의 계수의 함수 파형을 각 계열마다 고정할 수 있어, 그 함수파형의 형성이 용이해진다.
본 발명에 관한 악음발생장치는, 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를 시간경과에 따라 또한 시간축으로 신장 또는 압축제어하여 지정하고, 현시점의 제1의 파형 데이터와 이것에 대하여 신장 또는 압축제어한 위치의 제의 파형 데이터를 지시하는 파형지시수단과, 상기 지시된 제1 및 제2의 파형 데이터를, 지정된 고음에 따른 속도로 상기 파형 메모리로부터 각각 판독하여, 제1 및 제2계열에서 각각 출력하는 판독수단과, 상기 제1 및 제2계열의 한쪽의 파형 데이터로부터 다른 쪽의 파형 데이터로 이행하도록 크로스페이드합성을 행하는 크로스페이드 합성수단과, 프로스페이드의 종료 후에, 상기 파형지시수단에 의해 상기 제2의 파형 데이터의 위치에 대하여 신장 또는 압축제어한 새로운 위치의 파형 데이터를 지시할 때, 그 제2의 파형 데이터의 출력을 그때까지와 같은 계열에서 계속하며, 기타계열에서는 그 새로운 위치의 파형 데이터를 출력하도록 지시하고, 또한, 상기 크로스페이드합성수단에 있어서 크로스페이드의 방향을 바꾸는 제어수단을 구비한다.
이것에 의하면, 파형 데이터의 판독위치를 시간축으로 신축제어할 때에, 크로스페이드합성에 의해, 파형의 원활한 변화를 따르는 시간축 신축제어를 실현할 수 있다.
본 발명에 관한 악음발생장치는, 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를 시간경과에 따라 또한 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 상기 제어수단에 의한 지정에 따라, 신장하는 경우는 현시점의 제1의 파형 데이터와 이보다도 후의 시점에 위치하는 제2의 파형 데이터를 지시하고, 압축하는 경우는 현시점의 제1의 파형 데이터와 이보다도 전의 시점에 위치하는 제2의 파형 데이터를 지시하여, 신장도 압축도 실시하지 않는 경우는 현시점의 제1의 파형 데이터와 이것과 같은 것을 제2의 파형 데이터로서 지시하는 파형 지시수단과, 상기 지시된 제1 및 제2의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 각각 판독하는 판독수단과, 상기 제1의 파형 데이터로부터 제2의 파형 데이터로 이행하도록 크로스페이드합성을 행하는 크로스페이드합성수단을 구비한다.
이것에 의하면, 파형 데이터의 판독위치를 시간축으로 신축제어할 때에, 크로스페이드합성에 의해, 파형의 원활한 변화를 수반할 때 시간축 신축제어를 실현할 수 있음과 동시에, 시간축 신장 또는 압축이 실시되지 않는 경우라도 같은 파형을 크로스페이드합성함으로써 파형 데이터의 시간축 신장 및 압축이 일어나지 않도록 하고 있으므로, 외관상 끊임없이 크로스페이드합성을 행하는 구성을 채용함으로써, 시간축 신축제어패러미터에 따라 크로스페이드합성의 필요여부를 제어할 필요가 없어져, 제어 및 구성을 간략화할 수 있다.
이하, 첨부도면을 참조하여 본 발명의 실시형태에 관하여 상세하게 설명한다.
[TSC제어의 전체적 설명]
본 발명에 있어서는, 재생하는 악음의 피치제어와는 독립으로, 파형 메모리에 기억한 파형 데이터의 시간축상의 길이를, 임의의 범위에서, 신장 또는 압축한 상태로 판독하는 제어(이것을 Time Stretch & Compress제어라 칭하며, “TSC제어”라고 약칭한다)를 행하며, 이것에 의해 발생하는 악음의 특징을 자유 또는 다양하게 제어하도록 하고 있다.
도1은, 그와 같은 TSC제어에 따르는 본 발명에 관한 악음발생기술을 적용한 전자악기의 전체구성을 도시한다. 이 전자악기는, 건반(101A), 기타 연주조작자군(101B), 설정조작자군(100), 제어부(102), 음원부(103), 디지털·아날로그변환기(DAC)(104), 및 사운드 시스템(105) 등을 구비하고 있다. 음원부(103)는, 파형 발생부(111), 음량제어부(112), 제어레지스터(113), 및 채널누산부(114)를 구비하고 있다. 음원부(103)는, 소정의 샘플링 주기마다, 시(時) 분할동작으로 복수의 각 채널마다 악음 파형신호를 생성하여, 그들을 누산한 악음 파형 데이터를 DAC(104)에 출력한다.
건반(101A)은, 발생하는 악음의 음고를 지정하기 위한 복수의 건반을 구비하는 것으로, 통상 알려진 전형적인 건반에 한하지 않고, MIDI기타 등 그 밖의 MIDI형식으로 음고지정 데이터를 발생하는 장치를 이용해도 된다. 그 밖의 연주조작자군(101B)은, 호일조작자, 페달조작자, 조이스틱 등의 각종 연주조작자로 이루어진다. 건반(101A) 및 연주조작군(101B)에 있어서 연주조작에 따라, 리얼 타임으로 연주정보가 발생되어, 이것이 제어부(102)에 부여된다. 또한, 이들의 연주정보는, 반드시 리얼 타임의 연주조작에 따라 부여되는 것을 요하지 않고, 예를 들면 시퀀서 등의 자동연주장치로부터 MIDI형식으로 자동적으로 부여되도록 되어 있어도 된다. 설정조작자군(100)은, 패널스위치, 슬라이더, 죠그 다이얼 등의 각종의 데이터 설정용 조작자와 표시기 등을 포함하며, 악음특성의 설정 및 제어에 관련하는 데이터나 그 밖의 데이터의 설정을 행하기 위한 것이다.
제어부(102)는, 건반(101A) 및 연주조작자군(101B)에서 부여되는 연주정보 및 설정조작자군(100)에서 부여되는 각종의 설정정보에 따라 음원부(103)에 악음 발생의 지시를 낸다. 예를 들면, 제어부(102)는, CPU, ROM, RAM 및 기타 주변회로를 포함하며, 소정의 프로그램에 따르는 처리를 실행함으로써, 상기 연주정보 및 설정정보에 다른 악음발생지시를 행한다. 구체적으로는, 입력한 연주정보 및 설정정보에 따라, 발음할당이나 악음 패러미터의 작성을 행하며, 발음 할당한 채널에 대응하여 각종의 악음 패러미터를 제어레지스터(113)에 대하여 설정한다. 음원부(103)에서는, 각 채널에 대응하여 제어레지스터(113)에 설정된 각종 악음 패러미터에 의거하여, 파형 발생부(111)에서 복수 채널분의 악음 파형을 시분할로 발생하며, 발생한 악음 파형에 음량제어부(112)에서 각 채널별로 음량제어(음량 인벨럽제어를 포함한다)를 실시하여, 채널 누산부(114)에서, 음량제어된 복수 채널분의 악음 파형을 누산하여 누산결과를 DAC(104)로 출력한다. DAC(104)는, 채널누산부(114)로부터 출력된 디지털악음 파형 데이터를 아날로그 악음신호로 변환한다. 그 아날로그 신호에 의거하여, 실제의 악음이 사운드 시스템(105)에 의해 방음된다.
도2는, 도1의 파형 발생부(111)의 상세도를 도시한다. 파형발생부(111)는, 파형 메모리(10)를 구비하고 있다. 파형 메모리(10)는, 하나의 음에 관하여 복수 주기 파형의 파형 데이터를 기억하고 있으며, 그와 같은 파형 데이터를 복수의 음색 및 악음특성(음고 또는 음역에 따른 특성이나, 비브라토, 슬러 등의 변조특성에 대응하여 기억하고 있다. 발생해야 하는 악음의 음고 또는 음역을 도시하는 키코드(KC)와 음색을 도시하는 음색정보(TC) 등이, 제어레지스터(113) 경유로, 파형 발생부(111)에 입력되며, 그 파형 발생부(111) 내의 각 부에 부여된다. 예를 들면, 파형 구간정보 메모리(15)에 있어서, 파형 메모리(10)에 기억하고 있는 파형 데이터의 선두 어드레스 등의 정보가 기억되어 있으며, 이들의 정보(KC, TC)를 패러미터로서 소요의 선두 어드레스정보를 판독함으로써, 소요 악음특성을 가지는 복수 주기 파형의 파형 데이터를 그 파형 메모리(10)에서 선택한다. 즉, 파형 구간정보 메모리(15)로부터 판독된 선두 어드레스정보가 실제판독 어드레스연산기(16)에 부여되며, 그 연산기(16)가 생성하는 실제판독 어드레스(RAD)의 초기값으로서 설정됨으로써, 소요 악음특성을 가지는 복수 주기 파형의 파형 데이터가 선택된다. 실제판독 어드레스 연산기(16)로부터 발생되는 실제판독(RAD)에 따라서 그 파형 메모리(10)로부터 파형 데이터가 판독된다. 또한, 파형 메모리(10)로부터 판독해야 하는 파형 데이터를 선택하기 위한 패러미터는, 키코드(KC)와 음색정보(TC)에 한하지 않고, 적시의 연주정보 또는 설정정보에 의거한 정보(INF)라도 된다.
실제판독 어드레스연산기(16)는, 악음발생(즉 파형 발생)을 지시하는 노트 온 신호와, 발생해야 하는 악음의 음고를 나타내는 피치정보, 및 기타 데이터를 상기 제어레지스터(113)를 경유하여, 제어부(102)로부터 수취한다. 피치정보는, 발생해야 하는 악음의 음고주파수에 대응하는 데이터이며, 예를 들며, 주파수 넘버로서 주지의 정보를 이용해도 되며, 그 밖의 정보를 이용해도 된다. 기본적으로는, 실제판독 어드레스연산기(16)는, 이 피치정보를 연산하여, 그 피치정보에 따르는 레이트(피치)로 변화하는 실제판독 어드레스(RAD)의 데이터를 생성한다. 따라서, 파형 메모리(10)에 기억한 파형 데이터의 샘플을, 이 실제판독 어드레스(RAD)에 따라 판독함으로써, 그 피치정보에 대응하는 음고의 악음재생이 행해진다.
이 실시예에 있어서는, 상기 “TSC제어”를 위하여, 가상판독 어드레스 연산기(17)가 설치되어 있다. 가상판독 어드레스 연산기(17)는, 파형 데이터의 시간축상의 길이의 소망의 신장 또는 압축 제어한 상태를 상정하여, 소망의 시간축 신장 또는 압축을 달성하기 위해서는, 현시점에서 어떤 어드레스 위치로부터 파형 데이터를 판독해야 하는지를 지시하는 어드레스 데이터를, 가상판독 어드레스(VAD)로서, 생성한다. 그 때문에, 소망의 신장 또는 압축비를 지시하는 신축비 데이터(SCR)와, 상기 피치정보를 가상판독 어드레스연산기(17)에 입력하여, 그 피치정보에 따르는 기울기를 신축비 데이터(SCR)에 의해 수정한 기울기로 변화하는 어드레스 데이터를, 가상판독 어드레스(VAD)로서 출력한다. 또한, 신축비 데이터(SCR)는, 연주정보 또는 설정정보에 의거하는 변조정보(MS) 및/또는 기타 정보를 변환부(18)에 입력하여, 필요에 따라 키코드(KC)나 음색정보(TC) 등의 패러미터에 의해 그 값을 변화한 것을 이용한다. 이 가상판독 어드레스(VAD)는, 파형 메모리(10)에 있어서 절대 어드레스를 고려하지 않은 상대 어드레스로서도 좋지만, 설명의 간략화를 위하여, 파형 메모리(10)에 있어서 절대 어드레스에 대응하고 있는 것으로 한다. 그 때문에, 실제판독 어드레스연산기(16)로부터 필요한 절대 어드레스 데이터(상기 선두 어드레스 정보 등)가 가상판독 어드레스 연산기(17)에 부여되도록 되어 있어도 된다. 따라서, 교체제어회로(14)에 있어서 실제판독 어드레스(RAD)와 가상판독 어드레스(VAD)를 그대로 비교하도록 해도 된다. 또한, 가상판독 어드레스(VAD)를 상대 어드레스(예를 들면 선두 어드레스를 0으로 하는 것)로 한 경우는, 교체제어회로(14)에 입력하는 실제판독 어드레스(RAD)는, 상대 어드레스부분만(예를 들면 선두 어드레스를 0으로 하는 것) 하면 된다.
교체제어회로(14)는, 실제판독 어드레스(RAD)와 가상판독 어드레스(VAD)를 비교하여, 실제판독 어드레스(RAD)의 가상판독 어드레스(VAD)로부터의 괴리폭이 소정 폭을 넘은 때, 실제판독 어드레스 연산기(16)에 대하여 실제판독 어드레스(RAD)의 교체를 지시한다. 실제판독 어드레스 연산기(16)에서는, 이 교체지시에 따라서, 실제판독 어드레스(RAD)의 가상판독 어드레스(VAD)에 대한 괴리를 해소하도록, 적시 어드레스 수만큼 수치 시프트제어한다. 이 교체제어의 상세예에 관해서는 추가로 상세하게 설명한다.
실제판독 어드레스 연산기(16)에 부속하여 도시된 레지스터군(19∼22)은, 이 교체제어를 위하여 이용되는 제어용의 변수 데이터(i, j, Aij)나 판독 포인터(p)를 스토어하는 것이다.
파형 메모리(10)의 출력측에 설치된 크로스페이드합성부(13)는, 상기 교체제어의 때에 실제판독 어드레스(RAD)의 급격한 변화(시프트)에 의한 판독 파형의 변동의 영향을 경감하여 원활한 파형교체를 실현하기 위하여, 2계열의 파형 데이터를 크로스페이드합성하기 위한 것이다. 그 때문에, 파형 메모리(10)로부터 2계열의 파형 데이터를 판독하여, 이들을 보간회로(11, 12)를 경유하여 크로스페이드 합성부(13)에 입력하도록 하고 있다. 구체적인 크로스페이드합성의 방법으로서는, 여러 가지의 수법을 생각할 수 있다. 이 실시예에 있어서는, 교체변화후의 실제판독 어드레스(RAD)를 연산기(16)로부터 발생하는 한편, 교체변화하고 있지 않은 실제판독 어드레스를 크로스페이드 부계열용 실제판독 어드레스(RAD2)로서 연산기(16)로부터 발생하여, 양 어드레스(RAD, RAD2)에 의해 파형 메모리(10)로부터 2계열의 파형 데이터(W1, W2)를 각각 판독하여, 각 보간회로(11, 12)를 경유하여 크로스페이드합성부(13)에 입력하도록 하고 있다. 이 경우, 실제판독 어드레스(RAD)에 의해 판독되는 파형 데이터(W1)계열을 크로스페이드 주계열에서, 예를 들면, 이 계열의 파형 데이터(W1)의 진폭 레벨을 계수 0부터 1까지 소수치로 순차 증가변화하는 크로스페이드 계수에 의해 스케일링하여(페이드 인), 다른쪽, 크로스페이드 부계열용 실제판독 어드레스(RAD2)에 의해 판독되는 파형 데이터(W2)의 진폭 레벨을 계수 1부터 0까지 소수치로 순차 감소변화하는 크로스페이드 계수에 의해 스케일링하여(페이드 아웃), 양자를 가산 합성한다. 물론, 크로스페이드합성의 수법(예를 들면 페이드 인과 아웃의 관계 등)은 이것에 한하지 않고, 여러 가지 변경가능하다. 또, 2계열의 파형 데이터(W1, W2)는, 파형 메모리(10)로부터 시분할적으로 판독되도록 해도 된다.
또한, 보가회로 11 및 12는, 파형 메모리(10)로부터 판독된 각 파형 데이터 W1 및 W2의 샘플간에서의 보간연산을 각각 행한다. 그 때문에, 각 실제판독 어드레스(RAD, RAD2) 의 정수부가 파형 메모리(10)에 어드레스 입력되며, 소수부가 보간회로 11 및 12에 보간 패러미터로써 입력된다. 몰론, 이 보간회로(11, 12)는 필수이지는 않다.
레지스터(19, 21, 22)에 있어서 각 변수 데이터(i, j, Aij)는, 크로스페이드의 주계열과 부계열에 대응하여 각각 스토어된다. 레지스터(20)에 스토어하는 판독포인터(p)는 양 계열에서 공통으로 사용된다.
더욱 상세한 설명에 앞서, 도2에 도시된 파형발생부(111)에 따르는 TSC제어의 기본적 개념에 관하여 도3 및 도4에 의해 예시적으로 설명한다.
도3은, 시간을 가로축, 파형 메모리의 어드레스를 세로축으로 잡고, TSC제어에 따라 압축제어를 행할 경우에 있어서, 시간적인 어드레스진행의 상태를 예시한 것이다. 또한, 세로축의 원점은, 선택된 파형 데이터의 선두 어드레스이다, 일점쇄선은, 피치정보에 따르는 본래의 어드레스 진행을 예시한다. 두꺼운 파선은, 가상판독 어드레스(VAD)의 어드레스 진행을 예시한다. 신축비 데이터(SCR)가 1이면, 가상판독 어드레스(VAD)의 어드레스 진행은, 일점쇄선의 본래의 어드레스 진행에 일치하며, 시간축의 변화는 없다. 시간축을 압축할 겨우, 신축비 데이터(SCR)는 1이상의 적시의 값을 취하며, 도시하는 바와 같이, 가상판독 어드레스(VAD)의 어드레스진행의 기울기가 상대적으로 커진다. 두꺼운 실선은, 실제판독 어드레스(RAD)의 어드레스 진행을 예시한다. 이 실제판독 어드레스(RAD)의 어드레스진행의 기울기는, 일점쇄선으로 나타낸 피치정보에 따르는 본래의 어드레스 진행의 기울기에 일치하고 있다. 이 경우, 가상판독 어드레스(VAD)의 어드레스 진행의 기울기가 상대적으로 큰 까닭에, 시간경과에 따라 차례로 실제판독 어드레스(RAD)의 어드레스 진행이 가상판독 어드레스(VAD)의 어드레스진행보다도 늦어진다. 그래서, 그 괴리폭이 소정이상으로 된 때, 상기 교체제어회로(14)로부터 교체지시(도 중, 화살표로 나타낸다)가 나오며, 도시하는 바와 같이, 그 괴리를 해소하는 방향으로, 실제판독 어드레스(RAD)가 적정량 시프트된다. 이것에 의해, 실제판독 어드레스(RAD)의 어드레스 진행은, 피치정보에 따르는 기울기를 유지하면서, 가상판독 어드레스(VAD)의 어드레스 진행에 따라 변화하며, 시간축방향으로 압축된 특성을 보인다. 따라서, 이와 같은, 실제판독 어드레스(RAD)에 따라 파형 메모리(10)로부터 파형 데이터(W1)를 판독함으로써, 재생하는 악음의 피치는 변경시키지 않고, 시간축방향으로 파형을 압축한 파형신호를 얻을 수 있다.
또한, 상기 괴리를 해소하는 방향으로의 실재판독 어드레스(RAD)의 시프트는, 이 시프트에 의해, 시프트 직전에 판독하고 있던 파형 데이터와, 시프트 직후에 판독하는 파형 데이터가 원활하게 연결되도록 하는 것이 바람직하다. 그를 위한 일례로서, 기억되어 있는 파형 데이터의 기본 파 성분의 위상이 같은 포인트간을 접속하는 바와 같이 시프트를 행하도록 해도 되고, 또, 다른 예로서, 기억되어 있는 파형 데이터의 1주기의 샘플수의 정수 배의 길이만큼 시프트하도록 해도 되며, 또다른 예로서, 거의 같은 값으로, 또, 거의 같은 기울기의 포인트간을 접속하는 바와 같이 시프트를 행하도록 해도 된다.
도4는, TSC제어에 따라 신장제어를 행할 경우에 있어서, 시간적인 어드레스 진행의 상태를 예시한 것이다. 이 경우, 신축비 데이터(SCR)는 1미만이며, 두꺼운 파선으로 나타내는 가상판독 어드레스(VAD)의 어드레스 진행의 기울기는 상대적으로 작다. 따라서, 시간경과에 따라 차례로 실제판독 어드레스(RAD)의 어드레스 진행이 가상판독 어드레스(VAD)의 어드레스 진행보다도 진행해 가, 그 괴리폭이 소정이상으로 된 때, 상기 교체 제어회로(14)로부터 교체지시(도 중, 화살표로 나타낸다)가 나와, 도시하는 바와 같이, 그 괴리를 해소하는 방향으로, 실제판독 어드레스(RAD)가 적정량 시프트된다. 이것에 의해, 실제판독 어드레스(RAD)의 어드레스 진행은, 피치정보에 따르는 기울기를 유지하면서, 가상판독 어드레스(VAD)의 어드레스 진행에 따라 변화하며, 시간축 방향으로 신장된 특성을 나타낸다. 따라서, 이와 같은 실제판독 어드레스(RAD)에 따라 파형 메모리(10)로부터 파형 데이터(W1)를 판독함으로써, 재생하는 악음의 피치는 변경하지 않고, 시간축방향으로 파형을 신장한 파형 신호를 얻을 수 있다.
도3 및 도4에 있어서, 파선은, 크로스페이드 부계열용 실제판독 어드레스(RAD2)의 어드레스 진행을 나타낸다. 이 크로스페이드 부계열용 실제판독 어드레스(RAD2)는, 도시한 대로, 상기 교체지시가 나온 때, 시프트 전의 실제판독 어드레스(RAD)의 어드레스진행의 연장상에, 실제판독 어드레스(RAD)와 같은 시프트(즉 기울기)로 생성된다. 적시의 크로스페이드 기간에 있어서, 부계열용 실제판독 어드레스(RAD2)에 대응하여 판독되는 파형 데이터(W2)로부터 주계열용 실제판독 어드레스(RAD)에 대응하여 판독되는 파형 데이터(W1)까지 원활하게 파형이 이행하도록 크로스페이드합성이 이루어진다. 이 예의 경우, 적어도 소요 크로스페이드기간의 사이에서만 부계열용 실제판독 어드레스(RAD2)를 생성하도록 하면 된다.
또한, 이와 같은 크로스페이드합성을 행하는 것은 매우 바람직한 일이지만, 반드시 필수적이지는 않다. 예를 들면, 실제판독 어드레스(RAD)가 시프트하기 직전의 파형 데이터의 위상과, 시프트한 직후의 파형 데이터의 위상이 맞는 듯한 개소에서, 교체지시를 냄으로써, 실제판독 어드레스(RAD)의 시프트 직후의 판독 파형 데이터(W1)의 연결을 원활하게 할 수 있으며, 또한, 그 밖의 적시의 파형 처리도 이룰 수 있으므로, 본 발명에 있어서는, 크로스페이드합성을 행하지 않고, 하나의 실제판독 어드레스(RAD)만으로 1계열의 파형 데이터(W1)를 판독하도록 하는 방식도 채용할 수 있다.
또, 크로스페이드합성을 행할 경우도, 크로스페이드의 주계열과 부계열의 관계를 도3, 도4에 도시하는 예와는 역으로 해도 조금도 지장 없다. 즉, 크로스페이드 기간에 있어서, 그때까지의 실제판독 어드레스(RAD)의 연장상에 있는 어드레스 진행을 그대로 주계열 실제판독 어드레스(RAD)로서 유지하며, 시프트된 실제판독 어드레스를 부계열 실제판독 어드레스(RAD2)로 해도 된다. 그 경우는, 크로스페이드가 종료한 때 부계열 실제판독 어드레스(RAD2)를 주계열 실제판독 어드레스(RAD)로 변경하여, 그 연장상에 실제판독 어드레스(RAD)가 진행하도록 한다. 그 쪽이, 교체지시가 있었던 때에, 주계열의 실제판독 어드레스(RAD)는 그대로 진행시켜 두고, 시프트된 실제판독 어드레스를 부계열 실제판독 어드레스(RAD2)로서 세트하는 처리를 행하는 것만으로 끝나므로, 간단하다, 후술하는 구체적인 예에서는, 이들의 방법을 채용하고 있다.
또한, 설명의 간략화를 위하여 도3 및 도4에서는, 파형 메모리(10)에 기억한 파형 데이터의 소요 범위를 반복 판독하는 제어를 행할 경우에 관해서는 특히 도시하고 있지 않지만, 그 경우도, 마찬가지로 본 발명에 따르는 TSC제어를 적용할 수 있다. 즉, 본 발명에 따르는 TSC제어는, 파형 메모리에 기억한 복수 주기 파형 데이터를 1회 판독함으로써 하나의 음을 재생하는 것에 한하지 않고, 소요 범위의 파형 데이터를 반복 판독함으로써 하나의 음을 재생하는 것에 있어서도, 마찬가지로 적용할 수 있는 것이다. 그를 위해서는, 도2의 실제판독 어드레스 연산기(16)와 가상판독 어드레스 연산기(17)의 쌍방에서, 실제판독 어드레스(RAD) 및 가상판독 어드레스(VAD)의 루프제어(반복제어)를 행하도록 해도 되며, 가상판독 어드레스 연산기(17)에서만 가상판독 어드레스(VAD)의 루프제어(반복제어)를 행하도록 해도 된다. 후자의 제어법으로도 좋은 이유는, 가상판독 어드레스(VAD)가 루프제어되면, 실제판독 어드레스(RAD)의 쪽은 특단의 루프제어가 이루어지지 않아도, 괴리의 발생에 따라 가상판독 어드레스(VAD)의 루프에 추종하여 실제판독 어드레스(RAD)가 루프되게 되기 때문이다.
다음으로, 본 실시예에 따르는 TSC제어에 의해 실현할 수 있는 파형의 시간축상에서의 신장 및 압축의 모습의 몇 개의 예에 관하여 도5 및 도6에 의해 설명한다.
도5 및 도6에 있어서, 각각의 최상단에서, 검게 전부 칠한 도형 1401 및 1501은, 파형 메모리(10)에 기억되어 있는 본래 파형(예를 들면, 어떤 오리지널 피치를 가지는 음의 복수 주기 파형을 소정의 샘플링주기로 녹음 즉 샘플링한 것)을 모사적으로 도시한다. 또한, 도5 및 도6에 있어서, 검게 전부 칠한 각 도형은, 마찬가지로, 복수 주기 파형을, 그 포락(包絡)선 내를 검게 전부 칠하여 모사적으로 도시하는 것이며, 횡방향이 재생시간, 종방향이 진폭을 나타낸다.
도5는, 피치정보에 따르는 피치제어와 본 실시예에 따르는 TSC제어와의 상호작용에 의해, 본래 파형(본래 기억파형)(1401) 전체의 절대적 시간길이가 신축되는 상태를 예시하고 있는 것이다. 중단의 파형도형(1402, 1403)은, 피치정보만에 따라 판독된 파형(즉 신축비(SCR)가 1인 때의 판독파형)을 예시하고 있는 것으로, 파형도형(1402)은 본래 파형(1401)의 피치보다도 피치 업한(음고를 높게 한) 때의 판독파형예이며, 파형도형(1403)은 본래 파형(1401)의 피치보다도 피치 다운한(음고를 낮게 한) 때의 판독파형예이다. 피치 업한다는 것은 본래 파형(1401)을 큰 스트라이드(stride)로 판독하여 어드레스를 늦게 진행시켜 읽는다는 것이므로 파형의 시간축상의 길이는 짧아지며, 피치 다운한다는 것은 본래 파형(1401)을 작은 스트라이드로 판독하여 어드레스를 늦게 진행하여 읽는다는 것으로 파형의 시간축상의 길이는 길어진다. 따라서, 도5에서는, 피치 업한 파형(1402)의 시간길이(재생시간)는 본래 파형(1401)의 시간길이(표준의 재생시간)보다 짧아지며, 피치 다운한 파형(1403)의 시간길이는 본래 파형(1401)의 시간길이보다 길어진다.
도5의 하단의 각 파형도형(1404, 1405, 1406)은, 상기하는 바와 같이 피치제어된 파형(1402, 1403)을 TSC제어에 의해 임의로 신축하는 상태를 예시하고 있다. 파형도형(1404)은, 피치 업한 파형(1402)이나 피치 다운한 파형(1403)의 시간길이를 본래 파형의 절대적 시간길이보다 신축한 예를 나타낸다. 파형도형(1405)은, 파형(1402)이나 파형(1403)의 시간길이를 본래 파형의 절대적 시간길이로 되돌린 예를 나타낸다. 파형도형(1406)은, 파형(1402)이나 파형(1403)의 시간길이를 본래 파형의 절대적 시간길이보다 늘린 예를 나타낸다. 이와 같이 재생시간을 신축하는 제어는, 상기 신축비(SCR)를 적절하게 부여함으로써 행할 수 있다.
도6은, TSC제어를 재생파형의 전체로는 아니라 국소적 또는 부분적으로 실시함으로써, 여러 가지 파형 제어를 행하도록 한 예를 나타낸다. 파형(1502)은 본래 파형(1501)의 상승부(어택부)만의 시간길이를 줄인 예, 파형(1503)은 본래 파형(1501)의 정상(定常)부(서스틴부)만의 시간길이를 줄인 예, 파형(1504)은 본래 파형(1501)의 하강부(릴리스부)만의 시간길이를 줄인 예, 파형(1505)은 본래 파형(1501)의 상승부(릴리스부)만의 시간길이를 늘린 예, 실제판독 어드레스(RAD)를 각각 나타낸다. 이와 같은 부분적인 시간길이의 변경제어도, 파형(1506)은 본래 파형(1501)의 정상부만의 시간길이를 늘린 예, 파형(1057)은 본래 파형(1501)의 하강부만의 시간길이를 늘린 예를, 각각 나타낸다. 이와 같은 부분적인 시간길이의 변경제어도, 본 실시예의 TSC제어에 의해, 피치제어와는 독립으로, 행할 수 있다. 예를 들면, 신축비(SCR)를 제어하기 위한 연주정보 또는 설정정보를, 악음발생중에 있어서 리얼 타임으로 부여하며, 또한 리얼 타임으로 변경함으로써, 그와 같은 국소적 또는 부분적인 TSC제어를 행할 수 있다.
본 발명에서 제안하는 TSC제어는, 파형 메모리를 음원으로서 사용하는 악음발생장치에 있어서, 각종 주법 또는 악음 효과 등의 시간축 표현력을 향상시키는 신규 제어페러미터로서 활용할 수 있다. 즉, 각종 주법 또는 악음 효과 등의 제어에 있어서, 시간축 제어패러미터로서 활용할 수 있다. 그 몇 개의 구체예를 예시하면 다음과 같은 것이 있다.
(1) 비브라토나 트레몰로와 같은 주기적 변조효과의 주기를 제어한다.
(2) 피치벤드와 같은 경과적 피치변조효과의 시간을 제어한다.
(3) 어택, 디케이 등의 음의 상승이나 하강의 시간을 제어한다.
(4) 악음에 “요동”을 적극적 또는 자유자재로 부여한다.
(5) 루프제어(지속음 형성을 위한 루프판독제어 또는 비브라토의 루프적 제어를 포함한다)의 단조성을 해소한다.
(6) 음과 음을 연결하는 제어(슬러 등)의 시간(연결시간)을 제어한다.
(7) 장식음의 길이를 제어한다.
(8) 기억된 본래 파형을 다른 피치로 판독한 때의 발음시간길이의 변화를 보상한다.
(9) 기억된 본래 파형을 국소적 또는 부분적으로 시간축 제어하여 판독함으로써, 그 본래 파형으로부터 여러 가지 바리에이션의 음을 만들어 낸다.
(10) 기억된 본래 파형의 전체의 발음시간길이를 임의로 가변제어하여 판독함으로써, 그 본래 파형에 의거하는 음의 재생시의 발음시간길이를 임의로 제어한다(예를 들면, 자동연주정보에서 부여된 음보의 음부길이에 맞춘다).
따라서, 파형발생부(111)의 구성, 특히, 파형 메모리(10)에 기억하는 파형 데이터의 내용은, 이 TSC제어를 활용하고자 하는 목적 또는 요구에 맞추어, 임의로 구성하는 것으로 한다.
예를 들면, 파형 메모리(10)에 있어서는, 복수 주기 파형으로 이루어진 악음의 파형 데이터를, 각 음색에 대응하여 적어도 1종류 기억하는 것은 물론의 일, 각 음색마다, 음고 또는 음역에 대응하여, 또는 터치(벨로시티)의 강함에 대응하여, 또는 상기한 바와 같은 여러 가지 주법 또는 효과(비브라토, 트레몰로, 피치벤드, 슬러 등)에 대응하여, 복수 종류 기억하여 둔다. 또, 반드시 각 음색마다 다른 기억 파형 데이터를 사용하지 않으면 안되는 것은 아니라, 다른 음색간에서 공통의 기억 파형 데이터를 사용하도록 하는 것도 할 수 있다. 공통의 기억파형 데이터를 사용할 경우, 이 TSC제어에 따라서, 또 적시 다른 파형 제어기술을 조합시켜, 파형을 적시 변경할 수 있다. 하나의 악음에 대응하여 기억하는 복수 주기의 파형 데이터는, 음의 상승으로부터 하강(소음(消音))까지의 전 파형이어도 되며, 소정의 루프범위의 파형이어도 된다. 주지하는 바와 같이, 루프범위의 복수 주기 파형을 기억할 경우는, 발음시간이 지속하고 있는 동안, 그 루프범위의 파형 데이터를 반복하여 판독한다. 또, 기억하는 복수 주기 파형은, 오리지널파형의 음량 인벨럽를 그대로 구비하고 있는 것이어도 되며, 또는, 음량 인벨럽를 일정 레벨로 규격한 것이어도 된다. 물론, 트레몰로와 같은 음량 인벨럽의 변화를 포함하는 효과를 부여된 악음 파형을 오리지널파형으로서 기억할 경우는, 음량 인벨럽를 일정 레벨에 규격화하는 일없이, 오리지널의 음량 인벨럽인 채로(또는 적시에 가공하여) 파형 데이터를 기억한다. 또, 기억하는 복수 주기 파형은, 외부로부터 샘플링한 파형 그 것에 한하지 않고, 적시의 파형 가공처리(크로스페이드합성이나 필터처리 등)를 실시한 것이어도 된다.
TSC제어에 있어서 상기 교체제어의 포인트에서 스무스한 파형의 접속을 용이하게 하기 위하며, 파형이 연결을 의식한 기억파형의 관리를 행하면 된다. 그 때문에, 파형 메모리(10)에 기억하는 파형 데이터를 미리 복수의 「구간」으로 나누어 관리하면 좋다.
즉, 복수 주기로 이루어진 하나의 음의 파형을, 각각 적당한 사이즈로 이루어진 복수의 「구간」으로 나누어 관리하며, 이 「구간」을 단위로 하여 TSC제어에 있어서 상기 교체제어의 포인트를 설정한다. 그 경우, 파형 메모리(10)에 기억한 하나의 음의 복수 주기의 파형 데이터를 미리 분석하여, 복수 주기 중에서 위상이 서로 대략 같아지는 포인트(동 위상 포인트)가 각 구간의 스타트위치로서 결정한다. 즉, 그와 같은 동 위상 포인트를 몇 개 발견하여, 그 위치에서 구획지어 복수의 「구간」을 정의한다. 하나의 「구간」안에, 복수 주기의 파형 데이터가 포함되어 있어도 된다. 요컨대, 「구간」의 경계위치는 상기의 동 위상 포인트이며, 어떤 「구간」도 다른 「구간」에 원활하게 연결할 수 있도록 각 「구간」을 정의하면 된다. 상기 동 위상 포인트와는, 파형 진폭치가 일치하며, 그 위치에서의 파형의 기울기 방향이 일치하는 포인트이다. 예를 들면, 전형적으로는 파형 진폭이 음에서 양으로 제로(0) 크로스하는 위상각 0도의 포인트를 예시할 수 있지만, 그 밖의 위상각의 포인트에 있어도 된다. 물론, 엄밀한 위상각에 대응하고 있을 필요는 없고, 파형이 비교적 원활하게 연결되는 듯한 대체의 위치이면 된다. 또한, 각 「구간」은, 파형 데이터의 기본 피치에 대응한 피치주기와는 반드시 일치하지 않는다. 또는, 일치시키지 않아도 된다. 또, 각 「구간」의 사이즈(그 구간의 시간적 길이)는, 공통하고 있을 필요는 없고, 적시 다르게 있어도 된다. 또한, 각 「구간」의 분할위치는, 파형 메모리(10)의 1어드레스에 상당하는 위상각보다도 세밀한 분해가 가능하여 결정하는 것이 바람직하다. 왜냐하면, 그 쪽이 동 위상 포인트를 고정밀도로 정의할 수 있기 때문이다.
파형 메모리(10)에 기억하는 파형 데이터를 상기와 같은 복수의 「구간」으로 나누어 관리함으로써, 교체제어회로(14)(도2)로부터 교체지시가 나온 때, 실제판독 어드레스 연산기(16)에서는, 현재의 실제판독 어드레스(RAD)가 그 어드레스가 속하는 「구간」의 끝까지 진행한 때, 소요별 「구간」 시작의 어드레스에 그 실제판독 어드레스(RAD)를 시프트시키도록 제어하여, 「구간」을 단위로 하여 파형 교체제어를 행하도록 할 수 있다. 상술한 바와 같이, 어떤 「구간」도 다른 「구간」에 원활하게 연결할 수 있도록 각 「구간」을 정의하도록 하고 있으므로, 이와 같이 「구간」단위로 판독 어드레스를 교체제어하는 것은, 이 TSC제어에 따라 실제판독 어드레스(RAD)를 시프트한 경우에, 대략 일치한 위상에서 다른 「구간」의 파형을 연결하는 것을 가능하게 하며, 신장 또는 압축제어에 의해 단편적으로(구간을 단위로 하는 단편으로) 접속되는 파형의 연결을 스무스하게 할 수 있다.
또한, 「구간 단위에서의 판독 어드레스의 교체제어」란, 반드시, 교체전의 파형의 판독이 해당 구간의 끝까지 도달하는 것을 기다려, 교체지의 파형의 구간의 시작으로부터 판독하는 것만을 의미하는 것은 아니다. 즉, 교체전의 파형의 판독이 해당 구간의 도중에 있어도, 교체지시가 부여되면, 교체지의 파형의 구간이 대응하는 도중위치로부터 판독하도록 교체하는 것도 포함한다. 그 경우에서도, 구간의 도중의 상대적 위치경계가 대응하고 있으므로, 위상의 연결이 좋은 것이 기대된다. 게다가, 바람직한 실시예와 같이 크로스페이드합성을 행하는 것이면, 그와 같은 구간 도중에서의 교체제어에 있어서도, 충분히 바람직한 원활한 접속을 실현할 수 있다. 후술하는 구체예로서는, 그와 같은 구간 도중의 위치는 판독 포인터(p)에 의해 지정되므로, 어떤 구간에 관해서도 구간 도중의 대응하는 상대적 어드레스 위치를 지시할 수 있다.
도7 및 도8은, 상술한 기억 파형 데이터의 작성 및 사전 관리의 순서를 플로우도로 약시한 것이다.
도7은, 소망의 파형 데이터를 외부로부터 샘플링(녹음)하여 파형 메모리(10)내에 취입(取入)하는 처리의 순서를 나타낸다. 우선, 파형 메모리(10)에 있어서, 필요한 기억영역을 확보한다(스텝S1).그리고 나서, 입력파형(외부로부터 샘플링한 파형 그것이나 적시의 가공처리를 경유한 파형)의 파형 데이터를, 그 확보한 기억영역(1)에 파일의 파형 데이터로서 기입한다(스텝S2). 그리고, 그 기억영역에 기억한 파형 데이터에 관한 필요한 관리데이터(화일명과 기억영역을 나타내는 데이터 등)를 소정의 관리 데이터 기억영역에 기입한다(스텝S3). 또, 해당 기억영역에 기억한 파형 데이터에 관한 신축 인에이블 플래그(SCEN)로서 “0”을 기입한다(스텝S4). 이 신축 인에이블 플래그(SCEN)는, 본 실시예에 따른 TSC제어를 행해도 될지 여부를 나타내는 플래그이며, “0”인 때 TSC제어를 행하지 않는 것을 나타내며, “1”인 때 TSC제어를 행해도 되는 것을 나타낸다. 이 실시예에서는, 상술한 「구간」관리를 행한 상에서 TSC제어를 행하도록 하고 있으므로, 기억한 파형 데이터에 관해서 상술한 「구간」의 정의를 행하지 않는 한 TSC제어를 행할 수 없다. 따라서, 간단하게 파형 데이터를 메모리(10)에 기입했을 뿐인 단계에서는, TSC제어를 행할 수 없으므로, 신축 인에이블 플래그(SCEN)를 “0”에 세트하여 둔다. 이 플래그(SCEN)는, 예를 들면 각 파일 마다 상기 관리데이터에 부속하여 기억해 두면 된다.
도9는, 파형 메모리(10)의 기억 포맷을, 참고적으로 약시하는 것이다. 도9에서, 「파형 데이터파일1」로 기재한 부분은, 하나의 음에 관한 복수 주기의 파형 데이터를 기억한 영역이다. 또, 「파형 데이터 파일2」로 기재한 부분은, 다른 하나의 음에 관한 복수 주기의 파형 데이터를 기억한 영역이다. 이와 같은 기억 영역이, 파형 메모리(10)에 있어서 다수 확보되며, 다수의 음에 관한 복수 주기 파형 데이터가 각 기억 영역에 기억된다. 또한, 1파일로서 기억하는 파형 데이터는, 반드시 외부로부터 들어온 하나의 음의 파형 데이터의 모두일 필요는 없고, 소망의 부분에 있어서도 된다. 따라서, 하나의 음을 재생하기 위하여, 하나의 파형 데이터 파일만 사용하지 않는 경우도 있으면, 복수의 파형 데이터 파일을 사용하는 경우도 있다.
도8의 「마크처리」란, 상기 「구간」의 정의(마킹)를 행하는 처리이다. 먼저, 「구간」의 정의(마킹)를 행해야 하는 소망의 1파일의 파형 데이터를 지정하고, 이것을 파형 메모리(10)로부터 판독하여, 종이 또는 디스플레이 등으로 적시 표시한다(스텝S5). 다음으로, 이 표시된 파형 데이터의 슬릿으로부터, 상술한 「동 위상 포인트」를 복수 선정하며, 이것에 의거하여 그 파형 데이터를 복수의 상기 「구간」으로 분할하고, 이렇게 하여, 그 파형 데이터에 관해 상기 각 「구간」을 결정한다(스텝S6). 다음으로, 각 「구간」의 사이즈(T)를 각각 산출하고, 그 파형 데이터의 파일명에 대응지어 파형구간정보메모리(15)(도2)에 기입한다(S7). 다음으로, 해당 파형 데이터 파일에 관한 신축 인에이블 플래그(flag)(SCEN)를 “1”로 세트하여, TSC제어가 가능한 것을 나타낸다. 또한, 각 「구간」의 사이즈(T)의 데이터는, 파형 메모리(10)내의 「관리데이터 기억영역」에 기억하도록 해도 된다. 즉, 파형구간정보 메모리(15)의 기억내용은, 도9의,「관리데이터기억영역」 중에 포함되어 있어도 된다. 이하에서는, 파형 메모리(10)에 기억한 각 파형 데이터 파일의 선두 어드레스를 나타내는 절대 어드레스 데이터나 각 「구간」의 사이즈(T)를 나타내는 데이터는, 파형 구간정보메모리(15)에 기억되어 있음으로써 설명한다. 상술한 대로, 각 「구간」의 분할위치는, 파형 메모리(10)의 1어드레스에 상당하는 위상가보다도 세밀한 분해가능으로 정의(마킹)하는 것이 바람직하다. 따라서, 각 「구간」의 사이즈(T)의 데이터는, 파형 메모리(10)의 어드레스 수의 정수값만으로 이루어지는 것은 아니라, 소수값을 포함하는 것이다.
다음으로, TSC제어의 몇 개의 응용예에 관하여 구체적으로 설명한다.
〔주기적 악음 변조제어로의 응용〕
우선, 비브라토나 트레몰로와 같은 주기적 변조효과를 이 실시예의 TSC제어에 따라 제어하는 구체예에 관하여 설명한다.
이 목적을 위하여, 우선, 사전 처리로서, 현악기나 관악기 등의 여러 가지의 자연악기에 의해, 소정의 기준 음고로(또는 여러 가지 음고 또는 음역에 대응하여), 실제로 비브라토주법이나 트레몰로주법 등으로 연주를 행하며, 그 연주음을 녹음(샘플링)하여, 상술한 요령으로, 그 파형 데이터를 파형 메모리(10)에 기억함과 동시에, 필요한 정보를 구간정보메모리(15)에 기억한다. 또한, 소정의 음색(자연악기음색)에 관하여, 소정의 변조주법(예를 들면 비브라토) 없는 연주음의 파형 데이터와, 그 소정변조주법(예를 들면 비브라토) 있는 연주음의 파형 데이터를 기억하면 된다. 또, 어떤 단계에서의 변조의 정도(깊이)에 대응하는 각 연주음의 파형 데이터를 각각 기억하도록 하면 된다. 또한, 그 경우, TSC제어의 제어패러미터의 기능 상태의 공통성을 확보하기 위해서, 변조의 정도(깊이)만을 다르게 하고, 변조주기는 할 수 있는 만큼 같은 정도로 되도록 연주하며, 물론, 악음의 피치는 동일해지도록 연주하면 된다.
도10은, 파형 메모리(10)에 있어서 파형 데이터의 기억예와, 그 파형 데이터의 구간분할예를 모사적으로 도시하는 도이다. 이 예에서는, 음의 상승의 복수 주기 파형으로 이루어진 어택부 파형과, 그 후의 지속부에 있어서 복수 주기 파형으로 이루어진 루프부 파형을 기억한다. 그리고, 루프부 파형에 관해서는, 변조없는 파형(도10(b))과, 중간정도의 변조가 부여된 파형(도10(c))과, 큰 변조가 부여된 파형(도10(d))을 기억하는 예를 나타내고 있다. 한편, 어택부 파형(도10(a))에 관해서는, 변조의 유무 및 정도에 무관계로 공통의 파형을 사용하는 예를 나타내고 있다. 또한, 이것은, 설명을 위한 일례에 지나지 않아, 어떠한 파형으로 파형을 준비하여, 기억하도록 해도 된다. 예를 들면, 변조의 유무 및 정도에 대응하여, 복수의 어택부 파형을 준비해도 된다. 도에 있어서, 우측가로방향의 화살표는, 파형 메모리(10)에 있어서 어드레스 증가방향을 나타낸다.
도10(a)는, 어택부 파형이, m개(m은 임의의 자연수)의 「구간」으로 분할되어 있는 것을 도시하고 있다. 설명의 편의상, 각 구간을 변수(j)를 이용하여 구별한다. 여기에서, j=0, 1, 2, …m-1의 순서 수이다. A0, A1, A2, …는, 각 구간의 스타트 어드레스이며, 일반화하여 Aj로 나타낸다. T0, T1, T2, …는, 각 구간의 사이즈이며, 일반화하여 Tj로 나타낸다. 이 사이즈(Tj)는, 예를 들면, 해당 구간에 포함되는 어드레스수(파형 샘플 수)를 나타내는 데이터이며, 상술한 대로 정수부뿐만 아니라 소수부를 포함하는 데이터이다.
도10(b), (c), (d)는, 루프부 파형이, n+2개(n은 임의의 자연수)의 「구간」으로 분할되어 있는 것을 나타내고 있다. 이 예에서는, 변조의 정도를 변수(i)를 이용하여 구별하고, 각 구간을 상기와 마찬가지로 변수(j)를 이용하여 구별한다. 여기에서, i=0, 1, 2의 순서수이며, i=0은 변조없음(도10(b))에 대응하며, i=1은 중간정도의 변조(도10(c))에 대응하며, i=2는 큰 변조(도10(d))에 대응한다. 또,j=-2, -1, 0, 1, 2, …n-1의 순서수이다. A0-2, A00, A01, …, A-1, A10, A11, …, A2-2, A20, A21, …은, 루프부 파형의 각 구간의 스타트 어드레스이며, 일반화하여 Aij로 나타낸다. 마찬가지로, 루프부 파형의 각 구간의 사이즈를, 일반화하여 Tij로 표시한다. 이 사이즈 Tij는, 상기와 같이, 해당 구간에 포함되는 어드레스 수(파형 샘플 수)를 나타낸다.
또한, 각각의 루프부 파형에 있어서, 그 시작의 2구간(j가 -2 및 -1인 구간)은, 어택부 파형과의 스무스한 접속을 확보하기 위해 준비한 「접속용 파형」에 상당하는 것이며, 루프제어 즉 반복 판독의 대상과는 하지 않는다. 루프제어 즉 반복 판독의 대상으로 되는 「루프용 파형」은, j=0,1,2, …n-1의 n개의 구간으로 이루어진 파형이다. 각각의 「접속용 파형」은, 어택부 파형의 마지막과 스무스하게 연결되는 어떤 제1파형과 해당 「루프용 파형」의 시작에 스무스하게 연결되는 어떤 제2의 파형을 크로스페이드합성하여 이루어진 가공파형이며, 어택부 파형의 마지막으로부터 「루프용 파형」의 시작에 원활하게 연결되도록 하는 것이다. 이것에 의해, 악음재생시에 있어서, 어택부 파형으로부터 어떤 루프부 파형에 접속하는 경우라도 원활하게 접속할 수 있다. 또한, 루프부 파형에 있어서 「루프용 파형」으로서는, 해당하는 변조효과의 특징이 잘 나와 있는 범위를 오리지널 파형으로부터 선정하면 된다. 그 경우, 루프판독에 의한 변조주기의 부자연스러움이 나오지 않도록 하기 위하여, 변조주기의 대략 1/2배 또는 대략 정수배의 범위를 선정하면 된다.
도10의 예에 있어서, 기본적으로는, 재생시의 파형 판독방법은, TSC제어에 관련하는 부분을 제외하고, 통상 알려진 루프판독기술을 이용하면 된다. 즉, 발음 개시지시가 부여되면, 우선, 어택부파형(도10(a))의 스타트 어드레스(AS)로부터 엔드 어드레스(AE) 까지의 파형 데이터를 대충 판독하며, 다음으로 루프부 파형(도10(b)∼(d)의 어떤)의 「접속용 파형」을 판독하고, 계속해서 그 루프부 파형의 「루프용 파형」을 판독하며, 이후, 그 「루프용 파형」을 반복 판독한다. 이와 같은 루프판독제어는, 상술한 대로, 실제판독 어드레스 연산기(16)와 가상판독 어드레스 연산기(17)의 쌍방에서 행하도록 해도 되며, 가상판독 어드레스 연산기(17)에서만 행하도록 해도 된다.
물론, 악음재생 도중에서, 변조깊이가 리얼 타임으로 변경된 때는, 루프부 파형을 교체하여 판독을 행한다. 예를 들면, 큰 변조 깊이에서 도10(b)의 루프부 파형의 어떤 구간(예를 들면 j=1)의 판독을 행하고 있을 때에, 중간정도의 변조깊이로 변경되면, 도10(c)의 루프부 파형의 같은 구간(예를 들면 j=1)으로 교체하여 판독을 행한다. 또한, 특히 도시하고 있지 않지만, 준비된 변조 깊이의 중간 깊이로 제어하고 싶은 경우는, 다른 변조깊이의 2 이상의 파형(예를 들면 도10의 (c)와 (d)의 파형)을 판독하고, 그것을 바라는 중간적 깊이에 따라 보간(補間) 합성하는 것이 공지되어 있으므로, 그와 같은 공지기술을 적시 채용하면 된다.
파형 구간정보메모리(15)에 있어서 기억 정보예에 관하여 도10을 참조하여 설명한다. 예를 들면, 도10(a)∼(d)의 파형의 파형 데이터가, 어떤 하나의 음색에 대응하는 파형으로서 관리된다. 그 음색에 대응하는 구간정보 등으로서, 파형 구간정보메모리(15)에는, 다음과 같은 정보를 기억시켜 둔다.
어택부 파형의 최초의 구간의 스타트 어드레스 A0(절대 어드레스)
어택부 파형의 각 구간마다의 사이즈(Tj)를 각각 나타내는 데이터(j=0, 1, 2m …m-1)
변조정도가 다른 각 루프부 파형마다의 최초 구간의 스타트 어드레스 A0-2, A1-2, A2-2(각각 절대 어드레스)
변조정도가 다른 각 루프부 파형의 구간마다의 사이즈(Tij)를 각각 나타내는 데이터(i=0, 1, 2 ; j=-2, -1, 0, 1, 2, …n-1)
이것에 한하지 않고, 파형구간정보메모리(15)에 있어서, 각 구간마다의 스타트 어드레스의 절대 어드레스값을 기억하여 두도록 해도 되지만, 절대 어드레스값은 비트수가 많으므로, 데이터 기억량이 증가해 버린다. 그점에서 사이즈(T)의 데이터는, 비트수가 비교적 적게 끝난다. 따라서, 상기와 같이 구간정보 등을 기억하는 일은, 파형구간정보메모리(15)의 기억량을 절약하는 의미에서 유리하다.
각 구간의 사이즈 Tj 또는 Tij는, 인접하는 구간의 스타트 어드레스의 차에 상당하므로 다음과 같은 관계에 있다.
Tj = Aj + 1 - Aj
Tij = Aij + 1 - Aij
이것에 의해, 각 구간의 스타트 어드레스 Aj 또는 Aij는, 이하의 식으로 산출된다.
Aj = A0 + ∑T
여기에서, ∑T는 Tj를 j = 0, 1, 2, … j -1의 범위에서 누산한 것이다.
Aij = Ai - 2 + ∑Ti
여기에서, ∑Ti는 Tij를 j = -2, -1, 0, 1, 2, … j -1의 범위에서 누산한 것이다. 또한, 상술한 대로, 각 구간의 사이즈 Tj 및 Tij는, 파형 메모리(10)의 어드레스에 대응하는 정수부 뿐만 아니라, 소수부도 포함하는 값이므로, 이것에 의거하여 연산되는 각 구간의 스타트 어드레스 Aj 및 Aij도, 파형 메모리(10)의 어드레스에 대응하는 정수부와 그것 미만의 소수부도 포함하는 값이다.
상술한 대로, TSC제어에 있어서는, 판독어드레스의 시프트는 구간을 단위로 하여 행해지므로, 시프트지의 구간의 스타트 어드레스 Ai 및 Aij는, 상기한 연산식에 의해 연산하면 된다. 도2의 레지스터(21)에는, 그와 같은 연산에 의해 구해진 현재 판독중인 구간의 스타트 어드레스 Ai 또는 Aij를 스토어한다. 또한, 본 실시예의 TSC제어는, 루프부 파형의 재생시 뿐만 아니라, 어택부 파형의 재생시에도 적용가능하다. 도2의 레지스터(21)에는 예시적으로 Aij만이 기재되어 있지만, 어택부 파형을 판독하고 있을 때는, 여기에 Ai가 스토어 된다.
도2의 레지스터(19)에는 현재 판독중인 구간을 나타내는 상기 변수(j)를 스토어하며, 레지스터(22)에는 현재 판독중인 루프부 파형의 변조정도를 나타내는 상기 변수(i)를 스토어한다. 크로스페이드합성을 행하기 위해서, 이들의 레지스터(19, 21, 22)에는, 주계열 및 부계열 마다 각 현재 판독중인 구간 등을 나타내는 데이터 j, Aij, i가 각각 스토어된다.
도2의 레지스터(20)는, 실제판독 어드레스(RAD)를 위한 판독 포인터(p)를 스토어하는 것이다. 실제판독 포인터(p)는, 각 구간마다 그 시작에서 소정의 초기값으로 설정되며, 피치정보에 대응하는 변화 레이트(증분치 또는 감분치)로 소정의 샘플링주기 마다 규제적으로 순차 증가(또는 감소에 있어서도 된다)하는 값을 가지는 데이터, 소위 상대적인 프로그레시브 위상(판독 어드레스) 데이터이다. 이 판독 포이터(p)에 대하여 해당 구간의 스타트 어드레스 Ai 또는 Aij를 가산함으로써 절대 어드레스값으로 이루어진 실제판독 어드레스(RAD)를 생성한다. 파형 메모리(10)에 있어서 어드레스를 정수부의 위치로 하면, 주지하는 바와 같이, 피치정보는 소수부를 포함하는 값이다. 따라서, 판독 포인터(p)는 소수부를 포함하는 값이다. 따라서, 어떤 제1구간에서 다음 제2구간으로 이행할 때, 판독 포인터(p)의 현재 값(소수부를 포함한다)으로부터 제1구간의 사이즈 Tj 또는 Tij(소수부를 포함한다)를 감산하여, 그 차(소수부를 포함한다)를 제2구간의 판독 포인터(p)의 초기값으로서, 그 제2구간의 스타트 어드레스 Aj 또는 Aij와의 가산에 이월하도록 한다. 이것도, 소망의 피치주파수를 정확하게 실현하기 위한 공지의 수법이므로, 상세하게 설명하지 않는다. 이 판독 포인터(p)는, 크로스페이드합성에 즈음하여, 주계열과 부계열의 쌍방에 공통으로 사용된다.
또한, 레지스터(19, 20, 21, 22)와 같은 레지스터는 가상판독 어드레스 연산기(17)에 부속해서도 설치되지만, 도시를 생략하고 있다. 가상판독 어드레스 연산기(17)서는 크로스페이드용의 부계열은 불필요하므로, 각 변수(i, j)와, 현재의 구간의 스타트 어드레스(Aij)(또는 (Aj))는, 1계열분만 스토어하면 된다. 또한 판독 포인터(p)의 내용은, 당연히, 실제판독 어드레스 연산기(16)와 가상판독 어드레스 연산기(17)와는 달라져 간다. 즉, 실제판독 어드레스 연산기(16)의 판독 포인터(p)는 「피치정보」만에 대응하는 기울기로 인크리멘트되지만, 가상판독 어드레스 연산기(17)의 판독 포인터(p)는 「피치정보」를 신축비(SCR)로 가변제어한 값에 대응하는 기울기로 인크리멘트(increment)된다.
또한, 상기에서는, 변조를 예로 하여 설명한 것으로, 변수(i)가 변조의 정도에 대응하는 것으로 하고 있지만, 이것에 한하지 않는다. 즉, 변수(i)는, 요컨대, 파형의 바리에이션을 지정하는 것이며, 임의의 파형 변경요인을 패러미터로 해도 된다. 예를 들면, 음색의 밝기를 나타내는 변수, 연주강도(벨로시티)를 나타내는 변수, 발음개시로부터의 시간경과를 나타내는 변수, 또는 단순한 난수(亂數) 등, 임의의 파형변경요인을 변수(i)로 잡고, 본 발명을 실시할 수 있다.
다음으로, 악음재생시의 구체적 처리예에 관하여 설명한다.
도11은, 도1의 구성에 있어서, 제어부(102)가 실행하는 처리 프로그램의 메인루틴을 약시하는 것이다. 장치의 전원투입에 따라 메인루틴이 스타트하며, 소정의 초기설정처리(스텝S11)를 행한 후, 건반스위치처리(스텝S12), 연주조작자처리(스텝S13), 설정조작자처리(스텝S14)를 포함하는 루틴을 반복한다. 건반스위치처리에서는, 건반(101A)에서의 키의 온/오프에 따른 처리를 행한다. 이 건반스위치처리에 있어서, 키 온 이벤트(즉 발음지시)가 있는 경우는, 도12의 키 온 이벤트처리를 행한다. 연주조작자처리에서는, 기타 연주조작자군(101B)에서의 각 연주조작자의 조작에 따른 처리를 행한다. 이 연주조작자처리의 일례는 도13에 도시되어 있다. 설정조작자처리에서는, 설정조작자군(100)에서의 각 설정조작자의 조작에 따른 처리를 행한다. 또한, 건반(101A) 및 기타 연주조작자군(101B)을 직접 접속시키지 않고, 그 대신에 MIDI인터페이스회로를 설치하여, 키 온/오프의 연주정보나 기타의 연주정보를 MIDI정보로서 그 MIDI인터페이스회로를 통하여 제어부(102)에 집어넣는 구성을 채용하는 경우에 있어서도, 입력된 MIDI정보의 내용을 체크하여, 도11∼도13과 같은 처리를 채용할 수 있다.
도12에 관하여 설명하면, 키 온 이벤트가 있으면, 그 키 온 이벤트에 관한 음(즉 발음지시된 음)의 음고를 나타내는 정보(예를 들면 키 코드(KC))를 노트 넘버 레지스터(NN)에 스토어하며, 그 키 온 이벤트에 관한 음의 이니셜 터치강도를 나타내는 정보(즉 벨로시티 데이터)를 벨로시티 레지스터(VEL)에 스토어한다(스텝S15). 다음에, 그 키 온 이벤트에 관한 음의 악음발생처리를 행하는 음원 채널(ch)로서, 복수의 채널 중 어떤 하나를 선택하여 할당하는 처리를 행하여, 할당한 채널의 번호를 할당채널 레지스터(ASR)에 스토어한다(스텝S16). 다음으로, 할당 채널 레지스터(ASR)에 스토어한 채널번호에 의해 지시되는 제어레지스터(113)(도1)에, 현재 선택되어 있는 음색에 대응하는 파형 선택정보나 인벨럽(envelope)정보 등, 악음발생에 필요한 각종의 정보를 설정한다(스텝S17).이 파형선택정보fks, 그 채널의 악음발생에 사용하는 파형 데이터를 특정하는 정보이며, 파형 메모리(10)에 기억되어 있는 복수의 파형 데이터의 안에서, 예를 들면, 도10의 (a)∼(d)에 도시된 바와 같은 4개의 파형을 지정하는 정보이다. 또, 인벨럽정보란, 음량 등의 제어용의 절선상 인벨럽를 형성·발생하기 위한, 각 절선후와의 목표치 데이터나 변화레이트(절선의 기울기) 등을 나타내는 정보이다.
예를 들면, 도2에 도시된 키 코드(KC), 음색코드(TC), 기타 정보(INF) 중의 어떤 것, 등이 제어레지스터(113)에 설정되는 정보에 상당한다. 또, 할당 채널 레지스터(ASR)의 내용에 대응하여, 노트 넘버 레지스터(NN)의 기억내용에 의거하여 해당 채널에 할당된 음의 음고 주파수에 대응하는 「피치정보」 등도 제어레지스터(113)에 설정된다. 또, 변조깊이를 지시하는 변조깊이정보(ML)의 소정의 초기값이나, 변조스피드(또는 변조주기)를 지시하는 변조스피드정보(MS)의 소정의 초기값 등도, 할당 채널 레지스터(ASR)의 내용에 대응하여 제어레지스터(113)에 설정된다. 또한, 인벨럽형성용인 각 목표 레벨데이터나 변화레이트 데이터 등도, 할당 채널레지스터(ASR)의 내용에 대응하여 제어레지스터(113)에 설정된다. 채널별로 악음신호를 발생하기 위해 구체적으로 어떠한 정보를 사용하는지는 공지이므로, 이들의 정보류에 관해서는 특히 상세하게 설명하지 않지만, 어떠한 설계 규정이어도 된다. 이와 같이 제어레지스터(113)에 설정된 각 채널 마다의 각종 데이터/정보가 파형발생부(111)와 음량제어부(112)에 부여된다. 마지막으로, 할당 채널레지스터(ASR)의 내용에 대응하여 발음을 지시하는 「노트 온」신호를, 제어레지스터(113)를 경유하여 파형발생부(111)와 음량제어부(112)에 부여된다(스텝S18). 파형발생부(11)와 음량제어부(112)에서는, 이 「노트 온」신호에 따라 파형의 판독처리와 음량인벨럽의 형성·발생처리를 스타트한다. 파형발생부(111)와 음량제어부(112)에 있어서 이들의 처리는 각 채널마다 시분할로 이루어진다.
도13의 연주조작자처리에서는, 소정의 타이밍마다 각 연주조작자의 상태를 취입하기 위하여, 우선, 소정의 검출시각이 도래했는지를 판정한다(스텝S19). YES이면, 각 연주조작자의 조작데이터(또는 연주정보)를 제어레지스터(113) 내의 대응하는 레지스터에 스토어한다(스텝S20). 예를 들면, 애프터 터치 데이터를 레지스터(AT)에 스토어하고, 호일조작자의 조작데이터를 레지스터(MH)에 스토어한다. 이들의 조작데이터(또는 연주정보)를 제어패러미터로서 발생악음의 리얼 타임제어가 이루어진다. 계속하여 스텝 S21, S22는, 변조제어에 관련하는 제어패러미터형성처리를 뽑아내어 나타낸 것으로, 레지스터(AT)의 애프터 터치 데이터에 따라 변조깊이정보(ML)를 설정하며, 레지스터(MH)의 호일 데이터에 따라 변조 스피드정보(MS)를 설정하는 예가 보여지고 있다. 물론, 이들의 정보(ML, MS)의 내용은, 또한 기타 팩터(factor)에 의해 가변 설정되도록 되어 있어도 된다.
또한, 변조 스피드정보(MS)는, 도2의 변환부(18)에서 적시 처리되며, 신축비(SCR)의 데이터를 생성하는 기본으로 할 수 있다. 예를 들면, 변조 스피드정보(MS)가 소정의 중립값인 경우, 신축비(SCR)를 1로 하여, 기억파형 데이터를 시간축으로 신축시키지 않고 오리지널의 변조주기(변조스피드)로 되도록 할 수 있다. 또, 변조 스피드정보(MS)가 소정의 중립값보다도 큰 또는 작은 경우는, 신축비(SCR)를 1 이상 또는 1 이하로 하여, 이 실시예의 TSC제어에 따라 기억파형 데이터를 시간축상에서 압축 또는 신장한 것을 재생하며, 오리지널의 변조주기(변조스피드)보다도 빠르게 하거나, 느리게 하거나 하는 제어를, 발생악음의 피치에 영향을 주지 않고, 행할 수 있다. 또한, 이 TSC제어를 변조 이외의 목적으로 응용하는 경우는, 변조 스피드정보(MS)에 대신하여, 그 목적에 따르는 제어데이터를 변환부(18)에 입력하도록 하면 된다. 도2의 변환부(18)에서는, 키코드(KC)나 음색코드(TC) 등의 제어패러미터에 따라, 변조 스피드정보(MS)나 그 밖의 입력정보를 신축비(SCR)의 데이터에 교환하는 형태(즉 변환 함수)를 적시 가변제어할 수 있다.
다음으로, 「노트 온」신호가 부여된 후의 파형발생부9111)의 동작에 관하여 도2, 도3, 도4, 도10 등을 참조하면서 설명한다.
먼저, 음색코드(TC)나 키코드(KC) 등의 파형선택정보에 따라서, 파형구간정보메모리(15)로부터 소요 어택부 파형의 최초의 구간의 스타트 어드레스(A0)가 판독되며, 이것이 실제판독 어드레스 연산기(16)와 가상판독 어드레스 연산기(17)에 부여되어, 각각의 현 구간 스타트 어드레스 레지스터(21)에 대하여 스타트 어드레스(Aj)로서 하기와 같이 세트된다.
Aj ← A0
또, 구간의 순서를 나타내는 변수(j)로서 0이, 실제판독 어드레스 연산기(16)와 가상판독 어드레스 연산기(17)가 대응하는 레지스터(19)에 각각 세트된다. 이 변수 j=0에 따라 최초의 구간 사이즈(T0)를 나타내는 데이터도 파형구간정보메모리(15)로부터 판독되어, 이것도 적시의 내부레지스터에,
Tj ← T0
로서 세트된다.
또한, 어택부 파형의 구간 수(m)나 루프용 파형의 구간 수(n)는 여러 가지의 파형에 의해 다르게 가므로, 이들의 구간 수(m, n)를 나타내는 데이터도, 음색 코드(TC)나 키코드(KC) 등의 파형선택정보에 따라, 파형 구간정보 메모리(15)에서 적시 판독되며, 제어에 이용되는 것으로 한다.
「노트 온」신호의 입력에 따라서, 실제판독 어드레스 연산기(16)와 가상판독 어드레스 연산기(17)에서는, 각각, 스타트 어드레스(A0)를 초기값으로 하여, 실제판독 어드레스(RAD)와 가상판독 어드레스(VAD)의 생성연산처리를 개시한다. 이 실제판독 어드레스의 생성 연산처리의 순서는, 실제판독 어드레스 연산기(16)도 가상판독 어드레스 연산기(17)도 대체로 같으므로, 이하, 실제판독 어드레스 연산기(16)에 있어서 연산처리에 관하여 주로 언급하는 것으로 하고, 가상판독 어드레스 연산기(17)에 관해서는 같은 처리라고 이해받고 싶다. 또한, 양자에서 다른 점은, 대개, 상술한 대로, 판독 포인터(p)의 인크리멘트 변화폭(변화레이트)을 결정하는 데이터로서, 「피치정보」만을 이용하던지(실제판독 어드레스 연산기(16)), 「피치정보」를 신축비(SCR)로 제어한 값을 이용하던지(가상판독 어드레스 연산기(17)), 하는 점과, 크로스페이드합성을 위한 연산처리는 실제판독 어드레스 연산기(16)에서만 행하는 점이다.
또한, 실제판독 어드레스 연산기(16)에 부속하는 레지스터(19, 21, 22)는, 크로스페이드의 주계열용과 부계열의 두 개 가지는 것을 상술했지만, 특히 예고 없는 한, 주계열용인 레지스터 쪽을 지적하고 있는 것으로 한다.
판독 포인터(p)는, 「노트 온」신호에 따라 0으로 리세트 되며, 이후, 상술한 대로, 실제판독 어드레스 연산기(16)에서는 「피치정보」에 따른 변화폭(변화레이트)으로 규칙적으로 인크리멘트되며, 가상판독 어드레스 연산기(17)에서는 「피치정보」를 신축비(SCR)로 제어한 값에 따른 변화폭(변화레이트)으로 규칙적으로 인크리멘트된다. 이것에 의해, 도3 및 도4에 도시한 바와 같은 실제판독 어드레스(RAD) 와 가상판독 어드레스(VAD)의 어드레스진행의 기울기의 차이가 발생할 수 있다.
실제판독 어드레스(RAD)는, 그 현 구간 스타트 어드레스(Aj)에 하기와 같이 판독 포인터(p)를 가산함으로써 얻어진다.
RAD = Aj + p
가상판독 어드레스(VAD)도 마찬가지이며, 참고를 위해, 그 현 구간 스타트 어드레스를 Aj’로 나타내며, 그 판독 포인터를 p’로 나타내면, 하기와 같이 된다.
RAD = Aj’ + p’
또한, 실제판독 어드레스(RAD)와 가상판독 어드레스(VAD)에서는, 각각 독립으로 어드레스형성 처리되므로, 스타트 어드레스(Aj) 등도, 각각 독립으로 가지고 있다.
이와 같이 하여 실제판독 어드레스 연산기(16)로부터 발생되는 실제판독 어드레스(RAD)에 따라 파형 메모리(10)로부터 어택부 파형의 샘플 데이터(파형 데이터(W1))가 순차 판독된다. 상술한 대로, 실제판독 어드레스(RAD)는 정수부와 소수부로 이루어지며, 그 정수부에 따라 파형 메모리(10)로부터 파형 데이터(W1)가 판독되며, 그 소수부에 따라 보간회로(11)로 파형 데이터(W1)의 샘플간 보간이 이루어진다.
이윽고, 판도 포인터(p)가, 하기와 같이, 현 구간 사이즈(Tj)보다도 커지면,
p 〉 Tj
현 구간의 파형 판독이 종료한 것을 나타내므로, 다음의 구간으로 이행하기 위한 갱신처리를 행한다. 즉, 하기와 같이, p와 Tj의 차를, 새로운 판독 포인터값으로서 레지스터(20)에 세트하며, 현 구간 스타트 어드레스(Aj)에 현 구간 사이즈(Tj)를 가산한 것을 다음의 구간인 스타트 어드레스(Aj)로서 레지스터(21)에 세트한다.
p ← p - Tj
Aj ← Aj + Tj
그 후, 하기와 같이, 레지스터(19)의 변수(j)를 1만큼 증가한다.
j ← j + 1
이후, 마찬가지로, 판독 포인터(p) 의 값을 「피치정보」에 따른 변화 레이트로 인크리멘트하면서, 파형 데이터(W1)를 파형 메모리(10)로부터 판독하며, 또한 구간을 순차 교체해 간다.
이윽고, 어택부 파형의 마지막 구간의 판독이 종료하면, 이번에는, 루프부 파형의 판독으로 이행한다.
또한, 판독 포인터(p)에 관해서는, 계속성을 지니므로, 상기와 마찬가지로,
p ← p - Tj
되는 갱신을 행한다. 이 경우, Tj는, 어택부 파형의 마지막 구간의 사이즈 Tm - 1이다.
루프부 파형의 판독에 있어서는, 먼저, 변조 깊이정보(ML)를 참조하여, 변조 깊이에 대응하는 루프부 파형을 선택하기 위한 변수(i)의 값을 확정하며, 레지스터(22)에 설정한다. 또, 구간의 순서를 나타내는 변수(j)로서, 루프부 파형의 최초의 구간을 지시하는 「-2」를, 레지스터(19)에 설정한다. 그리고, 이 두 개의 변수(i, j)에 따라서, 파형 구간정보메모리(15)로부터 소요 루프부 파형의 최초 구간인 스타트 어드레스(Ai-2)를 판독하며, 현 구간 스타트 어드레스 레지스터(21)에 대하여 스타트 어드레스(Aij)로서 하기와 같이 세트한다.
Aij ← Ai - 2
또, 이 두 개의 변수(i, j)에 따라, 루프부 파형의 최초 구간인 사이즈(Ti - 2)를 나타내는 데이터도 파형 구간정보 메모리(15)로부터 판독되며, 이것도 적시의 내부 레지스터에,
Tij ← Ti - 2
로서 세트된다.
상술과 마찬가지로, 실제판독 어드레스(RAD)는, 그 현 구간 스타트 어드레스(Aij)에 하기와 같이 판독 포인터(p)를 가산함으로써 얻어진다.
RAD = Aij + p
또, 판독 포인터(p)는, 상술과 마찬가지로, 실제판독 어드레스 연산기(16)에서는 「피치정보」에 따른 변화폭(변화레이트)으로 규칙적으로 인크리멘트된다. 이렇게 하여, 실제판독 어드레스(RAD)에 따라, 파형 메모리(10)로부터 루프부 파형의 파형 데이터(W1)가 순차 판독된다.
또, 상술과 마찬가지로, 드디어, 판독 포인터(p)가, 하기와 같이, 현 구간 사이즈(Tij)보다도 커지면,
p 〉Tij
하기와 같이, p의 갱신처리를 행함과 동시에, 다음 구간인 스타트 어드레스(Aij)의 설정과, 구간지정변수(j)의 갱신을 행한다.
-p ← p - Tij
Aij ← Aij + Tij
j ← j + 1
이후, 마찬가지로, 판독 포인터(p)의 값을 「피치정보」에 따른 변화 레이트로 인크리멘트하면서, 파형 데이터(W1)를 (또한 W2도) 파형 메모리(10)에서 판독하며, 또한 구간을 순차 교체해 간다.
드디어, 루프부 파형의 마지막 구간의 판독이 종료하면, 이번에는, 「루프용 파형」(도10)의 선두의 구간으로 되돌아 가 판독을 행하며, 이후, n개의 구간으로 이루어진 「루프용 파형」을 교환하여 판독하도록 된다.
루프부 파형의 마지막 구간의 판독이 종료한 것은, 상기와 마찬가지로,
p 〉Tij
가 성립한 것에 의해 판명된다. 단, 이 때, j = n-1이다.
「루프용 파형」의 선두 구간으로 되돌아 갈 즈음에는, 하기와 같이, p의 갱신처리를 행함과 동시에, 루프용 파형의 선두 구간의 스타트 어드레스(Ai0)를 다음 구간인 스타트 어드레스(Aij)에서 설정하고, 구간지정변수(j)를 0으로 설정한다.
p ← p - Tij
Aij ← Ai0
j ← 0
여기에서, 루프처리에 즈음에서는, 실제판독 어드레스(RAD)와 가상판독 어드레스(VAD)가 함께 루프처리되도록 하는 것은 물론이다. 그 때문에, 예를 들면, 실제판독 어드레스(RAD)가 루프용 파형의 선두 구간으로 되돌아갈 때, 동시에, 가상판독 어드레스(VAD)는 실제판독 어드레스(RAD)와의 거리를 유지한 채, 루프용 파형의 선두 근방에 되돌아가도록 하면 된다. 또는, 역으로, 가상판독 어드레스(VAD)를 생성하는 측에서 루프용 파형의 선두의 마지막인 구간이 종료하는 것을 검출하여, 가상판독 어드레스(VAD)를 루프용 파형의 선두의 구간으로 되돌리며, 동시에, 실제판독 어드레스(RAD)는 가상판독 어드레스(VAD)와의 거리를 유지한 채, 루프용 파형의 선두 근방으로 되돌아가도록 해도 된다.
이상과 같은 처리에 의거하여, 실제판독 어드레스 연산기(16)와 가상판독 어드레스 연산기(17)로부터, 각각, 실제판독 어드레스(RAD)와 가상판독 어드레스(VAD)가 발생되며, 파형 메모리(10)로부터의 파형 데이터의 판독은 실제판독 어드레스(RAD)에 따라 행해진다. 상술한 대로, 신축비(SCR)가 1이면, 실제판독 어드레스 연산기(16)와 가상판독 어드레스 연산기(17)의 판독 포인터(p)는 같으므로, 실제판독 어드레스(RAD)와 가상판독 어드레스(VAD)는 같다. 그러나, 판독파형을 시간축상에서 신축제어하기 위하여, 신축비(SCR)가 제어되면, 도3 또는 도4에 도시한 바와 같이, 실제판독 어드레스(RAD)와 가상판독 어드레스(VAD)의 어드레스 진행의 기울기의 차이가 생겨 간다. 상술한 대로, 이 TSC제어에 있어서는, 실제판독 어드레스(RAD)의 기울기를 소망의 피치에 대응하는 것에 유지하면서, 실제판독 어드레스(RAD)의 어드레스 진행의 경향이 가상판독 어드레스(VAD)의 어드레스 진행의 경향에 대강 따르도록 제어한다. 이하, 이점에 관하여, 상세하게 설명한다.
도2에 있어서, 교체제어회로(14)는, 실제판독 어드레스(RAD)와 가상판독 어드레스(VAD)에 대한 차를 끊임없이 감시하며, 양자의 괴리폭(즉 차)이 소정의 기준폭 이상으로 된 때, 교제지시를 실제판독 어드레스 연산기(16)에 준다. 이판정의 기준폭은, 적시에 설정해도 되지만, 예를 들면, 현 구간의 사이즈 Tj 또는 Tij의 어떤 비율(예를 들면 1/2)이든지의 값으로 하면 된다. 그 때문에, 현 구간의 사이즈 Tj 또는 Tij를 나타내는 데이터가 교체제어회로(14)에 부여된다. 교체제어회로(14)는, 괴리의 방향, 즉 RAD가 VAD보다도 커져 있는 것인지(도4의 예), 또는 작아져 있는 것인지(도3의 예)에 따라 그것을 구별하는 정보를 수반하여 교체지시를 실제판독 어드레스 연산기(16)에 준다. 이 교체지시가 부여된 때의 시제판독 어드레스 연산기(16)에 있어서 처리내용은 다음대로이다.
실제판독 어드레스 연산기(16)에서는, 교체제어회로(14)로부터의 교체지시에 따라, 실제판독 어드레스를 시프트해야 하는 구간을 산출하여, 그 시프트지 구간의 순위번호(j)를 부계열용인 레지스터(19)에 스토어한다. 편의상, 이 시프트지 구간을 j(new)로 나타내게 한다. 예를 들면, 이 j(new)는, 현 구간(j)에 대하여, +1 또는 -1한 구간이다. 즉, RAD가 VAD보다도 커지는 방향으로 괴리하여 있는 경우(도4의 예)는,
j(new) = j - 1
로서, RAD가 VAD보다도 작아지는 방향으로 괴리하여 있는 경우(도3의 예)는,
j(new) = j + 1
로 한다.
그리고, 이 j(new)에 따라 시프트지의 구간의 스타트 어드레스(Aij)(또는 Aj)를 구간정보메모리(15)로부터 판독하여, 이것을 부계열용의 스타트 어드레스 레지스터(21)에 스토어 한다. 이 부계열용인 스타트 어드레스 레지스터(21)에 스토어하는 스타트 어드레스(Aij)(또는 Aj)를, 편의상, Aij(new)로 나타낸다.
판독 포인터(p)는 주계열과 같은 것을 사용하며, 부계열용인 실제판독 어드레스(RAD2)를 하기와 같이 산출한다.
RAD2 = Aij(new) + p
이렇게 하여, 교체지시가 나오기 직전의 주계열용인 실제판독 어드레스(RAD)를 구간 단위로 시프트한 새로운 실제판독 어드레스가 작성되며, 부계열용인 실제판독 어드레스(RAD2)로서 출력된다. 이것은, 판독 포인터(p)의 변화에 따라 변환해 간다.
한편, 주계열용인 실제판독 어드레스(RAD)는, 판독 포인터(p)의 변화에 따른 변화를 하기와 같이 계속한다.
RAD = Aij + p
이것에 의해, 파형 메모리(10)로부터는, 주계열용인 실제판독 어드레스(RAD)에 따른 파형 데이터(W1)와, 부계열용인 실제판독 어드레스(RAD2)에 따른 파형 데이터(W2)가 각각 판독되며, 각 보간회로(11, 12)를 경유하여 크로스페이드합성부(13)에 입력된다.
크로스페이드합성부(13)에서는, 교체제어회로(14)로부터의 교체지시를 받아, 주부(主副) 양 계열의 파형 데이터(W1, W2)를 크로스페이드합성한다. 즉, 시프트지(목표)인 부계열의 파형 데이터(W2)를 계수 0으로부터 계수 1을 향하여 서서히 상승하는 계수 함수(소수점 이하의 값을 가지는 계수의 함수)로 스케일링하며, 주계열의 파형 데이터(W1)를 계수 1부터 계수 0을 향하여 서서히 하강하는 계수 함수(소수점 이하의 값을 가지는 계수의 함수)로 스케일링하여, 양자를 가산합성한다. 또한, 이 예는, 도3, 도4에 도시한 주부계열의 관계와 역이지만, 행하고 있는 크로스페이드합성의 내용은 같다.
이윽고, 크로스페이드합성이 종료하면, 시프트지의 실제판독 어드레스(RAD2)를 주계열의 실제판독 어드레스(RAD)로 변경하기 위하여, 레지스터(19, 21)의 주부의 관계를 교체한다. 즉,
j←j (new)
Aij←Aij (new)
로 한다. 그리고 크로스페이드합성이 종료하면, 부계열인 실제판독 어드레스(RAD2)는 발생을 정지한다. 이것에 의해, 크로스페이드합성에 즈음에서는, 파형 데이터 W1계열을 항상 하강특성으로 스케일링하며, 파형 데이터 W2계열을 항상 상승특성으로 스케일링하도록, 일정한 특성으로 처리할 수 있으며, 또, 교체제어회로(14)에 입력하는 실제판독 어드레스(RAD)를 교체할 필요가 없으므로 번잡하지 않고, 편리하다. 그러나, 이것에 한하지 않고, 크로스페이드합성이 종료해도, 상기와 같은 주부의 교체를 행하지 않도록 해도 된다. 그 경우는, 크로스페이드합성에 즈음해서는, 파형 데이터(W1, W2)의 각 계열의 스케일링의 상승/하강특성을 번갈아 변경하며, 또한, 교체제어회로(14)에 입력하는 실제판독 어드레스 RAD와 RAD2로 번갈아 교체할 필요가 있다.
또한, 크로스페이드합성이 종료하기까지, 구간의 교체가 일어난 경우는, 시프트지 구간 j(new)의 판독을 행하고 있는 쪽 계열의 동작에 의거하여, 주부 양 계열의 구간의 교체를 제어하면 된다. 즉, 판독 포인터(p)가 시프트지 구간의 사이즈 Tij(new)보다 커지면, 다음과 같이, 그 차를 판독 포인터(p)의 새로운 값으로 설정한다.
p ← p - Tij(new)
그리고, 주부 양 계열의 스타트 어드레스(Aij)를 각각, 다음과 같이, 공통의 사이즈 데이터 Tij(new)에 의해 갱신한다.
Aij ← Aij + Tij(new)
또, j(new)와 j를 각각 인크리멘트한다.
j(new) ← j(new) + 1
j ← j + 1
또는, 한창 크로스페이드를 행하고 있는 중간에 구간의 교체가 일어나지 않도록 크로스페이드의 개시 타이밍을 제어해도 된다.
또한, 한창 크로스페이드합성 중에서도, 가상판독 어드레스(VAD)의 생성은 계속하여 실행된다. 한창 크로스페이드합성의 중간에는, 교체제어회로(14)에 있어서 RAD와 VAD의 비교처리를 적시 중단하는 것으로 해도 된다.
또한, 크로스페이드합성인 때의 주부계열의 관계를 도3, 도4에 도시한 것과 같게 하는데는, 교체제어회로(14)로부터 교체지시가 부여된 때에, 레지스터(19, 21)의 주계열 데이터(j, Aij)를 부계열에서 이동하며, 시프트지의 구간에 관한 데이터(j(new))는 Aij(new)를 주계열에서 설정하도록 하면 된다. 그 경우는, 파형 데이터(W1)가 목표치로 되므로, 크로스페이드합성에 즈음해서는, 파형 데이터(W1)계열을 항상 상승특성으로 스케일링하고, 파형 데이터(W2)계열을 항상 하강특성으로 스케일링하도록 한다.
또한, 크로스페이드합성을 행하지 않는 경우는, 교체지시가 나온 때, 현 구간의 데이터(j, Aij)를, 시프트지의 구간을 지시하는 데이터(j(new))와 그 스타트 어드레스(Aij(new))에 의해 즉시 변경하도록 해도 된다. 그 경우, 실제판독 어드레스(RAD)가, 도3 또는 도4의 두꺼운 실선으로 나타내는 바와 같이 구간 단위로 시프트된다. 그 경우, 현 구간의 파형판독이 마지막의 어드레스까지 도달한 때에, 교체제어회로(14)로부터 교체지시를 내도록 해도 되어, 그렇게 하면, 현 구간의 마지막의 파형으로부터 시프트지 구간의 선두의 파형에 접속할 때에, 확실하게 동 위상 포인트에서 원활하게 접속할 수 있다.
이상의 구성에 의해, 변조 스피드정보(MS)에 따라서 신축비(SCR)가 설정되며, 이 신축비(SCR)에 따라 기울기 제어된 가상판독 어드레스(VAD)가 도3 또는 도4와 같이 발생되고, 한편, 실제판독 어드레스(RAD)는 피치정보에 따르는 본래의 악음피치에 대응하는 기울기를 유지하면서 가상판독 어드레스(VAD)의 변화에 따르도록 시간축상에서 계속적으로 신장 또는 압축제어된 도3 또는 도4와 같이 생성되며, 이것에 대응하여 시간축상에서 신장 또는 압축제어된 상태에서 파형 데이터가 파형 메모리(10)로부터 판독되도록 된다. 따라서, 파형 메모리(10)에 기억되어 있는 변조효과가 부여된 고품질의 복수 주기 파형 데이터를 판독할 즈음에서, 그 재생악음피치에 영향을 미치는 일없이, 변조스피드정보(MS)에 따라 그 변조주기(변조스피드), 즉 시간축상의 위치를 자유롭게 가변제어할 수 있게 되어, 고품질인 제어성에 풍부한 변조효과를 얻을 수 있다.
또한, 악음발생중에 변조스피드정보(MS)가 리얼 타임으로 변화되면, 이것에 따라 신축비(SCR)도 변화하며, 따라서, 가상판독 어드레스(VAD)의 기울기도 변화하여, 재생판독 파형의 시간축상에서의 신장 또는 압축상태가 시간적으로 가변제어된다.
또한, 크로스페이드합성부(13)는, 변조깊이를 교체한 때에도 동작시킬 수 있다. 즉, 변조깊이정보(ML)의 값이 변화하여, 레지스터(22)의 변수(i)를 변경할 필요가 생긴 경우, 현재의 i에 대하여, 변경후의 i를 i(new)로 나타내며, 이것에 대응하는 구간의 스타트 어드레스를 Ai(new)j로 나타내면, 부계열용의 레지스터(21, 22)에 Ai(new)j, i(new)를 세트한다.
판독 포인터(p)는 주계열과 같은 것을 사용하며, 부계열용인 실제판독 어드레스(RAD2)를 하기와 같이 산출한다.
RAD2 = Ai(new)j + p
이렇게 하여, 변조깊이 교체후의 새로운 파형을 지시하는 실제판독 어드레스가 작성되며, 부계열용인 실제판독 어드레스(RAD2)로서 출력된다. 이것은, 판독 포인터(p)의 변화에 따라 변화해 간다.
한편, 변조깊이 교체전의 오래된 파형을 지시하는 실제판독 어드레스는 주계열용인 실제판독 어드레스(RAD)로서, 판독 포인터(p)의 변화에 따른 변화를 하기와 같이 계속한다.
RAD = Aij + p
이것에 의해, 파형 메모리(10)로부터는, 주계열용인 실제판독 어드레스(RAD)에 따른 파형 데이터(W1)와, 부계열용인 실제판독 어드레스(RAD2)에 따른 파형 데이터(W2)가 각각 판독되며, 각 보간회로(11, 12)를 경유하여 크로스페이드합성부(13)에 입력된다.
크로스페이드합성부(13)에서는, 변조깊이 교체지시를 실제판독 어드레스 연산기(16)로부터 받아, 주부 양계열의 파형 데이터(W1, W2)를 크로스페이드합성한다. 즉, 목표인 부계열의 파형 데이터(W2)를 계수 0부터 계수 1로 향하여 서서히 상승하는 계수 함수(소수점 이하의 값을 가지는 계수의 함수)로 스케일링하고(페이드 인), 주계열의 파형 데이터(W1)를 계수 1부터 계수 0을 향하여 서서히 하강하는 계수 함수(소수점 이하의 값을 가지는 계수의 함수)로 스케일링하여(페이드 아웃), 양자를 가산합성한다.
상술과 마찬가지로, 크로스페이드합성이 종료하면, 목표의 실제판독 어드레스(RAD2)를 주계열인 실제판독 어드레스(RAD)로 변경하기 때문에, 레지스터(21, 22)의 주부의 관계를 교체한다. 즉,
Aij ← Ai(new)j
i ← i(new)
로 한다.
이렇게 하여, 변조깊이 교체전의 오래된 파형으로부터 변조깊이 교체후의 새로운 파형에 원활하게 크로스페이드시켜 파형교체를 행할 수 있다.
또한, 이 경우도, 크로스페이드합성이 종료하기까지, 구간의 교체가 일어난 경우는, 상기와 마찬가지로, 시프트지 구간(i(new))의 판독을 행하고 있는 쪽 계열의 동작에 의거하여, 주부 양 계열의 구간의 교체를 제어하면 되며, 또는, 한창 크로스페이드를 행하고 있는 중에 구간의 교체가 일어나지 않도록 크로스페이드의 개시 타이밍을 제어하면 된다.
이상의 설명은 일례에 지나지 않으며, 이하에 예시하는 외, 다양한 변형이 가능하다.
도10에 도시한 바와 같은 파형 데이터를, 하나의 음색에 관하여 복수의 음역마다 각각 기억해 두도록 해도 된다. 그 경우, 어택부 파형의 전체 길이 및 각 루프부 파형의 전체 길이는, 각 음역마다 다르게 있어도 되며, 공통으로 되도록 해도 된다. 또, 각각의 「루프용 파형」의 길이도, 각 음역마다 다르게 있어도 되며, 공통으로 되도록 해도 된다. 또, 「접속용 파형」을 특별히 준비하지 않아도 된다.
변조효과가 부여된 파형 데이터로서는, 도10에서는 2단계의 깊이에 대응하는 것을 각각 기억하고 있지만, 하나 만에 있어도 되며, 3이상이어도 된다.
또, 다른 변조깊이의 변조효과가 부여된 파형 데이터는, 피치 및 변조주기 동시에 할 수 있는 만큼 공통하여 있는 것을 기억해 두는 것이 바람직하다고 서술했지만, 이것에 한하지는 않는다. 기억파형의 피치나 변조주기가 다르게 있어도, 예를 들면, 실제판독 어드레스(RAD) 및 가상판독 어드레스(VAD)의 생성처리 때에 그들이 공통성을 가지도록, 피치정보와 신축비(SCR) 등을 적시 제어함으로써, 조정할 수 있다.
또, 파형 메모리(10)에 기억하는 파형은, 반드시 주기적인 변조효과가 부여된 것인 것을 요하지 않고, 어떠한 타입의 변조가 부여된 파형 데이터를 기억하고 있어도 된다. 변조 대상의 악음 요소도, 주파수 또는 음량에 한하지 않고, 음색 등이어도 된다.
파형 메모리(10)에 있어서, 어택부 파형을 기억하지 않고, 루프부 파형만을 기억해 두도록 해도 된다. 또는, 악음 하강특성을 가지는 하강부 파형도 기억해 두어, 예를 들면, 키 온 후는, 루프부 파형에 대신하여, 이 하강부 파형을 판독함으로써, 소음되도록 해도 된다. 또, 하나의 음에 대응하는 루프부 파형은 하나만이 아니라, 복수 기억해 두어, 예를 들면 제1의 루프부 파형을 복수 회 반복 판독한 후, 제2의 루프부 파형을 복수 회 반복 판독하는 것처럼, 시간적으로 교체판독하도록 해도 된다. 또, 발음개시로부터 종료까지의 전 파형의 파형 데이터를 기억하도록 해도 된다.
또한, 파형 메모리(10)에 기억한 파형 데이터의 어떤 것을, 필요에 따라, 이음색(異音色) 사이에서, 또는 동 일음색(一音色)의 이음(異音)영역 사이에서, 또는 그 밖의 적시의 케이스 사이에서, 공통 이용하도록 해도 된다.
또한, 파형 메모리(10)에 기억한 파형 데이터의 하나의 구간에 포함되는 주파수 대응 주기수는, 복수 주기이어도 되며 1주기이어도 되고, 또, 정수배의 주기수에 한하지 않고, 비정수배의 주기수이어도 된다. 또, 각 구간의 시작을 동 위상 포인트에 설정하는 것에 한하지 않고, 2계열의 파형을 원활하게 접속할 수 있는 것이면 다른 임의의 방법을 채용해도 된다.
또한, 파형 메모리(10)에 기억한 파형 데이터를 반드시 구간을 구분 관리할 필요는 없다. 즉, 구간구분관리하지 않는 파형 데이터에 관해서도, 이 발명의TSC제어를 적응할 수 있다.
또, 상기에서는, 판독하는 구간마다에 판독 포인터(p)와 스타트 어드레스(Aij)(또는 Aj)를 갱신하도록 하고 있지만, 이것에 한하지 않고, 판독 개시한 구간의 판독 포인터(p)와 스타트 어드레스(Aij)(또는 Aj)를 계속적으로 사용하여 복수의 구간을 차례로 판독해 가도록 해도 된다. 그 경우는, 크로스페이드하는 두 개 계열에 관해 독립한 판독 포인터(p)를 각각 구비할 필요가 있다. 예를 들면, 교체제어회로(14)로부터 교체지시가 나온 때, 현재, 파형 데이터의 판독에 사용되고 있지 않는 쪽 계열에, 시프트지의 구간의 스타트 어드레스(Aij(new))(또는 Aj(new))와 판독 포인터(p)의 초기값을 설정하여, 2계열에서 크로스페이트를 행하도록 하면 된다.
물론, 상술한 각 변형예는, 이 TSC제어를 변조주기효과가 딸린 기억파형의 판독에 응용하는 경우에 한하지 않고, 이 TSC제어를 다른 어떠한 목적으로 응용할 경우에 있어서도, 적시 적용할 수 있다.
〔TSC제어에 있어서 제어법의 변형예〕
도14 및 도15는, 가상판독 어드레스(VAD)를 비선형적 특성으로 발생하도록 한 예를 도시한다. 도14는 가상판독 어드레스(VAD)를 지수 함수 특성으로 발생하는 예를 도시하며, 도15는 가상판독 어드레스(VAD)를 대수 함수 특성으로 발생하는 예를 도시한다. 이를 위해서는, 도2의 파형 발생부(111)의 구성을 그대로 사용할 수 있지만, 단, 변환부(18)의 구성을 적시 변형하여, 예를 들면, 지수 함수 발생기 또는 대수 함수 발생기를 포함하여 구성하여, 「노트 온」신호에 응답하여 발음개시로부터의 시간경과에 따라 지수함수특성으로 또는 대수함수특성으로 변화하는 신축비(SCR) 데이터를 발생하도록 하면 된다. 그 경우도, 본 실시예의 TSC제어에 따라, 실제판독 어드레스(RAD)는, 도시한 대로, 소망의 피치에 대응하는 일정한 기울기를 유지하면서, 비선형적인 가상판독 어드레스(VAD)의 어드레스진행에 따르도록, 발생제어된다. 물론, 크로스페이드합성을 위한 부계열용 실제판독 어드레스(RAD2)를 적시 발생하며, 크로스페이드합성하도록 해도 되는 점은, 상술과 마찬가지이다. 이것에 의해, 파형 메모리(10)에 기억한 파형 데이터를, 시간축상에서 비선형적으로 신장 또는 압축하여 재생 판독할 수 있다.
이와 같은 비선형적인 가상판독 어드레스(VAD)에 의거하는 TSC제어는, 상술한 변조효과부여제어에 대해서도 적용할 수 있는 것은 물론의 일, 다른 용도로 이 TSC제어를 응용하는 경우에 있어서도 적용할 수 있다. 도시한 비선형적인 가상판독 어드레스(VAD)는, 발음개시시(도14, 도15의 시간축의 원점이 발음개시시에 상당한다)로부터 어느 정도 동안은, 피치정보에 따르는 본래의 어드레스진행에 따르고 있으므로, 이 동안에서는 실질적으로 시간축의 신축이 행해지지 않게 된다. 따라서, 예를 들면, 어택부에 관해서는 시간축의 신축을 행하지 않도록 하는 제어가 용이하게 행해진다. 즉, 변조효과부여제어르 예로 취하면, 변조 스피드정보(MS)의 값이 어택부로부터 어느 정도의 값을 나타내고 있다고 해도, 이 비선형 변환처리에 의해 어택부에 관해서는 실제판독 어드레스(RAD)와 가상판독 어드레스(VAD)의 괴리가 그다지 생기지 않도록 할 수 있다. 또한, 이와 같은 비선형적인 가상판독 어드레스(VAD)의 예에 관해서는, 추가하여, 도41, 도42를 참조해서도 설명되고 있다.
도16 및 도17은, 상술한 각 예와는 반대로, 재생악음의 피치가 어떻게 변경되어도, 전체의 악음 재생시간은 악음 피치에 관계없이 거의 일정하게 유지 제어할수 있도록, 이 TSC제어를 움직이게 하는 예를 도시하고 있다.
도에 있어서, 일점쇄선은 「피치정보」에 따르는 본래의 어드레스진행을 나타내고 있지만, 도16 예의 쪽이 도17의 예보다도, 그 어드레스진행의 기울기가 커져, 악음재생피치가 높은 것을 나타내고 있다. 이것에 대하여, 두꺼운 파선으로 나타낸 가상판독 어드레스(VAD)의 기울기는 양 예와도 같다. 도3 등의 예와 마찬가지로, 실선은 실제판독 어드레스(RAD)의 진행을 나타내며, 파선(波線)은 크로스페이드합성을 위해서 사용되는 부계열용인 실제판독 어드레스(RAD2)의 진행을 나타낸다. 이를 위해서는, 도2의 파형발생부(111)의 구성을 그대로 사용할 수 있지만, 단지, 가상판독 어드레스연산기(17)에서 사용하는 판독포인터(p)를 발생악음의 「피치정보」에 따라 변화시키지 않고, 발생악음의 피치에 관계없이, 일정한 피치 레이트 데이터에 의거하는 변화레이트로 변화시키도록, 그 구성을 일부 변형하면 된다. 즉, 가상판독 어드레스 연산기(17)에는, 발생악음의 「피치정보」를 입력시키지 않고, 일정한 「피치정보」를 입력한다. 물론, 실제판독 어드레스 연산기(16)에서 사용하는 판독 포인터(p)는 발생악음의 「피치정보」에 따라 변화시키는 것으로 한다. 이 경우도, 신축비(SCR)의 값에 따라서 가상판독 어드레스(VAD)의 기울기를 가변제어할 수 있으며, 재생 파형 데이터의 시간축상에서의 신축제어가 가능하다.
이와 같은 악음 피치에 연동하지 않는 가상판독 어드레스(VAD)를 이용한 TSC제어는, 상술한 변조효과부여제어에 대해서도 적용할 수 있는 것은 물론, 다른 용도로 이 TSC제어를 응용하는 경우에 있어서도 적용할 수 있다. 이 제어법에 의하면, 공통의 기억 파형을 다른 악음 피치로 각각 판독하는 경우에 있어서, 상대적으로 높은 피치에 관해서는 외관상 그 시간위치를 확대하며, 상대적으로 낮은 피치에 관해서는 외관상 그 시간위치를 압축함으로써, 전체의 재생시간을 거의 같게 할 수 있다. 예를 들면, 변조효과부에제어에 적용한 경우는, 악음 피치가 변화해도, 그 변조효과의 주기는 변화하지 않도록 제어할 수 있다.
TSC제어에 의한 제어법의 몇 개를 도3, 도4, 도14∼도17에 의해 예시하였지만, 이것을 부분적으로 또는 전체적으로 적시 조합시킴으로써, 도5, 도6에 예시한 바와 같은 파형의 시간축 신축제어를 행할 수 있는 것을 이해할 수 있을 것이다.
〔TSC제어에 의한 적극적인 변조제어〕
이 실시예에 따르는 TSC제어에 의해, 재생악음파형에 대하여 주기적인 또는 불규칙적인 변조제어를 적극적으로 실시할 수 있다. 그와 같은 제어는, 예를 들면, 기억 파형의 루프판독(반복 판독)을 행할 경우에, 같은 로프 파형의 반복에 의한 단조로움을 개선하기 위해서 응용할 수 있다.
도18은, 이 목적에 따라, TSC제어에 의한 주기적인 또는 불규칙적인 변조제어를 행할 경우의 가상판독 어드레스(VAD)와 실제판독 어드레스(RAD)의 진행상태를 예시하는 것이며, 다른 같은 도3 등과 같은 도시법을 이용하고 있다.
이 경우, 가상판독 어드레스(VAD)가 도시하는 바와 같이 주기적으로 변화되며(또는 불규칙적으로 요동), 이것에 따라서, 실제판독 어드레스(RAD)가 재생악음의 「피치정보」에 따르는 본래의 어드레스진행의 기울기을 유지하면서, 그 가상판독 어드레스(VAD)의 「요동」에 추종하도록, 데이터 시프트 또는 점프를 반복한다. 이를 위해서는, 도2의 파형발생부(111)의 구성을 그대로 사용할 수 있지만, 단, 변환부(18)로부터 발생되는 신축비(SCR)의 데이터가 기준의 수치 「1」을 중심으로 하여 주기적으로 또는 불규칙적으로 흔들리도록 하면 된다. 그를 위해서는, 제어레지스터(113)(도1)로부터 변환부(18)에 부여되는 「기타 정보」로서, 적당한 변조파형신호를 이용하면 된다. 이 변조파형신호에 따라 변환부(18)로부터, 그 값이 「1」을 중심으로 하여 주기적으로 또는 불규칙적으로 흔들리는 신축비(SCR)의 데이터가 발생되며, 이것에 따라 가상판독 어드레스 연산기(17)로부터 도18과 같이 변화하는 가상판독 어드레스(VAD)를 발생시킬 수 있다. 또한, 루프판독의 단조로음을 개선할 목적으로 이 제어를 이용하는 경우는, 도18의 어드레스의 원점은, 루프 스타트 어드레스로서 된다. 즉, 악음의 어택부에 관해서는, 도18의 제어의 대상으로 하지 않도록 해도 된다.
이 예의 경우, TSC제어에 의해 재생 악음에 변조를 걸기 때문에, 파형 메모리(10)에 기억하는 파형은, 특별히 미리 변조가 부가된 것이 아니어도 된다. 도19는, 파형 메모리(10)에 기억하는 어떤 하나의 음에 관한 복수 주기 파형 데이터의 예를, 도10과 같은 도법에 의해 도시한다. 하나의 음에 대응하여, 어택부 파형과 루프부 파형을 기억하고 있으며, 상술과 같은 수법으로, 복수의 구간으로 분할하여 관리된다. 이 경우, 어택부 파형과 로프부 파형이 1대1로 대응하고 있으므로, 도10의 예와 같은 「접속용 파형」을 루프부 파형의 시작에서 반드시 구비하고 있지 않아도 된다. 즉, 오리지널 파형에 있어서 어택부 파형과 루프부 파형이 원래 연속하고 있지 않는 것이면 된다. 도19의 루프부 파형은 n개의 구간으로 되어 있고, 그 전부 구간이 루프한다. 즉, 루프부 파형의 최초 구간의 스타트 어드레스(A00)가, 루프 스타트 어드레스(LS)에 상당한다. 물론, 오리지널 파형에 있어서 어택부 파형과 원래 연속하고 있지 않은 부분을 루프부 파형으로서 잘라낸 경우는, 루프부 파형의 시작부분에 있어서 도10과 같은 「접속용 파형」을 구비해도 된다.
또한, 도19의 파형은, 예를 들면, 자연악기 등으로 통상의 주법으로 연주한 음을 샘플링한 것을 이용하여 작성하도록 해도 되고, 상기 실시예와 같은 변조효과가 부여된 파형일 필요는 없다.
또, 루프부 파형에 관해서는, 루프판독인 때에 그 종단부분 파형과 첨단부분 파형이 원활하게 연결되도록 적시에 파형 가공한 것을 기억하면 된다. 예를 들면, 루프용으로 오리지널 파형으로부터 잘라낸 파형의 종단부분의 파형과 첨단부분의 파형을 크로스페이드합성하여 접속용의 파형을 작성하며, 이것을 루프부 파형을 종단부분의 파형으로서 기억하도록 해도 된다. 또, 어택부 파형은, 오리지널의 어택부의 파형 전부이지 않아도 되고, 중간을 커트하여 크로스페이드합성함으로써 길이를 단축한 파형이어도 된다. 물론, 도19와 같은 어택부 파형과 루프부 파형으로 이루어진 파형을, 음역 마다 준비하여, 각각 파형 메모리(10)에 기억시키도록 해도 되는 것은 이미 서술한 대로이다. 그 경우, 각 음역에 관한 기억 용량은 같은 정도로 해도 되며, 적시 다르게 해도 된다. 예를 들면, 각 음역에 관한 기억 용량을 같은 정도로 한 경우는, 저음역 정도 1주기의 샘플수가 많아지므로, 기억되는 파형 데이터의 주기수는 적어진다.
이 응용예의 제어를 행할 경우, 제어부(102)(도1)가 실행하는 처리 프로그램은, 메인 루틴과 키 온 이벤트처리에 관해서는 도11, 도12와 같은 것을 이용해도 된다. 상기 변조 파형신호는, 메인 루틴의 연주조작자처리에 있어서 그 발생처리를 행하도록 해도 되고, 그를 위한 연주조작자처리의 예는 도20에 도시하는 바와 같은 것을 사용해도 된다. 도20의 연주조작자 처리에 있어서는, 소정의 제어 시각 마다 변조 파형 신호의 샘플값을 발생하기 때문에, 우선, 소정의 제어 시각이 도래했는지를 판정한다(스텝S30). YES이면, 변조파형신호의 이번회 샘플값 데이터를 발생한다(스텝S31). 이를 위해서는, 예를 들면 소망의 변조파형을 기억한 메모리의 판독 어드레스를 1 인크리멘트하고, 그 판독 어드레스에 따라 하나의 샘플값 데이터를 판독하도록 하면 된다. 이 경우, 메모리에 기억하는 변조파형의 형상은 임의이어도 되고, 예를 들면 규칙적인 정현(正弦)파 등에 한하지 않고, 불규칙적인 요동파형이어도 된다. 또는, 변조파형발생용인 저주파 발진기(LFO)를 사용해도 된다. 또는, 난수 발생기를 사용하여, 발생한 난수 데이터를 그대로 또는 적시 가공하여 변조파형신호의 이번회의 샘플값 데이터로 해도 된다. 그 경우는, 이 TSC제어에 의해 랜덤변조제어가 행해지게 된다. 다음의 스텝(S32)에서는, 발생한 변조 파형신호의 샘플값에 따라 신축비 설정정보를 발생한다. 이 신축비 설정정보는, 제어레지스터(113)(도1)를 경유하여 파형 발생부(111)에 입력되며, 신축비(SCR)의 데이터로서 가상판독 어드레스 연산기(17)(도2)에 직접으로 또는 변환부(18)(도2)를 경유하여 입력된다. 스텝 S32를 생략하고, 변조파형신호의 샘플값 데이터를 변환부(18)에 입력하여, 그 변조파형신호에 대응하는 신축비(SCR)의 데이터를 변환부(18)로부터 발생하도록 해도 된다.
가상판독 어드레스 연산기(17)에서는, 상기와 같이 변조파형신호에 대응하여 변화하는 신축비(SCR)데이터에 의해 「피치정보」를 변조하며, 이렇게 하여 변조한 「피치정보」에 따른 레이트로 변화하는 가상판독 어드레스(VAD)를 발생한다. 이 가상판독 어드레스(VAD)는 예를 들면 도18에 도시된 바와 같이 주기적으로 또는 불규칙적으로 요동변조된 것이다. 그리고, TSC제어에 의해 가상판독 어드레스(VAD)의 요동에 대응하여 계속적으로 수치 시프트되는 실제판독 어드레스(RAD)가 「피치」정보에 대응하는 기울기를 유지하면서 도18에 예시하는 바와 같이 실제판독 어드레스 연산기(16)로부터 발생된다. 이것에 의해, 파형 메모리(10)에 기억한 파형 데이터의 시간축위치를 전후방향으로 갔다 되돌아왔다 점프를 하면서, 악음 피치에 대응하는 일정 레이트로, 판독함으로써, 그 기억 파형의 시간축의 신장 및 압축을 반복하는 듯한, 특수한 변조제어를 실시한 파형을 재생할 수 있다. 따라서, 이와 같은 특수한 변조제어를 예를 들면 루프부 파형의 반복 판독시에 적용하면, 같은 루프부 파형을 반복 판독하는 경우에 있어서도 실제로 재생 판독되는 파형은 TSC제어에 의한 변화를 붙은 것으로 할 수 있으며, 반복에 의한 단조로움을 해소할 수 있다.
물론, 이 변조제어는, 루프부 파형을 판독할 때의 단조로움의 해소를 목적으로 하는 경우에 한하지 않고, 다를 경우에도 적시 응용할 수 있다. 예를 들면, 발생음에 대하여 적극적으로 또는 자유자재로 “요동”을 부여하여, 특수한 악음 효과를 실현할 수 있는 경우에 응용할 수 있다.
〔여러 가지 특수주법으로의 TSC제어의 응용〕
이 TSC제어를 실현하는 전자악기는, 건반(101A)이나 연주조작자군(101B)을 구비하지 않고, MIDI인터페이스장치를 구비하며, 필요한 연주정보를 MIDI정보의 형태로 외부로부터 수취하여, 이것에 의거하여 악음파형을 발생하는 타입의 것이어도 물론 좋다. 그 경우, 도1의 전자악기의 구성은 도21과 같이 변경해도 된다. 도21에서는, 건반(101A)이나 연주조작자군(101B)의 대신에, MIDI인터페이스 장치(101)를 구비해 두며, 이 MIDI인터페이스장치(101)를 통하여 수취한 연주정보에 의거하여, 제어부(102) 및 음원부(103) 등에 의해 TSC제어에 의거하는 악음재생처리를 행한다. 이 경우, 비브라토, 트레몰로, 슬러, 피치벤드 등의 각종 주법을 지시하는 정보도 MIDI정보에 부여된다. 그리고, 파형 발생부(111) 내의 파형 메모리(10)(도2)에는, 상술한 대로, TSC제어에 적합하도록 구간 분할관리한 상태로, 이들의 각 주법에 대응하는 복수 주기 파형 데이터를 각각 기억해 둔다. 물론, 건반(101A)이나 연주조작자군(101B)과 함께 MIDI인터페이스장치(101)를 구비해도 된다.
또한, 현재의 MIDI의 표준규격으로는, 「각종 주법을 지시하는 정보」를 MIDI정보에 포함하도록 되어 있지 않으므로, MIDI의 익스클루시브(exclusive) 메시지로서 「각종 주법을 지시하는 정보」를 주도록 하면 된다. 익스클루시브 메시지란, 각 메케니즘에 고유의 기능 정보를 전송하기 위해 MIDI규격으로 결정된 데이터이다.
도21의 구성에 있어서는, 제어부(102)가 실행하는 처리프로그램의 메인루틴에 있어서, MIDI인터페이스장치(101)를 통하여 MIDI 정보가 입력됐는지 여부를 체크하는 처리를 포함하고 있으며, MIDI 정보가 입력된 때, 도22와 같은 MIDI입력 이벤트처리를 실행한다.
도22의 MIDI입력 이벤트처리에 있어서는, 우선, 입력된 MIDI정보를 취입하며(스텝S40), 이 입력된 MIDI정보의 내용이 어떻게 있는지를 판정한다(스텝S41). 입력된 MIDI정보가 「노트 온 이벤트」이면, 스텝S42로 가, 주법에 따른 「노트 온 처리」를 행한다. 즉, 도25의 인터럽트처리에 의해 판정된 주법에 적합한 파형을 사용하여 「노트 온 처리」를 행한다. 이 스텝S42에 있어서 「노트 온 처리」의 일례는 도23에 도시되어 있다.
입력된 MIDI정보가 「프로그램 체인지(PC)」이면, 스텝S43으로 가, 그 「프로그램 체인지」의 정보의 내용에 따른 프로그램 체인지처리를 행한다.
또, 입력된 MIDI정보가, 발음중인 악음을 리얼 타임제어하는 데이터에 관한 것이면, 스텝S44로 가며, 그 「리얼 타임제어 데이터」의 내용에 따른 「리얼 타임 제어데이터 수신처리」를 행한다. 예를 들면, 입력된 MIDI 정보가 「콘트롤 체인지」정보이면, 이 스텝S44로 가며, 그 「콘트롤 체인지」의 정보의 내용에 따른 「리얼 타임 제어데이터 수신처리」를, 주법에 따라 행한다. 이 스텝S44에서는, 도25의 인터럽트들기처리에 의해 판정된 주법에 적합한 파형을 사용하여 「리얼 타임제어데이터 수신처리」를 행한다. 또, 「콘트롤 체인지」정보에 한하지 않고, 그 밖의 MIDI메세지에 관한 처리에서도, 발음중인 악음을 리얼 타임제어하는 제어 데이터를 수신한 경우의 처리로 해서, 이 스텝S44의 처리를 행한다. 예를 들면, 통상의 MIDI규격으로는 「피치벤드」는 「보이스 메시지」에 포함되어 있으므로, 수신한 MIDI메세지가 「보이스 메시지」이어도, 「피치벤드」와 같이 악음을 리얼 타임제어하는 제어데이터를 포함하고 있는 경우는, 스텝S44의 처리를 행한다. 이 스텝S44에 있어서 「리얼 타임제어 데이터 수신처리」는, 일례로서 도24에 도시하는 바와 같은 처리루틴을 사용할 수 있다.
입력된 MIDI정보가 기타 정보이면, 스텝S45로 가, 그 정보에 적합한 각각의 처리를 행한다.
도23에 도시하는 「노트 온 처리」는, 도12의 「키 온 이벤트」처리와 거의 같은 처리로 이루어진다. 즉, 우선, 그 노트 온 이벤트에 관한 음(즉 발음지시된 음)의 음고를 나타내는 정보(예를 들면 키 코드(KC))를 노트 넘버 레지스터(NN)에 스토어하여, 그 노트 온 이벤트에 관한 음의 이니셜 터치 강도를 나타내는 정보(즉 벨로시티 데이터)를 벨로시티 레지스터(VEL)에 스토어 한다(스텝S46). 다음에, 그 노트 온 이벤트에 관한 음의 악음발생처리를 행하는 음원 채널(ch)로서, 복수의 채널 중 어떤 것을 선택하여 할당하는 처리를 행하며, 할당한 채널의 번호를 할당채널 레지스터(ASR)스토어한다(스텝S47).
다음에, 할당 채널 레지스터(ASR)에 스토어한 채널 번호에 의해 지시되는 제어레지스터(113)(도21)에, 현재 선택되어 있는 음색 및 주법 등에 대응하는 파형선택정보나 인벨럽정보 등, 악음발생에 필요한 각종의 정보를 설정한다(스텝S48).
이 파형선택정보란, 상술한 대로, 그 채널의 악음 발생에 사용하는 파형 데이터를 특정하는 정보이며, 파형 메모리(10)에 기억되어 있는 복수의 파형 데이터 중에서 소요의 파형을 지정하는 정보이다. 또, 인벨럽정보란, 상술한 대로, 음량 등의 제어용인 절선상 인벨럽을 형성·발생하기 위한, 각 절선후와의 목표값 데이터나 변화 레이트(절선의 기울기) 등을 나타내는 정보이다. 예를 들면, 도2에 도시된 키 코드(KC), 음색코드(TC), 기타 정보(INF) 중 어떤 것 등이 제어레지스터(113)에 설정되는 정보에 상당한다. 또, 할당 채널 레지스터(ASR)의 내용에 대응하여, 노트 넘버 레지스터(NN)의 기억내용에 의거하여 해당 채널에 할당된 음의 음고주파수에 대응하는 「피치정보」 등도 제어레지스터(113)에 설정된다. 또한, 인벨럽형성용인 각 목표레벨데이터나 변화 레이트 데이터 등도, 할당 채널 레지스터(ASR)의 내용에 대응하여 제어레지스터(113)에 설정된다. 채널별로 악음신호를 발생하기 위해 구체적으로 어떠한 정보를 사용하는지는 공지이므로, 이들의 정보류에 관해서는 특별히 상세하게 설명하고 있지 않지만, 어떠한 설계수단이라도 된다. 이와 같이 제어레지스터(113)에 설정된 각 채널 마다의 각종 데이터/정보가 파형발생부(111)와 음량제어부(112)에 부여된다.
이 스텝S48에서는, 도25의 인터럽트처리에 의해 판덩된 주법에 의거하여, 소요 처리를 행한다. 즉, 판정된 주법에 대응하는 전용 파형을 선택하기 위한 상기 파형선택정보를 발생하며, 이것을 상기와 같이 대응하는 채널의 제어레지스터(113)에 설정한다. 예를 들면, 판정된 주법이 특수주법이 아닌 경우는, 파형선택정보로서 소정의 노멀(normal)파형(특수주법에 대응하고 있지 않은 통상의 파형)을 선택하는 것을 설정한다. 또, 판정된 주법이 비브라토 트레몰로 등인 경우는, 파형 선택정보로서 소정의 변조효과(비브라토 또는 트레몰로 등)가 부여되어 있는 파형을 선택하는 것을 설정한다. 또, 판정된 주법이 피치벤드인 경우는, 파형선택정보로서 소정의 피치벤드가 부여되어 있는 파형을 선택하는 것을 설정한다. 또, 판정된 주법이 슬러인 경우는, 파형 선택정보로서 소정의 슬러가 부여되어 있는 파형을 선택하는 것을 설정한다. 또, 판정된 주법이 기타의 주법인 경우는, 파형선택정보로서 그 기타 주법에 대응하는 소요의 파형을 선택하는 것을 설정한다.
마지막으로, 할당 채널 레지스터(ASR)의 내용에 대응하여 발음을 지시하는 「노트 온」신호를, 제어레지스터(113)를 경유하여 파형발생부(111)와 음량제어부(112)에 준다(스텝S49). 파형발생부(111)와 음량제어부(112)에서는, 이 「노트 온」신호에 따라 파형의 판독 처리와 음량 인벨럽의 발생처리를 스타트한다. 파형발생부(111)와 음량제어부(112)에 있어서 이들의 처리는 각 채널마다 시분할로 행해진다.
도24는, 도22의 스텝S44의 「리얼 타임제어 데이터 수신처리」의 일례를 도시하는 것이며, 발음중인 악음을 리얼 타임제어하는 데이터를 수신한 경우에 이 처리가 행해진다.
도24에 있어서, 먼저, 해당 수신한 제어데이터를 취입하여(스S50), 해당 제어데이터가 「피치벤드」데이터인지를 조사한다(스텝S51). 이 「피치벤드」데이터란, 노트 넘버 레지스터(NN)에 스토어된 악음의 지정음고로부터의 피치차이량을 지정하는 데이터이다. 스텝S51이 YES이면, 스텝S52로 가, 노멀파형(피치변동제어가 미리 부여되어 있지 않은, 통상의 파형)을 사용하여 그 「피치벤드」데이터에 의거하여 피치제어를 행할지 여부를 체크한다. 피치변동제어가 미리 부여되어 있는 전용 파형(예를 들면, 비브라토부여 종료파형 이나, 슬러부여 종료파형 , 피치벤드부여 종료파형 등)을 사용할 경우는, 스텝S52는 NO이며, 스텝S53으로 가, 현재 판정되어 있는 주법(예를 들면, 비브라토주법, 슬러주법, 피치벤드주법 등)에 전용 피치변동부여 종료파형 을 선택하는 파형 선택정보제어레지스터(113)에 설정하며, 발음중의 악음의 파형을, 「피치벤드」데이터에 따른 그 피치변동부여 종료파형 중의 임의의 파형으로 교체하기 위한 처리를 행한다. 즉, 피치변동부여 종료파형 의 기억파형 데이터에 있어서는, 그 시간축위치에 따라 소요 피치변동이 부여되어 있으므로, 현재의 「피치벤드」데이터가 지시하는 피치차이량에 따라, 피치변동부여 종료파형 의 기억파형 데이터에 있어서 소요 위치(가상판독 어드레스)를 리얼 타임으로 지정함으로써, 그 피치차이량에 대응하는 피치변동이 부여된 파형 데이터를 판독할 수 있다(즉, 각 파형 데이터의 시간축상에서 그 피치차이량에 따른 피치를 가지는 파형 부분을 선택적으로 지정하여 판독한다.
한편, 피치변동부여 종료파형을 사용하지 않고, 노멀파형을 판독하는 경우는, 스텝 S52는 YES이며, 스텝 S54로 간다. 스텝 S54에서는, 「피치벤드」데이터가 지정하는 피치차이량에 따라서, 발음중인 악음의 피치정보를 변조하고, 판독 어드레스 그것을 변조함으로써, 피치변동제어된 파형데이터를 판독한다.
수신한 제어데이터가 「피치벤드」데이터가 아닌 경우는, 스텝S51의 NO로부터 스텝S55로 가, 발음중인 악음을 리얼 타임제어하기 위한, 기타 처리를 행한다. 예를 들면, 해당 제어데이터가 「트레몰로」용인 제어데이터이면, 트레몰로에 관한 상기 스텝(S52, S53, S54)과 같은 또는 유사한 처리를 행한다. 즉, 해당 「트레몰로」제어데이터에 대응하는 전용의 「트레몰로부여 종료파형 」을 선택하며, 또한 그 「트레몰로」제어데이터가 나타내는 트레몰로제어량에 대응하는 파형 데이터 기억위치의 파형으로 교체하는 등의 처리를 행한다. 또한 그 밖의 제어 데이터로서는, MIDI의 「보이스 메시지」에 포함되는 「애프터 터치」가 있으며, 「콘트롤 체인지」에 포함되는 「모듈레이션 딥스」, 「브레스데이터」, 「익스프레션(expression)」 등이 있으며, 이들도 제어대상으로 된다. 또한, 이들의 기타제어데이터의 수신에 의거하는 처리에 있어서는, 그것에 따라 파형의 교체를 행하도록 해도 되며, 또, 반드시 파형교체를 행하지 않아도 된다.
도25에 도시하는 인터럽트처리에 의해, 주법의 판정을 행하며, 판정한 주법에 적합한 소요 파형이 선택된다. 또한, 이 도25의 인터럽트처리는, 다른 처리에 비하여 낮은 우선도로 행하도록 해도 된다.
우선, 현재까지 입력된 MIDI정보에 의거하여, 어떠한 주법으로 재생연주를 행해야 할지를 판정한다(스텝S60). 그리고, 이번에 판정한 주법이 현재의 주법과 다른지 여부를 체크한다(스텝S61). 주법에 변화가 없으면, 인터럽트를 종료한다. 주법에 변화가 있으면, 새로운 주법이 어떻게 있는지를 판정하며(스텝S62), 그것에 따른 파형선택처리를 행한다(스텝S63∼S67).
여기에서, 스텝S60에서의 판정예에 관하여 설명한다. 입력된 복수의 MIDI정보의 시간적 연결을 분석함으로써, 어떤 주법으로 연주하고 있는지 또는 해야 하는 지를, 분명하게 또는 어느 정도 판별할 수 있다. 현재까지 입력된 MIDI 정보란, 그때까지 입력된 소정 기간 분 또는 소정 개수 분의 MIDI정보이다. 또는, 입력한 MIDI정보를 소정 시간 분 지연시켜 지연후의 MIDI 정보로 악음제어하도록 하면, 과거와 미래의 소정 기간 분 또는 과거와 미래의 소정 개수 분의 MIDI정보로부터 주법을 판정하도록 할 수도 있다.
스텝S62에서 새로운 주법이 특수주법은 아니라고 판정된 경우는, 스텝S63으로 가, 제어레지스터(113)(도21)내에 설정하는 파형선택정보로서 소정의 노멀파형(특수주법에 대응하지 않는 통상의 파형)을 선택하는 것으로 설정하고, 이것에 의해, 발음중인 악음의 파형을 그 노멀파형으로 되돌리도록 한다. 새로운 주법이 비브라토 또는 트레몰로 등인 경우는 스텝S64로 가, 파형선택정보로서 소정의 변조효과(비브라토 또는 트레몰로 등)가 부여되어 있는 파형을 선택하는 것으로 설정하며, 이것에 의해, 발음중인 악음의 파형을 그 변조부여 종료파형으로 설정하도록 한다. 새로운 주법이 피치벤드인 경우는 스텝S65로 가, 파형선택정보로서 소정의 피치벤드가 부여되어 있는 파형을 선택하는 것으로 설정하며, 이것에 의해, 발음중인 악음의 파형을 그 피치벤드부여 종료파형으로 설정하도록 한다. 새로운 주법이 슬러인 경우는 스텝S66으로 가, 파형선택정보로서 소정의 슬러가 부여되어 있는 파형을 선택하는 것으로 설정하며, 이것에 의해, 발음중인 악음의 파형을 그 슬러부여 종료파형으로 설정하도록 한다. 새로운 주법이 기타 주법의 경우는 스텝S67로 가, 파형선택정보로서 그 기타 주법이 부여되어 있는 소요 파형을 선택하는 것으로 설정하며, 이것에 의해, 발음중인 악음의 파형을 그 기타 주법부여 종료파형으로 설정하도록 한다. 또한, 도25의 각 스텝의 처리는, 각 채널마다 각각 행해진다.
또한, 스텝S61에서 변화있다고 판정된 주법은, 그후에 스텝S61에서 더욱 변화있다고 판정되기까지, 계속된다. 하나의 주법이 계속기간중에 입력한 노트 온에 의한 발음에서는, 상술한 도23의 노트 온 처리의 스텝S48의 처리에 의해, 그 주법에 따른 파형 데이터가 악음 생성용인 파형 데이터로서 지정된다. 악음의 발음개시후, 주법에 변화가 있던 경우는, 스텝S62∼S67의 처리에 의해, 발생 도중의 악음에 사용하는 파형 데이터를 새로운 주법에 따른 파형 데이터로 변경한다. 발음중인 악음의 생성에 사용하는 파형 데이터를 변경하는 경우에도, 주부 2계열에서의 파형 데이터 판독과 크로스페이드합성부를 사용한 크로스페이드합성을 적용할 수 있다. 그 경우, 한쪽계열에서 과거에 사용하고 있던 파형 데이터를 판독하면서, 다른 쪽 계열에서 새로운 주법에 따른 파형 데이터의 판독을 개시하며, 크로스페이드합성부에 의해 크로스페이드합성을 행하면, 변경의 전후 파형 데이터를 원활하게 접속할 수 있다.
다음에, 몇 개의 주법에 대응하는 파형 데이터의 기억예 및 재생예에 관하여 설명한다.
도26의 (a)는 어떤 음고(A)에 대응하는 파형 데이터의 기억예, (b)는 어떤 음고(B)에 대응하는 파형 데이터의 기억예를 나타내며, 각각, 예를 들면 도19의 예와 같이, 어택부 파형과 루프부 파형을 가지고 있다. (c)는 음고 A로부터 음고 B로의 슬러변화에 대응하는 파형, 즉, 음고 A로부터 B로 슬러변화할 때의 경과적인 변화부분의 슬러부여 종료파형 의 기억예를 나타낸다. (d)는 음고 A에 대응하는 피치벤드변화용인 파형의 기억예를 나타낸다. 이것은, 피치가 벤드하여 가는 부분에 대응하는 벤드변화 파형과, 벤드된 피치를 유지하는 부분에 대응하는 루프용 파형을 포함하고 있다. 또한, 점선으로 나타낸 바와 같이, 원래의 피치로 되돌아 갈 때에 사용하는 되돌아가기 전용의 벤드변화파형을 포함하고 있어도 된다. 되돌아가기 전용인 벤드변화파형을 가지지 않는 경우는, 루프용 파형을 판독하면서 원래의 피치로 되돌리는 벤드제어를 행하면 된다.
도27은 슬러주법이 행해지는 경우의 파형판독예를 도시한다. (a)는, 먼저 음고 A의 노트 온 지시에 따라서, 파형 메모리(10)로부터 음고 A에 대응하는 파형 데이터의 어택부 파형을 판독하며, 그것으로부터 그 루프부 파형을 반복 판독하고, 그 한창인 때에, 음고 B에 슬러주법으로 변화시키는 지시가 이루어진 경우의 파형판독예를 나타내고 있다. 이 슬러 지시에 따라 소정의 슬러 변화파형(도26(c))으로 교체하여 파형 메모리(10)로부터 판독하며, 이 슬러변화파형의 판독이 종료하면, 음고 B의 루프부 파형으로 교체하여 파형 메모리(10)로부터 판독한다. (b)는, 슬러 변화파형의 판독인 때에 TSC제어에 의한 시간축 신축이 없는 경우의 판독예를 나타내고 있다. (c)는, 슬러변화파형의 판독인 때에 TSC제어에 의한 시간축의 압축을 행할 경우의 판독예를 나타내고 있다. (d)는, 슬러변화파형의 판독인 때에 TSC제어에 의한 시간축의 신장을 행할 경우의 판독예를 나타내고 있다. 이 TSC제어를 채용함으로써, 슬러기간에서의 피치변화의 범위(음고 A로부터 B까지의 피치변화)는 변경시키지 않고, 그 시간만을 가변제어할 수 있다.
도28은 피치벤드주법이 행해지는 경우의 파형판독예를 도시한다. (a)는, 먼저 음고 A의 노트 온 지시에 따라서, 파형 메모리(10)로부터 음고 A에 대응하는 파형 데이터의 어택부파형을 판독하며, 그것으로부터 그 루프부 파형을 반복 판독하고, 그 한창인 때에, 피치벤드가 지시된 경우의 파형판독예를 나타내고 있다. 이 피치벤드지시에 따라서 소정의 벤드변화파형(도26(d))으로 교체하여 파형 메모리(10)로부터 판독하고, 이 벤드 변화파형의 판독이 종료하면, 루프용 파형으로 교체하여 판독하면, 또한 귀로용인 벤드변화파형으로 교체하여 판독한다. 귀로벤드가 끝나면, 원래의 음고 A의 루프부 파형의 판독으로 되돌아간다. (b)는, 피치벤드용인 각 파형의 판독인 때에 TSC제어에 의한 시간축 신축이 없는 경우의 판독예를 나타내고 있다. (c)는, 피치벤드용인 각 파형의 판독인 때에 TSC제어에 의한 시간축의 신장이나 압축을 적시의 범위에서 각각 행하는 예를 나타내고 있다. 이 TSC제어를 채용함으로써, 피치벤드기간에서의 피치변화의 범위(음고 A로부터 소정 피치까지의 피치변화)는 변경시키지 않고, 그 시간만을 가변제어할 수 있다.
〔가상판독 어드레스에 의한 TSC제어의 변형예〕
도2에 있어서, 가상판독 어드레스 연산기(17)로부터는 가상판독 어드레스(VAD) 그것을 출력하지 않고, 현재의 가상판독 어드레스(VAD)가 속하는 구간(j)(이것을 J’로 나타낸다)을 나타내는 데이터를 출력하도록 하며, 교체제어회로(14)에 있어서는, 실제판독 어드레스(RAD)와 가상판독 어드레스(VAD)를 비교하는 것으로 대신하여, 현재의 실제판독 어드레스(RAD)의 구간(j) 과 가상판독 어드레스(VAD)의 구간(j’)을 비교하여, 이 비교결과에 의거하여 교체지시를 발생하도록 해도 된다. 즉, 교체제어회로(14)에 있어서는 어드레스 단위가 아닌 구간단위로의 비교를 행한다.
이 경우는, 실제판독구간(j)과 가상판독구간(j’)의 차 즉 괴리가 소정 구간수를 넘은 경우, 교체지시를 내도록 한다. 예를 들면, 1구간 이상의 차 즉 괴리가 발생한 경우는 교체지시를 내도록 한다. 예를 들면, 도3과 같이 가상판독 어드레스(VAD)의 기울기가 실제판독 어드레스(RAD)의 기울기보다도 큰 경우는, j’≥ j + 1로 된 때, 교체지시를 실제판독 어드레스 연산기(16)에 주고, 실제판독 어드레스 연산기(16)에서는, 이 교체지시에 의거하여, 구간(j)을 다음의 구간으로 교체할 때에, j ← j + 1,로 증가하는 갱신을 행하는 것은 아니고, 가상판독 구간(j’)을 이용하여
j ← j’+ 1
으로 세트하며, 실제판독 구간(j)을 보다 진행하는 방향으로 시프트(점프)하도록 제어한다. 마찬가지로, 도4와 같이 가상판독 어드레스(VAD)의 기울기가 실제판독 어드레스(RAD)의 기울기보다도 작은 경우는, j’≤ j - 1로 된 때, 교체지시를 실제판독 어드레스 연산기(16)에 부여하며, 실제판독 어드레스 연산기(16)에서는, 이 교체지시에 의거하여, 구간(j)을 다음의 구간으로 교체할 때에, j ← j - 1로 1감소하는 갱신을 행하는 것은 아니고, 가상판독 구간(j’)을 이용하여
j ← j’- 1
로 세트하며, 실제판독 구간(j)을 지연시키는 방향으로 시프트(점프)하도록 제어한다. 물론, 이것에 한하지 않고, 기타 제어의 수단도 가능하다.
〔TSC제어의 다른 실시예〕
이 발명에 관한 TSC제어는, 상술한 바와 같은 가상판독 어드레스를 사용하는 방식에 한하지 않고, 이하 서술하는 바와 같이, 패턴화한 몇 개의 크로스페이드법을 「표준의 재생시간에 대한 신축비」에 따라 선택적으로 조합시켜 사용하는 방식에 의해서도 실시할 수 있다.
이하에서 설명하는 실시예에 있어서, 전자악기의 전체 구성예는 도1 및 도21의 어떤 쪽의 구성을 이용해도 된다. 파형발생부(111)는, 도29와 같은 개략 구성인 것으로 변경한다.
도29에 있어서, 파형발생부(111)는, 파형 메모리판독부(타임신축기능부여)(201), 및 CRate발생부(202)를 구비하고 있다. 파형 발생부(111)는, 제어레지스터(113)(도1 또는 도21)를 경유하며, 파형발생지시인 「노트 온」신호와 발생해야 하는 악음의 음고를 나타내는 「피치정보」를 입력함과 동시에, 기타 데이터로서 음색정보 등 (도2의 예와 마찬가지로, KC, TC, INF 등)을 입력하여, 그들이 입력한 정보에 의거하여 파형 데이터를 발생한다.
파형발생부(111)에는, 「표준의 재생시간에 대한 신축비」를 지시하는 패러미터가 입력한다. 이 패러미터는 「표준의 재생시간」에 대한 신축비를 지정하지만, 실제로 타임신축기능을 실현하는 파형 메모리 판독부(201)에서는, 지정된 피치로 판독한 경우의 시간길이(소망 피치에 따라 도5의 파형(1402, 1403)과 같이 시간길이가 변화한다)를 기준으로 한 신축비(시간압축비)(CRate)에 의거하여 타임신축제어를 행하므로, 패러미터를 변환하기 위한 CRate발생부(202)가 설치되어 있다. 즉, CRate발생부(202)는, 「피치」 및 「표준의 재생시간에 대한 신축비」를 입력하며, 피치에 따라 변화하는 재생시간을 기준으로 한 시간압축비(CRate)를 산출하여 파형 메모리 판독부(201)에 출력한다.
도30은, 도29의 파형 메모리 판독부(201)의 상세를 도시한다. 파형 메모리 판독부(201)를 설명하기 전에, 본 실시의 형태에 있어서 타임신축기능 즉 TSC제어의 기본 개념을 설명한다.
우선, 상술한 시간압축비(CRate)에 관하여 설명한다. 시간압축비(CRate)는, 타임 신축기능을 실현하기 위해서 새롭게 도입한 패러미터이다. 시간압축비(CRate)는, 「출력파형의 재생시간(시간길이)을, 원래의 파형(피치제어된 것)의 재생시간(시간길이)의 1/CRate로 하는 것」을 의미하는 패러미터이다. 물론, CRate는 일정값으로는 한하지 않고, 파형 판독의 도중(생성하는 악음의 상승으로부터 하강의 도중)에서도 리얼 타임으로 변경가능하므로, 국소적으로 보아 상기한 의미가 있다고 하는 것이다. 출력파형은, CRate = 1.0이면 등배, CRate 〉1.0이면 압축, CRate〈 1.0이면 신장되게 된다.
다음에, 파형 메모리 판독부(201)내의 파형 메모리(301)(도30)에 기억되어 있는 파형 데이터에 관하여 설명한다. 이 파형 메모리(301)는, 상술한 도2의 파형 메모리(10)와 마찬가지로, 각종의 악음특성에 대응하여 각각 복수 주기로 이루어진 파형 데이터를 기억하는 것이며, 기억된 각 파형 데이터는 미리 복수의 「구간」으로 분할하여 관리되도록 되어 있다. 상술과 마찬가지로, 복수 주기의 파형 데이터는 미리 분석되며, 복수 주기의 중에서 위상이 서로 같아지는 포인트(동 위상 포인트)가 각 구간의 스타트위치로서 결정되어 있다. 역으로 말하면, 그와 같은 동 위상 포인트를 몇 개 발견하여, 그 위치에서 구획지어 복수의 「구간」을 정의한다. 하나의 「구간」중에, 파형 데이터의 복수의 주기가 포함되어 있어도 된다. 요컨대, 「구간」의 경계위치는 상기와 동 위상 포인트이며, 어떤 「구간」도 다른 「구간」으로 원활하게 연결될 수 있도록 「구간」을 정의하면 된다. 상기 동 위상 포인트란, 파형 진폭값이 일치하며, 그 위치에서의 기울기가 일치하는 포인트이다. 또한, 구간은, 파형 데이터의 기본 피치에 대응한 피치주기와는 반드시 일치하지 않는다. 또는, 일치시키지 않아도 된다.
구체적으로 설명한다. 상기 동 위상 포인트의 어드레스를 Ai(정수부(Integer) + 소수부(Fraction)로 이루어진다)로 한다. i는 구간의 번호, Ai는 I번째인 구간의 스타트 포인트의 어드레스이다. 후술하는 인덱스카운트(IC)는, 이 구간의 번호(i)를 카운트하고 있다. 각 포인트는 서로 위상이 같으므로, 하나의 구간을 종료의 포인트까지 판독하여, 계속 그것과는 별도의 포인트로부터 시작되는 임의 구간의 판독을 행했다고 해도, 파형이 비교적 원활하게 연결된다. 본 발명의 실시형태에서는, 후술하는 바와 같이, 두 개의 구간을 연결하는데, 또한 크로스페이드를 행하므로, 파형 간의 접속이 매우 스무스하다.
또한, 파형 메모리에는, 구간의 사이즈 데이터로서, Ti = Ai + 1 - Ai를 기억한다. 즉, i + 1번째의 구간인 스타트 포인트로부터, i번째의 구간인 스타트포인트를 감산한 값이 Ti이다. 이와 같이 하여 사이즈를 기억하면, Ai를 그대로 기억하는 것에 비하여, 기억용량을 감소할 수 있다. 구간의 사이즈는, 상술한 Ti로 나타내어지므로, 당연히 샘플수 단위(단, 정수부 + 소수부로 나타낸다)로 나타내어지게 된다.
각 구간의 스타트위치의 어드레스(Ai)는, 이하의 식으로 산출된다.
Ai = A0 +∑T
여기에서, A0은 파형 데이터의 스타트 어드레스(0번째의 구간인 스타트 포인트의 어드레스), ∑T는 Tj를 j =0, 1, 2, …, i - 1에 관하여 누산한 것이다.
본 실시예에 있어서 타임신축제어 즉 TSC제어의 기본을 간단히 설명한다. 본 실시예에 있어서, 타임신축처리의 시간적인 단위로 되는 것은 「재생주기」이다. 이 「재생주기」란, 1구간에 관한 재생처리에 필요한 시간에 상당하는 개념이다. 「재생주기」는, 파형 메모리상의 파형 데이터의 타임신축처리의 시간단위길이이며, 샘플수로는 나타내지 않는다. 타임신축제어의 기본은, 시간압축비(CRate)의 값에 의한 이상적인 판독 포인트와 실제의 판독 포인트의 차분을 연산하여, 그 차분량에 따라, 재생주기 마다 소정의 처리를 실행하여, 순차 추종시킨다고 하는 것이다. 소정의 처리란, 집약하면, 재생시간을 신장하기 위한 스트레치처리(이하, S처리라 한다), 재생시간을 그대로 하는 노멀처리(이하, N처리라고 한다), 재생시간을 압축하는 콤프레스처리(이하, C처리라고 한다) 중의 어떤 것을 행할 지를 결정하여, 각 재생주기로 그 결정한 처리를 행해 가는 것이다. 이와 같은 타임신축제어(이하, TSC제어라 한다)의 상세는 후술한다. 또한, 주기성이 없는 부분의 데이터에 관해서는,TSC제어를 무효화하는 것이 유효하므로, TSC제어의 인에이블(Enable)/디스에이블(Disable)을 콘트롤할 수 있도록 하면 된다.
도31은, 본 실시예에 관한 TSC제어의 기본개념을 설명하기 위한 도이다. 411은 파형 메모리에 기억되어 있는 파형 데이터의 일례를 나타내며, 412∼416은 그 판독 예를 나타낸다. 파형 데이터(411)는, A∼F의 여섯 개의 구간으로 이루어진다. 세로로 몇 개가 끌린 점선(401)은, 소정의 피치로 재생한 경우의 각 재생주기의 구획선을 나타낸다. 따라서, 가로축은, 샘플길이가 아니라, 신축처리의 시간경과를 나타내고 있지만, 그러나, 절대적인 시간을 나타내는 것은 아니다. 파형 데이터(411)의 각 구간 A∼F의 밑에 딸린 숫자는, 소정의 재생순서를 나타내는 번호이다. 또한, 도31에서는, 각 재생주기의 구획선을 나타내는 점선(401)이 등간격으로 늘어져 있지만, 이것은 설명의 편의를 위함이며, 각 재생주기의 시간길이는 각 구간의 사이즈에 따라 여러 가지로 다를 수 있다. 도, 각 판독예(412∼416)에 관해서도, 편의상, 각 재생주기가 등간격인 것처럼 도시하고 있지만, 각각의 실제의 시간길이는 서로(가로축방향으로도, 세로축방향으로도) 다를 수 있다.
412∼416의 각 블록은, 시간축 신축의 처리 단위이며, 각 블록(재생주기)마다 S처리, N처리, C처리의 어떤 것을 실행한다. 412∼416은, 6구간의 파형 데이터(411)를 시간압축비(CRate)에 따라 압축 신장한 예이다. 도31의 각 재생주기로는, 파형 메모리(301)에 기억되어 있는 파형 데이터(예를 들면, 6구간의 파형 데이터(411))로부터, 크로스페이드합성을 위해 2계열에 붙어 각각 소정 구간의 파형을 판독하도록 하고 있다. 2계열에서 각각 판독하는 구간은, 같아도 되며, 달라도 된다. 이와 같이, 본 예에서는, 각 재생주기에 있어서, S처리, N처리, C처리의 어떤 실행인지에 관계없이 끊임없이 2계열(이하, 제1계열 및 제2계열이라 한다)의 크로스페이드에 의해 출력파형을 생성한다. 압축 신장한 각 파형(412∼416)의 각 재생주기를 나타내는 직사각형 도형 중에 우측 위의 대각선을 기재하며, 그 대각선으로 나누어진 3각형의 영역에 구간을 나타내는 A∼F의 기호를 기재했지만, 이것은 그 두 개의 구간을 이용하여 2계열의 크로스페이드를 행하는 것을 나타내고 있다. 특히, 대각선의 상측 3각형 내에 기재한 구간(제1계열)은, 페이드 아웃하며, 대각선의 하측 3각형내에 기재한 구간(제2계열)은 페이드 인하는 것을 나타낸다. 또, 각 주기의 직사각형의 상측에 기재한 「S」, 「N」, 「C」의 기호는, 그 주기로 S처리, N처리, C처리를, 각각 행하는 것을 나타낸다. 제1계열의 페이드 아웃, 제2계열의 페이드 인에 의한 크로스페이드는, 각 재생주기의 안에서 종료한다.
판독예 412는 CRate=2.0인 압축의 경우이다. 제1주기째는, 압축을 위한 C처리, 즉 제1계열에서 구간(A)을 판독하며, 제2계열에서 구간 B를 판독하며, 이들을 크로스페이드하여 출력파형을 생성하는 처리를 행한다. 제2주기째는, 제1계열에서 구간 C를 판독하며, 제2계열에서 구간 D를 판독하며, 이들을 크로스페이드하여 출력파형을 생성하는 C처리를 행한다. 제3주기째는, 제1계열에서 구간 E를 판독하며, 제2계열에서 구간 F를 판독하며, 이들을 크로스페이드하여 출력파형을 생성하는 C처리를 행한다. 또한, 크로스페이드하는 재생주기의 시간길이는, 제2계열의 구간이 판독되는 시간(즉 페이드 인측의 판독시간)으로 하고 있다. 따라서, 판독예 412에서는, 구간 B, D, F의 파형 데이터가 소망의 피치로 판독되는 시간길이가 각각의 재생주기의 길이로 된다. 따라서, 예를 들면 각 구간은 같은 정도의 길이로 되도록 설정되어 있으면, 어떤 소망의 피치로 판독되는 생성출력파형(412)의 재생시간은, 같은 피치로 원래의 파형(기억파형)(411)을 시간축 신축제어하지 않고 판독한 때의 재생시간의, 거의 1/CRate, 죽 거의 1/2배로 된다.
또한, 상기 판독예(412), 및 후술하는 판독예(413∼416)의 예에서는, 직전의재생주기로 제2계열에 의해 판독된 페이드 인한 구간으로 계속되는 구간이, 다음의 재생주기로 제1계열에 의해 판독되어 페이드 아웃하도록 되어 있다. 예를 들면, 판독예(412)의 제1주기째로, 제2계열에 의해 구간 B가 페이드 인하며, 다음의 제2주기째에서, 그것에 계속되는 구간 C가 제1계열에 의해 페이드 아웃하고 있다. 이것에 의해, 구간 B로부터 C로, 원활한 파형접속이 실현된다.
판독예 413은 CRate=1.5인 압축의 경우이다. 제1주기째는, 원래의 재생시간을 그대로 하는 N처리, 즉 제1계열에서 구간 A를 판독하고, 제2계열에서도 같은 구간 A를 판독하여, 이들을 크로스페이드하여 출력파형을 생성하는 처리를 행한다. 제2주기째는, 제1계열에서 구간 B를 판독하고, 제2계열에서 구간 C를 판독하여, 이들을 크로스페이드하여 출력파형을 생성하는 C처리를 행한다. 제3주기째는 구간 D를 이용한 N처리, 제4주기째는 구간 E, F를 이용한 C처리를 행한다. 이상에 의해, 어떤 소망의 피치로 판독되는 생성출력파형(413)의 재생시간은, 같은 피치로 원래의 파형(기억파형)(411)을 시간축 신축제어하지 않고 판독한 때의 재생시간의 거의 1/CRate, 즉 1/15=2/3배로 된다.
판독예 414는 CRate=1.0인 등배인 경우이다. 제1주기째∼제6주기째의 각각 구간 A∼F를 이용한 N처리를 행한다. 이것에 의해, 어떤 소망의 피치로 판독되는 생성출력파형(414)의 재생시간은, 같은 피치로 원래의 파형(기억파형)(411)을 시간축 신축제어하지 않고 판독한 때의 재생시간의 1/CRate, 즉 1/1=등배로 된다. 이와 같이, CRate=1.0인 등배의 경우는, 시간축 신축제어하지 않는 경우에 상당하고 있지만, 그 경우에 있어서, 판독예(414)에 나타내는 바와 같이 같은 구간 끼리로 크로스페이드합성 처리를 행하도록 함으로써, 항상 크로스페이드합성처리를 행하도록 시스템을 구성할 수 있으며, 크로스페이드합성처리를 행해야 하는지 여부의 교체제어를 행해야 할 필요가 없어진다는 이점이 있다.
판독예 415는, CRate=0.75인 신장의 경우이다. 제1,2,4,5,6,8주기째는, 각각, 구간 A, B, C, D, E, F,를 이용한 N처리를 행한다. 제3주기째는, 신장을 위한 S처리, 즉 제1계열에서 구간 C를 판독하고, 제2계열에서 구간 B를 판독하여, 이들을 크로스페이드하여 출력파형을 생성하는 처리를 행한다. 제7주기째는, 제1계열구간 F를 판독하고, 제2계열에서 구간 E를 판독하여, 이들을 크로스페이드하여 출력파형을 생성하는 S처리를 행한다. 이상에 의해, 어떤 소망의 피치로 판독되는 생성출력파형(415)의 재생시간은, 같은 피치로 원래의 파형(기억파형)(411)을 시간축 신축제어하지 않고 판독한 때의 재생시간의 거의 1/CRate, 즉 1/0.75=1.333배로 된다.
판독예 416은, CRate=0.5인 신장의 경우이다. 제1,3,,5,7,,9,11주기째에서는, 각각, 구간 A, B, C, D, E, F,를 이용한 N처리를 행한다. 제2,4,6,8,10,12주기째에서는, 각각, 구간 B와 A, C와 B, D와 C, E와 D, F와 E, G와 F(G는 F의 다음에 계속되는 주기로 한다)를 이용한 S처리를 행한다. 이것에 의해, 어떤 소망의 피치로 판독되는 생성출력파형(416)의 재생시간은, 같은 피치로 원래의 파형(기억파형)(411)을 시간축 신축제어하지 않고 판독한 때의 재생시간의 거의 1/CRate, 즉 1/0.5=2배로 된다.
도32는, 도31에 있어서 각 재생주기의 처리를 상세하게 설명하기 위한 도이다. 501은, 파형 메모리(301)에 격납되어 있는 3구분이 연속하는 구간 Z, A, B를 나타낸다. 구간 Z, A, B의 사이즈는, 각각, TZ, TA, TB로 한다. 지금, 제1계열째에서 판독되는 구간을 A로 한다. 이때 제2계열에서 판독하는 구간은, S처리, N처리, 및 C처리의 각 경우와 다르다.
예 511은 하나의 재생주기로 신장을 위한 S처리를 행하는 경우의 예를 나타낸다. 예 511에 나타내는 바와 같이, 제1계열에서 구간 A를 판독하면, 제2계열에서는 그 구간 A의 하나 전의 구간 Z를 판독하게 된다. 즉, 예 521에 나타내는 바와 같이, 제1계열에서는, 화살표(531)와 같이 구간 A를 판독하며, 제2계열에서는 화살표(532)와 같이 구간 Z를 판독하며, 크로스페이드한다. 예 512는 하나의 재생주기로 재생시간을 바꾸지 않는 N처리를 행하는 경우의 예를 나타낸다. 예 512에 나타내는 바와 같이, 제1계열에서 구간 A를 판독하면, 제2계열에서도 같은 구간 A를 판독하게 된다. 즉, 예 522에 나타내는 바와 같이, 제1계열 및 제2계열과 함께 화살표(541)와 같이 구간 A를 판독하며, 크로스페이드한다. 예 513은 하나의 재생주기로 압축을 위한 C처리를 행하는 경우의 예를 나타낸다. 예 513에 나타내는 바와 같이, 제1계열에서 구간 A를 판독하면, 제2계열에서는 그 구간 A의 다음 구간 B를 판독하게 된다. 즉, 예 523에 도시하는 바와 같이, 제1계열에서는 화살표(551)와 같이 구간 A를 판독하며, 제2계열에서는 화살표(552)와 같이 구간 B를 판독하여, 크로스페이드한다.
상술한 두 개 계열에서는, 소정의 샘플링 주파수에 의거하여, 패러미터로 지정된 피치에 대응하는 「피치정보」(F넘버)를 누산한 어드레스로 판독을 행한다. 따라서, 발생하는 파형의 피치는 지정된 대로의 것으로 된다. 한편, 도29와 도31에서 개요를 설명한 바와 같이, 주기단위의 타임 스트레치제어어처리에 의해 그 주기로 S처리, N처리, 및 C처리의 어떤 것을 선택하여(선택의 수단은 후술한다) 실행함으로써, 도31의 예 412∼416에 예시한 바와 같이 재생시간을 신축할 수 있다.
도32에 있어서, rp는, 각 재생주기에 있어서, 제1계열째로 판독하는 구간의 선두 어드레스를 나타내는 판독 포인터(도34에서 상술한다)이다. rp-now는 도32의 각 처리를 행하는 재생주기에 있어서 현 rp의 값을 나타내며, rp-next는 그 재생주기의 다음 재생주기에 있어서 rp의 값을 나타낸다. 각 재생주기의 종료시점에서 제2계열째가 판독하고 있는 어드레스가, 그 다음의 재생주기에 있어서 제1계열째가 판독하는 구간의 선두 어드레스로 되도록 하고 있다. 이것은 재생주기가 교체되는 곳에서는, 연속하는 구간으로 이행하도록 하기 위한 것이다. 예를 들면, 도31의 신축예 412∼416의 각 재생주기가 교체되는 부분을 참조하면 알 수 있듯이, 주기가 교체되는 곳에서 구간이 A→B, B→C, …와 같이 연속하는 구간으로 교체되도록 되어 있다. 도32에 도시하는 바와 같이, 현재 재생주기의 rp 값으로부터, 다음 재생주기의 rp 값이 구해진다. 즉, S처리의 경우는 현 rp의 값이 rp-next로 되며, N처리의 경우는 현 rp에 TA를 가산한 rp + TA가 rp-next로 되며, C처리의 경우는 현 rp에 TA + TB를 가산한 rp + TA + TB가 rp-next로 된다.
도33은, 어택부 및 루프부를 가지는 파형 데이터의 예이다. 파형 데이터(601)는, 다섯개의 구간 A∼E로 이루어진다. 인덱스 카운트(Index Count)는 구간의 파형 메모리상의 위치(순번)를 나타낸다. 사이클 렝쓰(Cycle Lengh)는 각 구간의 사이즈 TA∼TE를 나타낸다. 어택부와 루프부와의 경계가 구간의 단락이 되도록 하는 것으로 한다. 파형 데이터(601)에서는, 파형 선두 위치로부터 TLpst의 위치까지의 구간, 즉 구간 A, B가, 어택부이다. 또, TLpst의 위치가 루프의 스타트 포인트이며, 이 위치로부터 TLpend의 위치까지의 구간, 즉 구간 C, D, E가, 루프부이다.
이와 같은 어택부 및 루프부를 가지는 파형 데이터의 경우는, 예 602에 나타내는 바와 같은 파형 데이터인 것으로 하여 처리한다. 즉, 루프부의 엔드 포인트까지 판독하면, 다음에는 다시 루프부의 스타트 포인트로 되돌아가 루프부 판독을 반복한다.
또한, 처리의 기본이 1재생 주기단위이므로, 루프부의 스타트 포인트 및 엔드 포인트는 제한이 필요하다. 즉, 통상의 파형 메모리 음원의 루프부와 같게, 루프 엔드 포인트(구간 E의 마지막 어드레스)의 보간 샘플값과, 루프 스타트 포인트(구간 C의 선두 어드레스)의 보간 샘플값이 같은 값으로 되도록, 양 포인트의 위치를 설정할 필요가 있다.
다음에 도30을 참조하여, 파형 메모리 판독부(201)의 구성 및 동작(특히 TSC 제어동작)을 상세하게 설명한다.
도30에 있어서, 파형 메모리 판독부(201)는, 파형 메모리(301), 연산부(302), 사이클내 카운터(303), 인덱스 카운트(304), 구간 사이즈 격납레지스터(305, 306), 누적차분 격납레지스터(307), 판독레지스터(이하, rp레지스터라 한다)(308), 피치보간부(309, 310), 승산기(311, 312), 보전부(313), 및 가산기(314)를 구비하고 있다. 이하, 각 구성요소에 관하여 설명한다.
파형 메모리(301)는, 상술한 바와 같이, 복수의 구간으로 분할하여 관리되는 복수 주기의 파형 데이터를, 복수의 음에 대응하여 기억함과 동시에, 각 파형 데이터 마다 그 각 구간의 사이즈정보(T)를 기억하고 있다. 파형 데이터는, 연산부(302)로부터의 어드레스로 2계열 독립하여 판독된다. 구간 사이즈정보(T)(Integer(정수부) + Fraction(소수부)로 이루어진다)는, 인덱스 카운터(304)의 값인 인덱스 카운트(IC)를 어드레스로서 판독할 수 있다.
인덱스 카운터(304)가 보존하는 인덱스 카운트(IC)는, 현재 판독하고 있는 제1계열의 구간이 몇 번째의 구간인지를 나타내는 순서수 번호이다. 이 인덱스 카운트(IC)를 판독하여 어드레스(상대 어드레스)로서, 파형 메모리(301)로부터 제1계열의 구간의 사이즈정보(T)를 판독하며, T1레지스터(305)에 기억시킨다. T1레지스터(305)는, 제1계열에서 판독하는 구간의 사이즈정보(T)를 기억한다. 동시에, T2레지스터(306)에, 제2계열째로 판독되어 있는 구간의 사이즈정보(T)를 기억한다. 제1계열의 현 구간의 번호인 인덱스 카운트(IC)와, 현재 실행하고 있는 것이 S처리, N처리, C처리의 어떤 것에 있는지에 의거하여, T2레지스터(306)에 기억해야 하는 구간사이즈정보가, 제1계열에서 판독해야 하는 현 구간 전의 구간의 사이즈정보인지, 제1계열에서 판독해야 하는 현 구간의 사이즈정보인지, 제1계열에서 판독해야 하는 현 구간의 다음의 구간인 구간사이즈정보인지, 알 수 있다. 또한, 인덱스 카운트(IC)를 상대 어드레스로 한 것은, 복수의 복수 주기 파형 데이터를 기억하는 경우에 대응하기 위한 것이다. 즉, 상대 어드레스로서 두면, 베이스 어드레스를 변화시킴으로써, 복수조의 구간 사이즈 데이터로부터 판독하는 파형 데이터에 대응하는 조를 선택하여, 인덱스 카운트(IC)에 의거하여 그 안으로부터 각 구간 사이즈 데이터를 판독할 수 있다.
연산부(302)는, 파형발생을 개시할 때 인덱스 카운터(304)의 값을 0으로 초기화한다. 그 후, 1구간의 재생주기가 끝날 때마다 연산부(302)로부터 트리거신호(구간갱신정보)가 출력되며, 인덱스 카운터(304)는 이 트리거 신호를 받아 갱신된다. 구체적으로는, 방금 끝난 재생주기로 행한 것이 S처리인 때는, 방금 끝난 재생주기의 제1계열에서 판독하고 있던 구간을 다음의 재생주기인 제1계열에서 판독하는 것으로 되는 것이므로, 인덱스 카운터(304)의 값은 그대로 한다. 방금 끝난 재생주기로 행해진 것이 N처리인 때는, 방금 끝난 재생주기의 제1계열에서 판독하고 있던 구간의 다음의 구간을 다음의 재생주기인 제1계열에서 판독하게 되는 것이므로, 인덱스 카운터(304)의 값을 1카운트 업한다. 막 끝난 재생주기로 행한 것이 C처리인 때는, 막 끝난 재생주기의 제1계열에서 판독하고 있던 구간의 계속되는 구간을 다음의 재생주기의 제1계열에서 판독하게 되는 것이므로, 인덱스 카운터(304)의 값을 2카운트 업한다.
rp레지스터(308)는, 도32에서 간단하게 설명한 바와 같이, 파형 메모리(301)로부터의 파형 데이터의 2계열 판독 중, 제1계열째의 판독이 행해지고 있는 구간의 선두 어드레스(rp)를 보존하는 레지스터이다.
사이클 내 카운터(303)는, 파형 발생부(111)가 출력하는 파형 데이터의 샘플링주기마다, 재생피치정보 △ph(F넘버)를 누산하는 카운터이다. 사이클 내 카운터(303)는, rp포인터(308)가 가리키는 파형 데이터의 구간 중의, 각 파형 샘플값을 판독하기 위한 위상(CC)(사이클 카운트:정수부+소수부로 이루어진다)을 발생한다. 사이클 내 카운터(303)에서 발생한 사이클 카운터(CC)는 연산부(302)에 입력한다. 연산부(302)는, 선두 어드레스(rp)와 사이클 카운트(CC)를 이용하여, 제1 및 제2계열의 판독 어드레스를 산출하여 파형 메모리(301)에 출력한다. 구체적으로는, (rp + CC)가 제1계열째인 판독 어드레스로 되며, (rp + CC + OFST)가 제2계열째인 판독 어드레스로 된다. OFST는, 현재의 재생주기에 있어서 실행하고 있는 것이 S처리인 때는, 제1계열에서 판독하고 있는 현 구간 전의 구간을 제2계열에 판독한다고 하는 것이므로 OFST=-「제1계열에서 판독하고 있는 현 구간 전의 구간의 구간사이즈」(이 값은 T2레지스터(306)에 판독되어 있다)로 된다. 지금 실행하고 있는 것이 N처리인 때는, 제1계열에서 판독하고 있는 현 구간을 제2계열에서도 판독한다고 하는 것이므로, OFST = 0으로 된다. 지금 실행하고 있는 것이 C처리인 때는, 제1계열에서 판독하고 있는 현 구간의 다음 구간을 제2계열에서 판독한다는 것이므로, OFST = 「제1계열에서 판독하고 있는 현 구간의 사이즈」(이 값은 T1레지스터(306)에 판독되어 있다)로 된다.
또, 연산부(302)는, 사이클 카운트(Cycle Count)(CC)와 사이클 렝쓰(Cycle Length)(CL)을, Cycle Count 〉 Cycle Length의 조건에서 항시 비교하고 있다. 비교로 이용하는 사이클 렝쓰(CL)는, 현 처리가 S처리이면 제1계열에서 판독하고 있는 현 구간 전의 구간의 사이즈, 현처리가 N처리이면 제1계열에서 판독하고 있는 현 구간의 사이즈, 현처리가 C처리이면 제1계열에서 판독하고 있는 현 구간의 다음 구간의 사이즈이다. 즉, 사이클 렝쓰(CL)는 제2계열에서 판독하고 있는 구간의 구간 사이즈와 같으며, 그 구간 사이즈를 기준으로 하여 현재의 재생주기의 끝을 판별하도록 되어 있다(CC가 CL을 초과한 때가 현재의 재생주기의 끝이다). 현재의 재생주기의 끝에 이른 때, 연산부(302)로부터 트리거신호(주기갱신정보)가 출력되며, 인덱스 카운터(304)는 이 트리거 신호를 받아 갱신된다. 즉, 사이클 카운트(CC)의 누산치는, 제2계열째로 판독되고 있는 구간의 구간 사이즈 정보(T)를 넘으면 (CC-T)의 값으로 되돌아감과 동시에, 동 타이밍으로 연산부(302)는 상기 트리거신호를 발생한다.
제1계열째인 판독 어드레스(rp + CC), 제2계열째인 판독 어드레스(rp + CC + OFST)와, 피치 비동기(즉 샘플링 주파수가 일정) 동작으로 정확한 악음피치를 실현하기 위해, 어드레스 소수부에 따른 샘플간 보간을 하는 필요가 있다. 그 때문에, 도2의 보간회로(11, 12)와 같이, 도30에서도, 각 계열마다 피치보간부(309, 310)가 설치되어 있으며, 상기 제1계열째, 제2계열째에서 다른 소수부에 따라 독립으로 직선 보간이 행해진다.
승산기(311, 312), 보정부(313), 및 가산기(314)는, 크로스페이드합성회로를 구성하고 있다. 이 크로스페이드합성회로는, 각 재생주기로, S처리, N처리, C처리의 어떤 것이 행해지는지에 관계없이, 제1계열째의 판독 파형 데이터로부터 제2계열째의 판독 파형 데이터로의 크로스페이드를 실행한다. 연산부(302)는, 제2계열째의 무게 계수(사이클 카운트값(CC) ÷ 사이클 렝쓰(CL))를 발생하며, 보정부(313)는, 그 계수의 보수(補數)(1 - CC ÷ CL)를 발생한다. 크로스페이드는, 제2계열째로 판독되는 구간의 사이즈(T2)의 시간을 걸고 행한다.
차분(dif)레지스터(307)는, 이상 포인트(가상 어드레스)와 실제 포인트(실제 어드레스)와의 누산차분을 기억하는 레지스터이다. 이상 포인트란, 시간압축정보(CRate)에 따라서 재생시간의 신축을 행한 때의 판독 포인터 값에 상당한다. 어떤 재생주기의 처리가 끝난 시점에서, 그 재생주기에 있어서 이상 포인트의 진행분은, 기준으로 되는 제2계열의 구간 사이즈(T2)에 시간압축비(CRate)를 승산한 값 (T2 × CRate)로 된다. 한편, 어떤 재생주기의 처리가 끝난 시점에서, 그 재생주기에 있어서 실제 어드레스의 진행분(즉 rp레지스터의 진행분)은, 방금 끝난 것이 S처리이면 0, N처리이면 T1, C처리이면 T1 + T2로 된다. 이 「실제 어드레스의 진행분」은, 재생주기의 끝의 시점에 있어서 제2계열째의 판독 어드레스와 rp와의 차분이다. 왜냐햐면, 그 제2계열째의 어드레스가, 다음의 재생주기에 있어서 rp로 되기 때문이다. 해당 재생주기에 있어서 「이상 포인트(가상 어드레스)의 진행분」과 「실제 어드레스의 진행분」과의 차분을 △dif로 하면, 방금 끝난 처리가 S처리인지, N처리인지, C처리인지의 별로, 이하와 같은 △dif가 연산부(302)에 의해 산출된다.
·S처리인 때 :
△dif = (T2 × CRate)
·N처리인 때 :
△dif = (T2 × CRate) - T1
·C처리인 때 :
△dif = (T2 × CRate) - (T1 + T2)
연산부(302)에서는, 이와 같이 산출한 △dif를 현 dif에 가산하여, 방금 끝난 재생주기의 종료시점(즉, 다음의 재생주기의 선두)에 있어서 dif를 구한다.
또한, 연산부(302)에서는, 상기와 같이 재생주기의 종료시에 산출된 누적차분(dif)에 의거하여, 다음의 재생주기에서 S처리, N처리, C처리의 어떤 것을 행하는지를 결정한다. 구체적으로는, 이하의 조건 (1) (2)에 의거하여 결정한다. 또한, 누적차분(dif)에 의거하여 다음의 재생주기의 처리판정시에는, 다음의 재생주기로 제1계열의 구간사이즈를, 미리 레지스터(T1)에 판독해 둔다. 이 때, 레지스터(T2)에는 직전의 재생주기에 있어서 기억치가 그대로 보존되어 있다.
(1) dif ≥ 0 (dif가 양수값)이면, T1(다음의 재생주기로 제1계열에 있어서 판독되는 구간의 사이즈)와 dif를 비교하여,
(1 - 1) | dif |/ T1 ≥ 0.5 (바꿔 말하면, 구간 사이즈(T1)의 반보다도 누적차분(dif)이 큰 때)이면, C처리로 하고,
(1 - 2)이 아니면 (바꿔 말하면, 구간 사이즈(T1)의 반보다도 누적차분(dif)이 크지 않은 때)면, N처리로 한다.
(2) dif 〈 0 (dif가 음수값)이면, T2(방금 종료한 재생주기로 제2계열에 있어서 판독되어 있던 구간의 사이즈)와 dif를 비교하여,
(2 -1) | dif |/ T2 ≥ 0.5 (바꿔 말하면, 구간 사이즈(T2)의 반보다도 누적차분(dif)이 큰 때)이면, S처리로 하고,
(2 - 2)가 아니면 (바꿔 말하면, 구간 사이즈(T2)의 반보다도 누적차분(dif)이 크지 않은 때), N처리로 한다.
상기의 조건(1)은, 요컨대, 소망의 재생시간으로 하기 위하여 현시점에서 읽고 있어야 하는 이상적인 위치에 대하여, 실제로 읽고 있는 위치가 늦어져 있으므로, 그 늦어진 양이 상기 구간 사이즈(T1)의 반보다 크면 압축을 행한다고 하는 것이다. 또, 상기의 조건(2)은, 요컨대, 소망의 재생시간으로 하기 위하여 현시점에서 읽고 있어야 하는 이상적인 위치에 대하여, 실제로 읽고 있는 위치가 지나치게 진행하고 있으므로, 그 초과진행량이 상기 구간 사이즈(T2)의 반보다 크면 신장을 행한다고 하는 것이다.
도34는, 상기의 연산부(302)의 처리내용을 S처리, N처리, C처리별로 정리한 표(702)를 나타낸다. 701은, 파형 메모리에 격납되어 있는 파형 데이터에 관한 세 개가 연결하는 구간(Z, A, B)을 나타내며, 방금 제1계열째에서 판독되는 현 구간을 A로 한다. 구간(Z, A, B)의 사이즈는, 각각, Tbefore, Tnow, Tnext로 한다. 이 때 제2계열에서 판독하는 구간은, 현 재생주기의 처리가 S처리이면 Z, N처리이면 A, C처리이면 B이다. rp-now는, 현 재생주기에 있어서 rp레지스터의 값이다. 현 재생주기에 있어서 적용되는 사이클 렝쓰(CL)를 「적용되는 Cycle Length」의 난에 나타낸다. 현 재생주기에 있어서 적용되는 제2계열의 OFST를 「2계열째의 OFST」의 난에 나타낸다. 제2계열에서 (rp)를 선두 어드레스로 하는 구간이 판독되며, 제2계열에서(rp + OFST)를 선두 어드레스로 하는 구간의 판독이 행해진다. 「rp의 갱신」의 난은, 현 재생주기의 처리가 끝난 시점에서, rp의 값은 제2계열 구간의 판독을 계속하는 판독 어드레스로 갱신되며, 다음의 재생주기에 있어서 제1계열에서 판독하는 구간의 선두 어드레스로 되는 것을 나타내고 있다. 「dif의 갱신」의 난은, 현 재생주기의 처리가 끝난 시점의 dif의 값을 나타내고 있다. 이 dif는, 연산부(302)가, 다음의 재생주기에 있어서, S처리, N처리, C처리의 어떤 것을 행하는지를 결정하는 것에 사용된다. 「Index Counter의 갱신」의 난은, 인덱스 카운터가 제2계열에서 판독되는 구간의 다음 구간의 번호로 갱신되는 것을 나타내고 있다. 이것은, 다음의 재생주기에 있어서 제1계열에서 판독하는 구간의 번호이다. 적용되는 사이클 렝쓰(CL)는, 제2계열에서 판독하고 있는 구간의 사이즈정보(T2)의 값으로 되어 있으며, 그 재생주기에 있어서 사이클 렝쓰(CL)의 시간에 걸쳐 크로스페이드가 실행된다.
도35는, 상술한 연산부(302)에 의한 S처리, N처리, 및 C처리의 선택결정의 수단을 나타내는 설명도이다. 801의 각 직사각형 도형은 구간을 나타낸다. 도35의 가로축 방향은, 「시간」은 아니고 「어드레스」이다. (a)는 제1계열의 판독예, (b)는 제2계열의 판독예를 나타낸다.
S처리의 예에 있어서, 831이 전회의 이상 포인터(가상 어드레스)의 위치이며, 811이 실제 포인터(rp레지스터)의 위치로 한다. 이 때, dif는 화살표(821)로 나타내는 dif-old로 되므로, 상기한 조건 (2 - 1)이 성립하며, 다음의 재생주기에서는 S처리를 행하면 결정한다. 이 S처리에서는, 제1계열은 페이드 아웃하는 파형을 나타내는 삼각형(801)과 같이 판독을 행하며(도35(a)), 제2계열은 페이드 인하는 파형을 나타내는 삼각형(804)과 같이 판독을 행한다(도35(b)).
N처리의 예에 있어서, 832가 전회의 이상 포인터의 위치이며, 812가 실제 포인터의 위치로 한다. 이 때, dif는 화살표(822)로 나타내는 dif-old로 되므로, 상기한 조건 (2 - 2)가 성립하며, 다음의 주기에서는 N처리를 행하면 결정한다. 이 N처리에서는, 제1계열은 페이드 아웃하는 파형을 나타내는 삼각형(802)과 같이 판독을 행하지 않고(도35(a)), 제2계열은 페이드 인하는 파형을 나타내는 삼각형(804)과 같이 판독을 행한다(도35(b)).
C처리의 예에 있어서, 833이 전회의 이상 포인터의 위치이며, 813이 실제 포인터의 위치로 한다. 이 때, dif는 화살표(823)로 나타내는 dif-old로 되므로, 상기의 조건 (1 - 1)이 성립하며, 다음의 주기에서는 C처리를 행하면 결정한다. 이 C처리에서는, 제1계열은 페이드 아웃하는 파형을 나타내는 삼각형(803)과 같이 판독을 행하지 않고(도35(a)), 제2계열은 페이드 인하는 파형을 나타내는 삼각형(804)과 같이 판독을 행한다(도35(b)).
도35(c)는, 다음의 재생주기의 판독을 위한 판정처리예를 나타낸다. 전의 재생주기에 있어서 이상 포인터(가상 어드레스)의 위치(851)로부터 화살표(852)만큼 가상 어드레스가 진행한다고 하면, dif는 화살표(853)로 나타내도록 되므로, 조건(2 - 1)이 성립하며, S처리를 선택결정한다. 전의 재생주기에 있어서 이상 포인터(가상 어드레스)의 위치(851)로부터 화살표(854)만큼 가상 어드레스가 진행한다고 하면, dif는 화살표(855)로 나타내도록 되므로, 조건(2 - 2)이 성립하며, N처리를 선택결정한다. 전의 재생주기에 있어서 이상 포인터의 위치(851)로부터 화살표(856)만큼 가상 어드레스가 진행한다고 하면, dif는 화살표(857)로 나타내는 바와 같이 되므로, 조건(1 - 1)이 성립하며, C처리를 선택결정한다.
도35에서는, 연결한 파형의 주기를 하나 되돌리는 치리(S처리), 그대로 진행하는 처리(N처리), 하나 건너 뛰어 먼저 진행하는 처리(C처리)의 세 개의 처리로부터 하나를 선택하도록 되어 있었다. 그러나, 두 개 이상 앞으로 되돌리거나, 두 개 이상 먼저 건너뛸 수 있도록 해도 된다. 도36은, 먼저 두 개 건너뛰어 진행하는 경우를 나타내고 있다.
이하, 도36의 설명을 한다. 이 예에서는, 직전의 재생주기의 끝 시점에 있어서 이상 포인터의 위치가, 다음의 재생주기에 있어서 제2계열이 판독하는 구간을 결정한다. 구체적으로는, 이상 포인터의 위치에 가장 가까운 스타트 포인트를 가지는 구간이, 다음의 재생주기에 있어서 제2계열에서 판독하는 구간으로써 선택된다.
예를 들면, 도36과 같이, 이전회의 재생주기에 있어서, 이상 포인터(가상 어드레스)가 902의 위치에 있었다고 하면, 그 위치는 영역 905의 범위내이며, 이전회의 재생주기에서는 제2계열에서 페이드 인하는 파형(909)이 판독되어 있었다. 그 때문에, 현 재생주기에서는, rp는 907의 위치에 있으며, 제1계열에서는 페이드 아웃하는 파형(910)이 판독된다.
한편, 전회의 재생주기에 있어서, 이상 포인터는 T2-old×CRate만큼 진행하며, 904의 위치에 와 있다. 이 때, dif는 화살표(912)가 나타내는 dif-old1이며, 이상 포인터가 영역(906)의 범위내에 있으므로, 현 재생주기에서는 제2계열에서 페이드 인하는 파형(911)이 판독된다.
결국, 현 재생주기에 있어서, 제1계열의 파형(910)과 제2계열의 파형(911)에 의한 크로스페이드가 행해져, 그 재생주기에서 907의 위치에 있던 판독 포인터(rp)는 2주기분 뛰어넘은 위치(908)의 rp-next까지 진행한다.
각 재생주기에 있어서 가상 어드레스가 진행하는 양은, CRate의 설정에 의해 도36의 예보다 커져도 작아져도 할 수 있으며, 또, 값을 음으로 하면 역방향으로 진행시킬 수도 있다. 상기예의 방법에 따르면, 그 진행하는 가상 어드레스에 따라서, 각 재생주기로 제2계열에 있어서 판독하는 구간을 정방향 또는 역방향으로 자유롭게 점프시킬 수 있다.
도37은, CRate = 1.5인 때(도31의 판독예(413)의 경우)의 제어예를 나타낸다. 1001은 제1계열의 판독 어드레스의 진행쪽을 나타낸다. 가로축이 시간이며, 재생주기마다 N처리, C처리, N처리, C처리라고 하는 순으로 처리한다. 세로축은 판독 어드레스를 나타낸다. 여섯 개의 구간 A∼F의 어떤 주변을 포인트할지를 알 수 있도록 세로축으로 늘어놓아 파형 데이터를 나타내는 선분(1005)을 두고 있다. 1002는 제2계열의 판독 어드레스의 진행쪽을 나타낸다. 1003은 판독 포인터(rp)의 값의 변화를 나타내며, 1004는 사이클 카운트(CC)의 값의 변화를 나타낸다. 사이클 카운트(CC)는, 각 재생주기마다, 누산에 의해 서서히 증가해 가도록 변화한다. rp는 상술한 바와 같이 A, B, D, E를 포인트하도록 진행한다. rp와 CC를 가산하여 제1계열 의 어드레스가 1001로 나타내도록 생성된다. 제2계열의 어드레스는, 1002로 나타내는 바와 같이 A, C, D, F를 판독하도록 진행한다. 이와 같은 어드레스로 각각 판독된 파형이 크로스페이드된다. 이것에 의해, 4주기분의 재생시간에서, 지정된 피치로, 악음파형이 출력된다.
도38은 등배(CR=1.0)인 때의 예, 도39는 신장(CR = 0.75)인 때의 예를 보인다.
상술한 도29 도30에 따르는 파형발생부(111)를 사용하는 실시예에 있어서도, 도2에 따르는 파형발생부(111)를 사용하는 실시예와 마찬가지로, 상술한 여러 가지 응용 목적으로 적용할 수 있다.
예를 들면, 비브라토, 트레몰로 등의 주법에 의해 연주된 악기음을, 그 변조주기의 길이만큼 녹음하여, 파형 메모리(301)에 기억해 둔다. 발음지시에 따라서, 녹음된 변조부여 종료파형 데이터를 판독한다. 그 때, 실제판독 포인터는 지시된 소망의 악음피치에 따른 속도로 진행하며, 가상판독 포인터는 원래의 변조주기와 지시된 소망의 변조주기와의 비에 의거하는 속도로 진행하면, 하나의 변조부여 종료파형 데이터로부터, 소망의 피치와 소망의 변조주기를 가지는 악음을 생성할 수 있다.
또, 기타 등의 피치벤드주법에 의거하는 파형을 하나 녹음하여, 파형 메모리(301)에 기억한다. 기억된 벤드부여 종료파형 데이터의 판독시, 소망의 피치에 따라서 실제판독 포인터의 속도를 제어하며, 또한 소망의 벤드속도로 가상판독 포인터의 속도를 제어하면, 하나의 벤드부여 종료파형 데이터로부터, 임의의 피치로 임의의 벤드속도인 벤드파형이 재생된다.
또, 녹음된 발음개시로부터 종료까지의 파형 데이터의, 상승부의 길이, 하강부의 길이를, 각각 독립으로, 또한 악음재생피치에 관계없이, 제어할 수 있다. 도40의 (a)는, 상승부나 하강부만의 재생시간을 신축하기 위해서 이용하는 신축비 패러미터의 변화의 일례를 나타낸다.
가상판독 포인터의 변화를 노이즈, 카오스파형 등의 요동파형에 의해 제어하면, PCM음원의 파형음색에 시간축 신축변조에 의한 변화를 붙일 수도 있다. 도40의(b)는, 신축비를 시간적으로 요동변조하여, 음색 등의 변화를 얻는 예이다. 또, 상술과 마찬가지로, 이와 같은 요동변조파형에 의해 TSC제어를 행함으로써, 파형 메모리(301)에 기억한 파형 데이터의 루프부를 반복 판독함으로써 음색의 단조성을 회피할 수 있다(도18의 예).
또, 관악기, 기타 등에 있어서 슬러연주의 파형을 녹음하여, 파형 메모리(301)에 기억해 두고, 그 판독시에 TSC제어를 적용하면, 슬러 파형 데이터의 재생시, 앞의 음고로부터 다음의 음고로 이동하는 길이(슬러시간)를, 악음피치에 관계없이 자유롭게 제어할 수 있다.
또, 현악기, 관악기 등의 전(前) 타음(또는 장식음)을 따르는 연주음의 파형을 녹음하여, 파형 메모리(301)에 기억해 두고, 그 판독시에 TSC제어를 적용하면, 그 전(前) 타음 부속파형 데이터의 재생시, 전(前) 타음의 시간길이를 악음피치에 관계없이 제어할 수 있다.
또, PCM음원에 있어서, 이 TSC제어를 적용함으로써, 공통의 복수 주기 파형 데이터를 다른 재생피치에 따라서 각각 판독하는 경우라도, 각각의 악음재생시간을 일정하게 할 수 있다(도16, 도17의 예). 물론, 재생피치와 독립으로 이들의 악음재생시간을 제어할 수도 있다.
또, PCM음원에 있어서, 이 TSC제어를 적용함으로써, 공통의 복수 주기 파형 데이터로부터, 재생시간이 다른 복수의 음색 파형을 작성할 수도 있다.
또, PCM음원에 있어서, 이 TSC제어를 적용함으로써, 파형 메모리(301)에 기억한 하나의 복수 주기 파형 데이터의 재생시간길이를, 지정된 음부길이에 따라서 가변제어하여 판독할 수 있으며, 그 음부길이에 따른 재생시간길이에 맞출 수도 있다.
루프판독에 의한 재생시간길이로는, 루프부에서 음색이 단조롭게 되지만, 본 발명에 의하면, 상기 요동변조파형의 예에 따르지 않고도, 임의로 신축비를 제어함으로써, 루프부에서 적시 음색을 변화시킬 수 있으므로, 그 단조성을 회피할 수 있다. 이밖에도, TSC제어를 넓게 응용할 수 있다.
또한, 리샘플링기술을 사용하여, 미리, 복수 주기 파형의 각 구간의 사이즈를 소정 길이로 가공하여 파형 메모리에 기입하도록 해도 된다. 상기 실시형태에서는 「N처리(노멀처리)」의 경우에도 크로스페이드를 행하고 있지만, N처리의 경우에는 크로스페이드의 필요가 없는 것은 자명한 것이므로, 그와 같이 다시 새로 만들어도 된다. 그러나, N처리의 경우에도 외관상 크로스페이드합성을 행하도록 한 구성은, 시간축의 신축제어패러미터의 내용을 고려하여 크로스페이드합성의 필요가부를 판정하는 일없이, 일률적으로 크로스페이드합성하도록 구성할 수 있으므로, 제어 및 구성을 간략화할 수 있다.
상술과 마찬가지로, 하나의 구간에 포함되는 파형의 주기수는 1주기이어도 되며, 복수 주기이어도 된다. 또, 각 구간마다, 다른 주기수의 파형 데이터가 포함되도록 되어 있어도 된다.
상기 실시형태에서는, 1재생주기마다 가상 어드레스와 실제 어드레스에 의한 진행제어를 행하고 있었지만, 그 진행제어를 좀더 짧은 기간, 또는 긴 주기로 행하도록 해도 된다. 또한, 1파형의 재생 도중에 있어서, 비교제어를 행하는 재생주기를 변경하도록 해도 된다.
상기 실시형태에서는, 누적차분(dif)을 파형 메모리의 어드레스와 같은 단위상에서 취급하고 있지만, 구간을 단위로 하도록 변경할 수도 있다. 그 경우의 조건식은, 다음과 같이 된다.
dif = dif + △dif
S처리, N처리, C처리의 선택
·dif ≥ 0.5 (주기의 반보다 차가 크다) C처리
·dif ≤ -0.5 (주기의 반보다 차가 크다) S처리
기타 (주기의 반보다 차가 작다) N처리
△ dif 연산
·S처리 △ dif = CR
·N처리 △ dif = CR - 1
·C처리 △ dif = CR - 2
또한, 상기한 발명의 실시형태에서는, 각 구간의 스타트위치가 1종류의 위상값(진폭값과 기울기)으로 동 위상으로 되도록 하고 있지만, 이것에 한하지 않고, 2종류(또는 그것 이상)의 위상값으로 동 위상으로 되는 포인트로 구획지어도 된다. 이 경우, 재생주기의 종료시점에서, 어떤 위상값의 포인트로 다음의 구간으로 연결되어 가면 된다.
또, 상기 실시예에서는, 크로스페이드합성인 때의 페이드 인과 페이드 아웃계열을 고정하고 있지만, 이것에 한하지 않고, 교대로 교체하도록 해도 된다.
〔TSC제어패러미터의 시간 변화양태의 패턴화〕
본 발명에 관한 TSC제어의 제어패러미터는, 상술한 대로, 리얼 타임의 연주조작에 따라서 가변설정할 수도 있으며, 각종의 음색이나 효과 등에 대응시켜 미리 설정해 두어도 되는 것이다. TSC제어에 있어서 시간축 신축변화 제어패러미터를, 소망의 시간적 변화양태로 패턴화해 두면, 소망의 TSC제어의 시간변화를 용이하게 실현할 수 있으며, 또, 소정의 악음발생기간(예를 들면 음의 상승이나 하강 등의 임의의 부분적 기간, 또는 전체의 발음 기간)에서 시간축 신장 및 압축제어하도록 프로그램할 수 있으므로, 바람직하다. 그와 같은 TSC제어패러미터의 시간변화패턴의 일례를 도41 및 도42에 도시한다.
도41의 (a), (b), (c)는, 신축비(CRate)를 사용하여 TSC제어를 행하는 방식(즉, 도29 및 도30과 같은 예로 이루어진 파형발생부(111)를 이용하여 TSC제어를 행하는 방식)에 있어서 채용하는 TSC제어용인 제어패러미터(즉 CRate)의 패턴화의 예를 나타낸다. 가로축의 시간의 원점은 예를 들면 발음개시시점이다. (a)는, 신축비(CRate)의 값이 시간변화하지 않고 일정한 예를 나타낸다. (b)는, 신축비(CRate)의 값이 어택부에 있어서 작은 값으로부터 서서히 증가하여, 그 후의 서스틴부에 있어서는 시간변화하지 않고 거의 일정해지도록 한 예를 나타낸다. 이와 같은 패턴을 이용하면, 음의 시작에서 시간축 신장이 가장 커지고, 그후 서서히 원래의 시간축 위치까지 되돌아가도록 제어가 행해진다. (c)는, 신축비(CRate)의 값이 어택부에 있어서 큰 값으로부터 서서히 감소하여, 그 후의 서스틴부에 있어서는 시간변화하지 않고 거의 일정하게 되도록 한 예를 나타낸다. 이와 같은 패턴을 이용하면, 음의 시작에서 시간축 압축이 가장 커지고, 그후 서서히 원래의 시간축 위치까지 되돌아가도록 제어가 행해진다.
도41의 (d), (e), (f)는, 가상판독 어드레스(VAD)를 사용하여 TSC 제어를 행하는 방식(즉, 도2와 같은 예로 이루어진 파형발생부(111)를 이용하여 TSC제어를 행하는 방식)에 있어서 채용하는 TSC제어용인 제어패러미터(즉 VAD)의 패턴화의 예를 나타낸다. (d)는 (a)와 같고, (e)는 (b)와 같고, (f)는 (c)와 같게 TSC제어패턴예에 각각 상당하고 있다.
도41에 도시한 바와 같은 패턴으로 변화하는 제어패러미터(CRate 또는 VAD)를, 테이블형식으로 메모리 등에 각종 기억해두면 된다. 또한, 도41의 (d), (e), (f) 에 도시하는 바와 같이 가상판독 어드레스(VAD) 그자체의 시간 변화패턴을 기억한 경우는, 도2의 가상판독 어드레스연산기(17)에서는, 「피치정보」를 샘플링주기로 누산하지 않고, 테이블로부터 판독되는 가상판독 어드레스(VAD)의 시간 함수에 「피치정보」를 승산하는 듯한 구성이어도 된다. 물론, 도41의 (d), (e), (f)에 도시하는 바와 같은 가상판독 어드레스(VAD) 그 자체의 시간 변화패턴을 직접기억하지 않고, 신축비(SCR)(도2)의 시간변환패턴을 도41의 (a), (b), (c)와 같은 형태로 기억하도록 해도 된다.
도42는, 도41과 같은 TSC제어용인 제어패러미터의 시간변화패턴을 인벨럽발생기와 같은 연산기를 이용하여 절선 그래프적으로 발생하는 예를 나타내고 있다. 즉, 도42의 각 (a)∼(f)는, 테이블 등의 기억장치를 이용하지 않고, 리얼 타임의 연산에 의해, 도41의 각 (a)∼(f)와 같은 TSC제어용인 제어패러미터의 시간변화패턴을 실현하는 예를 보이고 있다.
도41, 도42는 어디까지나 일례에 지나지 않아, 그 밖의 여러 가지 패턴을 기억해두거나, 연산에 의해 작성하거나 하도록 해도 된다.
도43은, 도41, 도42에 예시된 바와 같은 TSC제어용인 제어패러미터의 시간변화패턴을 이용한 음색제어법의 일례를 도시하는 것으로, 하나의 음색에 대응하는 각종의 제어정보 테이블의 구성예를 보이고 있다.
도43의 (a)는, 어떤 음색명 “A”에 대응하는 각종의 제어정보의 일례를 도시하며, TSC제어는 도29, 도30과 같은 파형발생부(111)를 사용하여 행하는 케이스에 해당한다. 이 경우, 파형 데이터 파일 지정정보로서 「파형 데이터파일1」을 지정하고, TSC제어패러미터의 패턴 지정정보로서 「CRate변화양태2」를 지정하는 예가 보여지고 있다. 이 테이블에는, 기타, 음량(EG)(인벨럽)설정정보나 그 밖의 각종 설정정보도 포함되어 있다. 또한, 「CRate변화양태2」란, 도41(a)∼(c) 또는 도42 (a)∼(c)와 같은 시간변화패턴 중 소정의 것을 지정하는 정보라 한다. 즉, 이 경우, 음색명 “A”에 대응하는 악음파형으로서,「파형 데이터 파일1」의 복수 주기 파형 데이터를 파형 메모리(301)(도30)로부터 판독하는 것을 지정하며, 또한, 「CRate변화양태2」에 따르는 시간변화형태로 TSC제어를 행함으로써, 소망의 파형형성이 행해진다. 여기에서, 다른 음색명에 대응하여, 같은, 「파형 데이터 파일1」을 지정하고, 「CRate변화양태」는 다른 변화양태를 지정하는 듯한 이용형태도 있을 수 있다. 즉, 같은 「파형 데이터 파일」을 사용하여,「CRate변화양태」를 다르게 함으로써, 음색변화(음제작)의 바리에이션을 풍부하게 할 수 있다.
도43의 (b)는, 어떤 음색명 “B”에 대응하는 각종의 제어정보의 일례를 도시하며, TSC제어는 도2와 같은 파형발생부(111)를 사용하여 행하는 케이스에 해당한다. 이 경우, 파형 데이터 파일 지정정보로서 「파형 데이터파일2」를 지정하고, TSC제어패러미터의 패턴 지정정보로서 「VAD변화양태3」를 지정하는 예가 보여지고 있다. 이 테이블에는, 기타, 음량(EG)(인벨럽)설정정보나 그 밖의 각종 설정정보도 포함되어 있다. 또한, 「VAD변화양태3」란, 도41(d)∼(f) 또는 도42 (d)∼(f)와 같은 시간변화패턴 중 소정의 것을 지정하는 정보라 한다. 즉, 이 경우, 음색명 “B”에 대응하는 악음파형으로서,「파형 데이터 파일2」의 복수 주기 파형 데이터를 파형 메모리(10)(도2)로부터 판독하는 것을 지정하며, 또한, 「VAD변화양태3」에 따르는 시간변화형태로 TSC제어를 행함으로써, 소망의 파형형성이 행해진다. 여기에서, 다른 음색명에 대응하여, 같은, 「파형 데이터 파일2」를 지정하고, 「VAD변화양태」는 다른 변화양태를 지정하는 듯한 이용형태도 있을 수 있다. 즉, 같은 「파형 데이터 파일」을 사용하여,「VAD변화양태」를 다르게 함으로써, 음색변화(음제작)의 바리에이션을 풍부하게 할 수 있다.
〔소프트웨어 음운을 사용한 TSC제어의 실시〕
상기 각 실시예에 있어서, 파형 발생부(111)를 포함하는 음원부(103)의 구성은 전용 하드웨어장치로 이루어진 것으로서 설명해 왔지만, 이것에 한하지 않고, 소프트웨어 음원에 의해 구성해도 된다.
도2 내WL 도43을 참조하여 여기까지 설명해 온 본 발명에 관한 TSC제어의 여러 가지 실시형태 중, 소망의 실시형태를 실현하도록, 소프트웨어 시스템(소위 “TSC제어” 프로그램)을 구축함과 동시에, 메모리장치에 소요 복수 주기 파형 데이터를 기억한다. 그리고, 이 소프트웨어 시스템(TSC 제어 프로그램)의 동작에 의해, 상술한 TSC제어에 따르는 형태로, 메모리장치로부터 파형 데이터를 판독하도록 구성한다.
도44는, 컴퓨터 소프트웨어를 이용한 음원시스템의 실시에 사용하는 하드웨어 구성예를 나타내는 전체 블록도이다. 이와 같은 하드웨어구성은, 퍼스널 컴퓨터를 사용하여 실현할 수 있다.
이 음원시스템은, 메인제어부로서 퍼스널 컴퓨터의 CPU(중앙처리부)(31)를 사용하여, 이 CPU(31)의 제어의 밑에서, 도1의 음원부(103)가 실행하는 것과 동등한 TSC제어를 행하는 “TSC제어프로그램”을 실행하며, 또한, 도1의 제어부(102)가 실행하는 것과 동등한 처리프로그램, 또는 그 밖의 적시의 프로그램도, 병행하여 실행할 수 있다.
CPU(31)에는, ROM(리드 온니 메모리)(32), RAM(랜덤 액세스 메모리)(33) 네트워크I/0(입출력장치)(34), 타이머(35), 마우스(36), 키보드(37), 디스플레이(38), 하드디스크(39), DAMC(다이렉트 메모리 액세스 콘트롤러)(40), 사운드I/O(입출력장치)(41), 샘플링 프로그램발생회로(42), 외부메모리 드라이브(43), MIDI인터페이스(48) 등이, 데이터 및 어드레스 버스(44)를 통하여 접속되어 있다.
사운드I/O(41)는, CODEC라 불려지는 사운드 입출력장치이며, 그 내부에는 디지털/아날로그변환기(DAC), 아날로그/디지털변환기(ADC), ADC에 접속된 입력용인 FIFO(선입선출(先入先出) 버퍼), DAC에 접속된 출력용인 FIFO 등을 포함하고 있다. 이 사운드 I/O(41)내의 상기 ADC에는 외부 오디오신호 입력단자(45)로부터 아날로그 오디오신호가 입력되며, 샘플링 클락발생회로(42)로부터 발생되는 소정의 주파수(예를 들면 48kHz)의 샘플링 클락(Fs)에 따라서 이것을 A/D변환하며, 이 A/D변환한 오디오신호를 상기 입력용인 FIFO에 취입한다. 이 입력용 FIFO에 데이터가 존재할 때, 녹음처리를 요구하는 신호를 DMAC(40)에 출력하도록 동작한다. DMAC(40)에서는, 사운드I/O(41)로부터의 녹음처리요구에 따라서 입력용 FIFO인 파형 데이터를 취입하며, 버스(44)를 통하여, 내부 메모리 예를 들면 RAM(33)에 기억한다. RAM(33)에 기억한 파형 데이터는, 상술한 사전 처리를 적시 실시하며, TSC제어를 따라서 판독할 수 있도록 조정되며, 복수 구간으로 분할하여 관리할 수 있는 상태로 된다. 이와 같은 TSC제어용인 파형 데이터는, 하드디스크(39)에 다종류 축적해 두도록 해도 된다. 또, ROM(32)내에 기억하고 있어도 된다. 따라서, ROM(32), RAM(33) 또는 하드디스크(39) 등이, 도2 또는 도30의 파형 메모리 10 또는 301에 상당한다.
“TSC 제어 프로그램”은, ROM(32), RAM(33) 또는 하드디스크(39)의 어떤 하나로 기억해 두어도 된다.
외부 메모리 드라이브(43)는, 플로피 디스크 또는 CD-ROM(컴팩 디스크 리드 온니 메모리)나 MO(광자기 디스크) 등의 외부기록매체(46)를 착탈 자유자재로 장착하여, 그 외부기록매체(36)에 대하는 데이터의 읽기와 쓰기를 행하는 것이다. 외부기록매체(46)는, 상기 “TSC제어 프로그램”이나 그 밖의 프로그램을 격납하기 위해서 사용해도 되며, 파형 데이터나 자동연주 시퀀스 데이터 등을 격납하기 위해 사용해도 된다.
또, 네트워크I/O(34)를 통하여 통신 네트워크에 접속하여, 외부의 서버컴퓨터(도시하지 않음)로부터, 상기 “TSC제어프로그램”이나 그 밖의 프로그램 및/또는 파형 데이터 등을 수취하여, 도44의 컴퓨터의 내부의 RAM(33) 또는 하드 디스크(39) 또는 외부기록매체(46)에 격납하도록 해도 된다.
CPU(31)는, 예를 들면 RAM(33)에 기억되어 있는“TSC제어프로그램”을 실행하여, 상술한 각 실시예와 같은 TSC제어를 행하며, 파형 메모리(32, 33 또는 39)로부터, TSC제어된 파형 데이터를 판독하여, 이것을 RAM(33)내의 출력 버퍼에 일단 기입한다. DMAC(40)는, TSC제어된 상태로 판독되어 출력버퍼에 기입된 파형 데이터를, 사운드I/O(41)로부터의 재생 샘플링 클락으로 동기하여 1샘플씩 다이렉트 메모리 액세스방식으로 그 출력버퍼로부터 판독하여 사운드I/O(41)로 보낸다. 사운드I/O(41)에서는, 그 내부에 설치되어 있는 출력용인 FIFO에 상기 TSC제어 종료파형 데이터를 기입하며, 또한, 이것을 샘플링 클락(Fs)에 따라서 그 출력용 FIFO로부터 판독하며, DAC에 부여하여 D/A변환한다. D/A변환된 파형데이터는 사운드 시스템(47)에 부여되며, 공간적으로 발음된다.
또한, 음원부(103)의 기능의 모두를 소프트웨어음원에 의해 구성하지 않고, 소프트웨어 음원과 하드웨어 음원의 하이브리드(hybrid) 타입으로 해도 된다. 예를 들면, TSC제어에 따르는 파형 메모리 판독을 소프트웨어처리에 의해 행하며, 크로스페이드합성은 전용 하드웨어회로에 의해 행하는 등, 여러 가지의 변형이 가능하다.
이상과 같이, 본 발명에 의하면, 파형 메모리판독방식을 음원에 있어서, 그 판독 속도를 가변제어하여 임의의 음고(피치)로 악음을 재생하는 한편으로, 그 판독속도와는 독립으로, 판독하는 파형 데이터를 시간축상에서 임의로 신장 및 압축제어할 수 있으므로, 독립의 악음제어요소로서 파형 데이터의 시간축 방향의 신장 및 압축제어를 도입할 수 있으며, 복수의 음고(피치)에 관하여 기억파형 데이터의 공용화를 도모하여 메모리용량을 절약할 수 있는 단조로운 구성이므로, 발생악음에 표현력을 붙일 수 있으며, 악음표현력과 제어성을 풍부하게 할 수 있다고 하는 뛰어난 효과를 발휘한다.
또, 본 발명에 의하면, 비브라토나 트레몰로 등의 변조가 부여된 파형 데이터, 벤드 등의 피치변조가 부여된 파형 데이터, 슬러가 부여된 파형 데이터, 또는 경과음이나 장식음과 같은 경과적인 피치변동이 부여된 파형 데이터, 등 임의의 주법에 대응한 고품질인 복수 주기 파형의 파형 데이터를 메모리에 기억하며, 이것을 판독하여 악음을 재생하는 경우에, 판독속도의 제어(발생악음의 음고제어)와는 독립으로, 파형 데이터의 판독 위치를 시간축으로 신축제어할 수 있으므로, 그 주법에 관한 악음 제어패러미터로서 새로운 시간축 제어패러미터를 제공하며, 종래에 없는, 표현력과 제어성에 풍부한 형태로 그 주법에 따르는 악음발생·제어를 행할 수 있다고 하는 뛰어난 효과를 가진다.
또한, 본 발명에 의하면, 판독속도의 제어(발생악음의 음고제어)와는 독립으로, 발음의 임의의 부분(전체 또는 일부의 구간)에서, 파형 데이터의 판독위치를 시간축으로 신축제어함으로써, 소망 부분의 발음시간길이를 임의로 제어함으로써, 발생악음파형의 다양한 변화를 실현하며, 종래에 없는, 표현력과 제어성에 풍부한 형태로 악음발생·제어를 행할 수 있다고 하는 뛰어난 효과를 가진다. 예를 들면, 발생악음의 음고를 소망 음고로 유지하면서, 음의 상승부분 또는 하강부분 등의 발음시간길이를 자유롭게 가변제어할 수 있다. 또는, 발생악음의 음고를 소망 음고로 유지하면서, 발생악음 전체의 시간길이를 가변제어함으로써, 음부길이 등에 맞추어 자유롭게 발음시간길이를 제어할 수도 있다.
또한, 본 발명에 의하면, 시간적으로 변화하는 특성으로 이루어진 시간축 신축제어용인 제어정보를, 음색 등의 지정정보에 따라서, 다른 특성으로 선택적으로 발생함으로써, 지정음색 등에 따른 발생악음파형의 다양한 변화를, 파형 데이터의 시간축 신축제어에 의해 실현할 수 있으므로, 1종류의 복수 주기 파형의 기억데이터로부터 다양한 바리에이션의 파형을 형성할 수 있다고 하는 뛰어난 효과를 가진다.
또한, 본 발명에 의하면, 파형 메모리로부터 같은 부분의 파형 데이터를 반복 판독(루프판독)하는 경우에 있어서, 파형 데이터의 판독위치를 시간축으로 신축제어함으로써, 소망 부분의 발음시간길이를 임의로 제어함으로써, 발생악음파형의 다양한 변화를 실현하여, 루프판독부분의 단조로움을 개선할 수 있다는 뛰어난 효과를 가진다.
또한, 본 발명에 의하면, 발음의 임의의 부분에 대해서, 요동파형 등의 임의의 제어신호에 의해, 파형 데이터의 판독위치를 시간축으로 신축제어함으로써, 악음의 요동 등의 제어를 적극적으로 부여하여, 발생악음파형의 다양한 변화를 실현할 수 있다는 뛰어난 효과를 가진다.
또한, 본 발명에 의하면, 하나의 악음파형의 재생 도중에 있어서도, 다이너믹하게 변화하는 시간축상의 압축율 및 신장율에 리얼 타임으로 응답하여, 파형 데이터의 시간축상의 신축제어를 행할 수 있어, 발생악음파형의 다양한 변화를 리얼 타임제어에 의해 실현할 수 있다는 뛰어난 효과를 가진다.
또한, 본 발명에 의하면, 복수 종류의 파형 데이터의 하나를 시간적으로 교환하여 지정하여, 각각에 관해서 시간축 신축제어를 행함으로써, 더욱 다양한 악음제어를, 파형 데이터의 시간축으로의 신장 및 압축제어에 의거하여 행할 수 있다는 뛰어난 효과를 가진다.
또한, 본 발명에 의하면, 파형 데이터의 판독위치를 시간축으로 신축제어할 때에, 크로스페이드합성에 의해, 파형의 원활한 변화를 따르는 시간축 신축제어를 실현할 수 있다는 뛰어난 효과를 가진다.
또, 본 발명에 의하면, 크로스페이드합성의 대상으로 되는 파형이 순차로 교체해 가는 경우에 있어서, 항상, 제1계열의 파형 데이터로부터 제2계열의 파형 데이터로 이행하는 바와 같이 크로스페이드합성을 행하도록, 크로스페이드의 방향(페이드 인과 페이드 아웃)을 각 계열마다 고정하도록 함으로서, 크로스페이드용의 계수의 함수파형을 각 계열마다 고정할 수 있어, 그 함수파형의 형성이 용이해진다는 뛰어난 효과를 가진다.
또한, 본 발명에 의하면, 파형 데이터의 판독위치를 시간축으로 신축제어할 때에, 크로스페이드합성에 의해, 파형의 원활한 변화를 따르는 시간축 신축제어를 실현할 수 있음과 동시에, 시간축 신장 또는 압축이 실시되지 않는 경우에 있어서는 같은 파형을 크로스페이드합성함으로써 파형 데이터의 시간축 신장 및 압축이 일어나지 않도록 함으로써, 외관상 끊임없이 크로스페이드합성을 행하는 구성을 채용해 두어, 이것에 의해, 시간축 신축제어패러미터에 따라서 크로스페이드합성의 필요가부를 제어할 필요가 없어져, 제어 및 구성을 간략화할 수 있다는 뛰어난 효과를 가진다.
도1은 본 발명에 관한 악음발생장치 및 방법을 적용한 전자악기의 일실시예를 도시하는 전체구성블록도,
도2는 도1에 도시된 파형발생부의 상세예를 도시하는 블록도,
도3은 본 발명에 따른 파형 데이터의 시간축 신장 및 압축제어(TSC제어)에 의해 압축제어를 행할 경우에 있어서, 파형 메모리 판독 어드레스의 시간적 진행상태의 일례를 도시하는 그래프,
도4는 동 TSC제어에 의해 신장제어를 행할 경우에 있어서, 파형 메모리 판독 어드레스의 시간적 진행상태의 일례를 도시하는 그래프,
도5는 동 TSC제어에 의해 실현할 수 있는 파형의 시간축상에서의 신장 및 압축의 모습의 다른 몇 개의 예를 도시하는 개념도,
도6은 동 TSC제어에 의해 실현할 수 있는 파형의 시간축상에서의 산장 및 압축의 모습의 몇 개의 예를 도시하는 개념도,
도7은 도2에 도시된 파형 메모리에 기억해야 하는 파형 데이터의 작성순서의 일례를 도시하는 플로우도,
도8은 그 파형 메모리에 기억해야 하는 파형 데이터에 관하여, 사전에 마이크 처리를 실시하는 순서의 일례를 도시하는 플로우도,
도9는 그 파형 메모리의 기억 포맷을 약시하는 도면,
도10은 그 파형 메모리에 있어서 파형 데이터의 기억예와, 그 파형 데이터의 구간분할예를 모사적으로 도시하는 도면,
도11은 도1에 도시된 제어부가 실행하는 처리 프로그램의 메인 루틴을 예시하는 플로우도,
도12는 도11에서의 건반스위치처리에 있어서 행해지는 키 온 이벤트처리를 예시하는 플로우도,
도13은 도11에서의 연주조작자 처리의 일례를 도시하는 플로우도,
도14는 동 TSC제어에 있어서 제어법의 변형예로서, 도2에 도시된 가상연출 어드레스연산기로부터 발생하는 가상판독 어드레스가 배선형적 특성을 보이는 예를 도시하는 것으로, 압축제어를 행할 경우에 관한 파형 메모리 판독 어드레스의 시간적 진행상태의 일례를 도시하는 그래프,
도15는 TSC제어에서의 제어법의 변형예로서, 도2에 도시된 가상연출 어드레스연산기로부터 발생하는 가상판독 어드레스가 배선형적 특성을 보이는 예를 도시하는 것으로, 압축제어를 행할 경우에 관한 파형 메모리 판독 어드레스의 시간적 진행상태의 일례를 도시하는 그래프,
도16은 TSC제어에서의 제어법의 다른 변형예로서, 발생악음의 음고가 상대적으로 높은 경우는 신장제어를 행함으로써 일정한 발음시간길이를 보존할 수 있도록 한 제어예를 도시하는 것으로, 그 경우의 파형 메모리 판독 어드레스의 시간적 진행상태의 일례를 도시하는 그래프,
도17은 TSC제어에서의 제어법의 다른 변형예로서, 발생악음의 음고가 상대적으로 낮은 경우는 압축제어를 행함으로써 일정한 발음시간길이를 보존할 수 있도록 한 제어예를 도시하는 것으로, 그 경우의 파형 메모리 판독 어드레스의 시간적 진행상태의 일례를 도시하는 그래프,
도18은 TSC제어에서의 제어법의 또 다른 변형예로서, 시간적으로 변화하는 TSC제어예를 도시하는 것으로, 그 경우의 파형 메모리 판독 어드레스의 시간적 진행상태의 일례를 도시하는 그래프,
도19는 파형 메모리에서의 파형 데이터의 다른 기억예를 모사적으로 도시하는 도면,
도20은 연주조작자처리의 다른 예를 도시하는 플로우도,
도21은 도1에 도시한 전자악기의 구성의 변경예를 도시하는 전체구성블록도,
도22는 도21에 도시된 제어부에 의해 실행되는 MIDI입력이벤트처리의 일례를 도시하는 플로우도,
도23은 도21에 도시된 제어부에 의해 실행되는 노트 온 처리의 일례를 도시하는 플로우도,
도24는 도21에 도시된 제어부에 의해 실행되는 리얼 타임제어 데이터수신처리의 일례를 도시하는 플로우도,
도25는 도21에 도시된 제어부에 의해 실행되는 주법 판정에 관련되는 인터럽트(interrupt)처리의 일례를 도시하는 플로우도,
도26은 주법에 대응하여 기억하는 파형 데이터의 파형 데이터예를 모사적으로 도시하는 도면,
도27은 슬러(Slur)주법이 행해지는 경우의 파형 판독예를 도시하는 도면,
도28은 피치벤드주법이 행해질 경우의 파형 판독예를 도시하는 도면,
도29는 TSC제어의 다른 실시예로서, 패턴화한 몇 개의 크로스페이드법을「기준의 재생시간에 대한 신축비」에 따라 선택적으로 조합시켜 사용하는 방식을 채용할 경우의, 도1 또는 도21에 도시된 파형발생부의 대략 구성을 예시하는 블록도,
도30은 도29에서의 파형 메모리 판독부의 상세예를 도시하는 블록도,
도31은 도30의 상세예에 따른 TSC제어의 기본개념을 설명하기 위한 도면,
도32는 도30의 상세예에 따른 TSC제어에 있어서, 제1계열번째에서 판독하는 파형 구간과 제2계열번째에서 판독하는 파형구간의 크로스페이드의 모습을 도시하는 도면,
도33은 도30의 상세예에 따른 TSC제어에 있어서, 어택부 및 루프부를 가지는 파형 데이터의 기억예 및 그 판독예를 도시하는 도면,
도34는 도30에 도시된 연산부의 처리내용을 3종류의 다른 처리(S처리, N처리 및 C처리)별로 정리하여 일람하는 설명도,
도35는 상기 3종류의 다른 처리(S처리, N처리 및 C처리)의 선택결정의 방법을 도시하는 설명도,
도36은 도35를 더욱 일반화하여 도시하는 설명도,
도37은 도30의 상세예에 따른 TSC제어에 있어서, CRate=1.5인 때의 제어예를 도시하는 도면,
도38은 도30의 상세예에 따른 TSC제어에 있어서, CRate=1인 때의 제어예를 도시하는 도면,
도39는 도30의 상세예에 따른 TSC제어에 있어서, CRate=0.75인 때의 제어예를 도시하는 도면,
도40은 도30의 상세예에 따른 TSC제어에 있어서, 신축비의 변화예를 도시하는 도면,
도41은 본 발명에 관한 TSC제어에서 사용하는 제어 패러미터를, 임의의 시간변화상태에서 패턴화하여 테이블 등에 기억해 두는 예를 도시하는 그래프,
도42는 본 발명에 관한 TSC제어에서 사용하는 제어 패러미터를, 임의의 시간변화상태에서 패턴화하여, 절선 그래프에 발생하는 예를 도시하는 도면,
도43은 도41 및 도42에 예시된 바와 같은 TSC제어용의 제어패러미터의 시간변화패턴을 이용한 음색제어법의 일례를 도시하는 것으로, 하나의 음색에 대응하는 각종의 제어정보 테이블의 구성예를 도시하는 도면,
도44는 본 발명에 따른 TSC제어를 적용할 수 있는, 컴퓨터 소프트웨어를 이용한 음원 시스템의 실시에 사용하는 하드웨어 구성예를 도시하는 전체블록도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
100 : 설정조작자 101A : 건반
101B : 기타 연주조작자 101 : MIDI인터페이스
102 : 제어부 103 : 음원부
104 : 디지털·아날로그변환기(DAC)
105 : 사운드시스템 111 : 파형발생부
112 : 음량제어부 113 : 제어레지스터
114 : 채널누산부 10, 301 : 파형 메모리
13 : 크로스페이드합성부 14 : 교체제어회로
16 : 실제판독 어드레스 연산기 17 : 가상판독 어드레스 연산기
302 : 연산부 303 : 사이클 내 가운터
304 : 인덱스 카운터 305, 306 : 주기장 격납레지스터
307 : 누적차분 격납레지스터 308 : 판독레지스터(rp레지스터)
309. 310 : 피치보간(補間)부 311, 312 : 승산기
313 : 보정부 314 : 가산기

Claims (34)

  1. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 어드레스위치를 시간의 함수로 지시하는 제어데이터를 발생하는 수단과, 지정된 음고에 따른 속도로 진행하는 판독어드레스를 발생하는 어드레스발생수단과, 상기 제어데이터가 지시하는 어드레스위치와 상기 어드레스발생수단으로부터 발생한 판독 어드레스의 위치를 비교하여, 그 비교결과에 따라서 어드레스발생수단이 발생하는 판독어드레스를 시프트하는 제어수단과, 상기 판독어드레스에 의거하여 상기 파형 메모리로부터 파형 데이터를 판독하는 수단을 구비한 것을 특징으로 하는 악음발생장치.
  2. 제1항에 있어서,
    상기 파형 메모리에 기억된 파형 데이터와, 복수의 구간으로 나누어져, 각 구간의 선두의 파형데이터의 위상이 거의 맞도록 관리되어 있으며, 상기 제어수단은, 상기 제어데이터가 지시하는 어드레스위치와 상기 어드레스발생수단으로부터 발생한 판독어드레스의 위치가 소정값 이상 괴리한 때, 상기 구간을 단위로 하여 상기 어드레스발생수단이 발생하는 판독 어드레스를 시프트하는 것을 특징으로 하는 악음발생장치.
  3. 제1항 또는 제2항에 있어서,
    상기 제어수단에 의해 상기 판독어드레스의 시프트를 행할 때, 시프트전의 판독어드레스의 진행에 의거하여 상기 파형 메모리로부터 판독한 파형 데이터와 시프트후의 판독어드레스의 진행에 의거하여 상기 파형 메모리로부터 판독한 파형 데이터를 크로스페이드합성하는 크로스페이드수단을 또한 구비한 것을 특징으로 하는 악음발생장치.
  4. 변조가 부여된 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 변조의 시간축을 제어하는 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라서 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과,
    상기 지정된 위치의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한 것을 특징으로 하는 악음발생장치.
  5. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 반복 판독을 행해야 하는 상기 파형 데이터의 소정의 부분에 대응하여 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라서 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 파형 데이터를 판독하는 것으로, 상기 소정의 부분을 반복 판독할 때에, 상기 지정된 위치의 파형 데이터를, 상기 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한 것을 특징으로 하는 악음발생장치.
  6. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 시간적으로 변화하는 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라 또한 상기 제어정보에 따라서 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 상기 지정된 의치의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한 것을 특징으로 하는 악음발생장치.
  7. 소정의 주법에 의한 소정 기간에 걸쳐 악음특성변화가 부여된 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 소정의 주법에 따르는 악음 발생기간을 제어하는 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라서 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 상기 지정된 위치의 파형데이터와, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한 것을 특징으로 하는 악음발생장치.
  8. 제7항에 있어서,
    상기 파형 메모리에 기억하는 파형 데이터에 부여된 악음특성변화는, 음고, 음색, 음량 중 적어도 하나의 변화인 것을 특징으로 하는 악음발생장치.
  9. 제7항 또는 제8항에 있어서,
    상기 제어정보는, 상기 소정의 주법에 따르는 악음발생기간의 개시시점과 종료시점을 지정하던지, 또는 그 한쪽과 변화시간을 지정하는 것임을 특징으로 하는 악음발생장치.
  10. 제7항 또는 제8항에 있어서,
    상기 제어정보는, 상기 소정의 주법에 따르는 악음발생기간의 개시시점과 종료시점의 한쪽과 변화속도를 지정하는 것임을 특징으로 하는 악음발생장치.
  11. 제1의 파형 데이터, 제2의 파형 데이터, 및 그 제1 및 제2의 파형을 연결하기 위한 소정의 악음특성변화가 부여된 복수 주기 파형으로 이루어진 제3의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 제1의 파형으로부터 상기 제2의 파형으로 이행하는 것이 지시된 때, 그 동안에 상기 제3의 파형을 삽입하여 판독하도록 상기 판독수단을 제어하는 수단과, 상기 제3의 파형을 사용하는 시간을 제어하는 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 제3의 파형 데이터의 적어도 일부분의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라서 시간축으로 신장 또는 압축하여, 지정하는 제어수단과, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 파형 데이터를 판독하는 것으로, 상기 제3의 파형 데이터를 판독할 때에, 상기 지정된 위치의 파형 데이터를, 상기 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한 것을 특징으로 하는 악음발생장치.
  12. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 소정의 부분적인 악음발생기간에 대응하여 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라서 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 상기 지정된 위치의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한 것을 특징으로 하는 악음발생장치.
  13. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 음색을 지정하는 수단과, 악음의 발생개시로부터의 시간경과에 따라, 지정된 음색에 대응하는 양태로 변화하는 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라서 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 지정된 음색에 대응한 복수 주기의 파형 데이터를 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 것으로, 상기 지정된 위치의 파형 데이터를, 상기 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비하여, 상기 파형 메모리에 기억되는 복수 주기 파형의 데이터가 적어도 두 개의 다른 음색으로 공용되며, 이 적어도 두 개의 다른 음색에 관한 상기 제어정보의 양태가 다르게 있는 것을 특징으로 하는 악음발생장치.
  14. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 악음의 발생중에 있어서 리얼 타임으로 제어정보를 발생하는 리얼 타임제어 정보발생수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라서 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 상기 지정된 위치의 파형 데이터를, 상기 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한 것을 특징으로 하는 악음발생장치.
  15. 복수 주기 파형의 파형 데이터를 복수 종류 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 복수 종류의 파형 데이터의 하나를 시간적으로 교환하여 지정하는 파형지정수단과, 제어정보를 발생하는 수단과, 상기 파형지정수단에 의해 지정된 데이터에 있어서, 상기 파형 메모리로부터 판독해야 하는 그 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라서 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 상기 지정된 위치의 파형 데이터를, 상기 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한 것을 특징으로 하는 악음발생장치.
  16. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 악음을 발생하는 시간길이를 제어하는 제어정보를 발생하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라서 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 상기 지정된 위치의 파형 데이터를, 상기 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 판독수단을 구비한 것을 특징으로 하는 악음발생장치.
  17. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리로부터의 파형 데이터의 판독에 의거하여 악음을 발생하는 방법에 있어서, 발생하고자 하는 악음의 음고를 지정하는 스텝과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 어드레스위치를 시간의 함수로 지시하는 제어데이터를 발행하는 스텝과, 지정된 음고에 따른 속도로 진행하는 판독어드레스를 발생하는 스텝과, 상기 제어 데이터가 지시하는 어드레스위치와 상기 어드레스발생수단으로부터 발생한 판독어드레스의 위치를 비교하여, 그 비교결과에 따라서 상기 판독 어드레스를 시프트하는 스텝과, 상기 판독어드레스에 의거하여 상기 파형 메모리로부터 파형 데이터를 판독하는 스텝을 구비한 것을 특징으로 하는 악음발생방법.
  18. 제17항에 있어서,
    상기 파형 메모리에 기억된 파형데이터는, 복수의 구간으로 나누어져, 각 구간의 선두 파형데이터의 위상이 거의 맞도록 관리되어 있으며, 상기 판독 어드레스를 시프트하는 스텝에서는, 상기 제어데이터가 지시하는 어드레스위치와 상기 판독 어드레스의 위치가 소정치 이상 괴리한 때, 상기 구간을 단위로 하여 그 판독 어드레스를 소정량만 시프트하는 것을 특징으로 하는 악음발생방법.
  19. 제17항에 있어서,
    상기 판독어드레스의 시프트를 행할 때, 시프트 전의 판독 어드레스의 진행에 의거하여 상기 파형 메모리로부터 판독한 파형 데이터와 시프트 후의 판독 어드레스의 진행에 의거하여 상기 파형 메모리로부터 판독한 파형 데이터를 크로스페이드합성하는 스텝을 구비한 것을 특징으로 하는 악음발생방법.
  20. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리로부터의 파형 데이터의 판독에 의거하여 악음을 발생하는 방법에 있어서, 발생하고자 하는 악음의 음고를 지정하는 스텝과, 제어정보를 발생하는 스텝과, 상기 파형 메모리로부터 판독해야 하는 파형 데이트의 분산적인 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라서 시간축으로 신장 또는 압축제어하여, 지정하는 스텝과, 상기 지정된 위치의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 스텝을 구비하며, 상기 지정된 음고를 가지고, 또한, 상기 제어정보에 따라서 시간축으로 신장 또는 압축제어된 특성의 파형 데이터로 이루어진 악음을 발생하는 것을 특징으로 하는 악음발생방법.
  21. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리로부터의 파형 데이터의 판독에 의거하여 악음을 발생하기 위해서, 발생하고자 하는 악음의 음고를 지정하는 스텝과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 어드레스위치를 시간의 함수로 지시하는 제어데이터를 발생하는 스텝과, 지정된 음고에 따른 속도로 진행하는 판독어드레스를 발생하는 스텝과, 상기 제어 데이터가 지시하는 어드레스위치와 상기 어드레스발생수단으로부터 발생한 판독 어드레스의 위치를 비교하여, 그 비교결과에 따라서 상기 판독 어드레스를 시프트하는 스텝과, 상기 판독 어드레스에 의거하여 상기 파형 메모리로부터 파형 데이터를 판독하는 스텝을 포함하는 순서를 실행하는 컴퓨터 프로그램을 기억하고 있는, 기계에 의해 독해가능한 기록매체.
  22. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리로부터의 파형 데이트의 판독에 의거하여 악음을 발생하기 위해서, 발생하고자 하는 악음의 음고를 지정하는 스텝과, 상기 정보를 발생하는 스텝과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 위치를, 시간경과에 따라, 또한 상기 제어정보에 따라서 시간축으로 신장 또는 압축제어하여, 지정하는 스텝과, 상기 지정된 위치의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 판독하는 스텝을 포함하는 순서를 실행하는 컴퓨터프로그램을 기억하고 있는, 기계에 의해 독해가능한 기억매체.
  23. 2계열에서 파형 데이터를 발생하는 파형발생수단과, 상기 파형 데이터 발생수단의 제1계열에서 발생하는 파형 데이터와 제2계열에서 발생하는 파형 데이터를 지시하는 파형지시수단과, 상기 제1계열의 파형 데이터로부터 제2계열의 파형 데이터로 이행하도록 크로스페이드합성을 행하는 크로스페이드합성수단과, 새로운 파형 데이터로서, 각각 개별 길이를 가지는 복수의 파형 데이터를 순차발생하도록 지시하며, 상기 크로스페이드 합성수단에 있어서는 이 새로운 파형 데이터의 길이에 대응한 주기로 크로스페이드합성을 행하도록 하는 제1제어수단과, 크로스페이드의 종료 후에, 상기 새로운 파형 데이터로 교환할 때 상기 파형지시수단을 제어하여, 그때까지 제2계열에서 발생하고 있던 데이터를 제1계열에서 발생하도록 지시를 변경하며, 제2계열에서는 그 새로운 파형 데이터를 발생하도록 지시하는 제2제어수단을 구비한 것을 특징으로 하는 악음발생장치.
  24. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를 시간경과에 따라 또한 시간축으로 신장 또는 압축제어하여 지정하여, 현 시점의 제1의 파형 데이터와 이것에 대하여 신장 또는 압축제어한 위치의 제2의 파형 데이터를 지시하는 파형지시수단과, 상기 지시된 제1 및 제2의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 각각 판독하여, 제1 및 제2계열에서 각각 출력하는 판독수단과, 항상 상기 제1계열의 파형 데이터로부터 제2계열의 파형 데이터로 이행하도록 크로스페이드합성을 행하는 크로스페이드합성수단과,크로스페이드의 종료 후에, 상기 파형지시수단에 의해 상기 제2의 파형 데이터의 위치에 대하여 신장 또는 압축제어한 새로운 위치의 파형 데이터를 지시할 때, 그때까지 제2계열에서 발생하고 있던 상기 제2의 파형 데이터를 제2계열에서 출력하도록 지시하여, 제2계열에서는 그 새로운 위치의 파형 데이터를 출력하도록 지시하는 제어수단을 구비한 것을 특징으로 하는 악음발생장치.
  25. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를 시간경과에 따라 또한 시간축으로 신장 또는 압축제어하여 지정하여, 현 시점의 제1의 파형 데이터와 이것에 대하여 신장 또는 압축제어한 위치의 제2의 파형 데이터를 지시하는 파형지시수단과, 상기 지시된 제1 및 제2의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 각각 판독하여, 제1 및 제2계열에서 각각 출력하는 판독수단과, 상기 제1 및 제2계열의 한쪽의 파형 데이터로부터 다른 쪽의 파형 데이터로 이행하도록 크로스페이드합성을 행하는 크로스페이드합성수단과, 크로스페이드의 종료 후에, 상기 파형지시수단에 의해 상기 제2의 파형 데이터의 위치에 대하여 신장 또는 압축제어한 새로운 위치의 파형 데이터를 지시할 때, 그 제2의 파형 데이터의 출력을 그때까지와 같은 계열에서 계속하여, 그 밖의 계열에서는 그 새로운 위치의 파형 데이터를 출력하도록 지시하고, 또한, 상기 크로스페이드합성수단에 있어서 크로스페이드의 방향을 교환하는 제어수단을 구비한 것을 특징으로 하는 악음발생장치.
  26. 복수 주기 파형의 파형 데이터를 기억한 파형 메모리와, 발생하고자 하는 악음의 음고를 지정하는 수단과, 상기 파형 메모리로부터 판독해야 하는 파형 데이터의 분산적인 위치를 시간경과에 따라 또한 시간축으로 신장 또는 압축제어하여, 지정하는 제어수단과, 상기 제어수단에 의한 지정에 따라서, 신장하는 경우는 현시점의 제1의 파형 데이터와 이것보다도 후의 시점에 위치하는 제2의 파형 데이터를 지시하며, 압축하는 경우는 현 시점의 제1의 파형데이터와 이것보다도 전의 시점에 위치하는 제2의 파형데이터를 지시하고, 신장도 압축도 실시하지 않는 경우는 현 시점의 제1의 파형 데이터와 이것과 같은 것을 제2의 파형 데이터로서 지시하는 파형지시수단과, 상기 지시된 제1 및 제2의 파형 데이터를, 지정된 음고에 따른 속도로 상기 파형 메모리로부터 각각 판독하는 판독수단과, 상기 제1의 파형 데이터로부터 제2의 파형 데이터로 이행하도록 크로스페이드합성을 행하는 크로스페이드합성수단을 구비한 것을 특징으로 하는 악음발생장치.
  27. 복수 주기의 제1파형 데이터를 발생하는 스텝과, 소정의 다이너믹하게, 그 때의 제1파형 데이터의 위상과 동 위상을 가지는 제2파형 데이터의 발생을 개시하는 스텝과, 소정 기간에 초기값「1」로부터 최후값「0」까지 감쇠하는 제1계수와, 동 기간에 초기값「0」에서 최종값「1」까지 증가하는 제2계수을 발생하는 스텝과, 제1파형 데이터에 제1계수를 승산함과 동시에, 제2파형 데이터에 제2계수를 승산하여, 두 개의 곱의 합을 산출하여 출력하는 스텝과, 상기 소정기간의 길이가, 제2파형 데이터의 파형주기의 길이로 되도록 제어하는 스텝을 구비한 것을 특징으로 하는 파형 데이터의 크로스페이드방법.
  28. 복수의 파형구간을 기억한 파형 메모리와, 악음의 발생, 및 악음의 음고를 지정하는 발음지시수단과, 상기 복수 파형구간의 판독위치의 진행을 제어하는 제어데이터를 발생하는 수단과, 지정된 음고에 따른 속도로 진행하는 판독어드레스를 발생하는 어드레스발생수단과, 상기 판독어드레스에 의거하여, 상기 파형 메모리로부터 파형데이터를 판독하는 판독수단과, 상기 제어데이터에 의거하는 판독위치의 진행과, 상기 어드레스발생수단에 의해 발생한 어드레스의 위치를 비교하여, 그 비교의 결과에 의거하여 상기 복수 파형구간 중 다음에 판독해야 하는 구간의 어드레스를 선택하고 판독어드레스에 의해 판독되는 파형데이터의 위상이 그 선택된 어드레스로 나타나는 위치의 파형데이터의 위상에 일치하는 포인트에서, 상기 어드레스발생수단이 선택된 파형구간의 판독어드레스를 발생 개시하도록 제어하는 제어수단과, 상기 판독수단이 판독한 파형데이터에 의거하여 파형을 재생하는 재생수단을 구비하는 것을 특징으로 하는 파형재생장치.
  29. 복수의 파형구간을 기억한 파형 메모리와, 악음의 발생, 및 악음의 음고를 지정하는 발음지지수단과, 상기 복수 파형구간의 판독위치의 진행을 제어하고, 또한 시간적으로 변화하는 데이터인 제어데이터를 발생하는 수단과, 지정된 음고에 따른 속도로 진행하는 어드레스를 발생하는 어드레스발생수단과, 상기 어드레스에 의거하여 상기 파형 메모리로부터 파형데이터를 판독하는 판독수단과, 소정의 재생기간마다, 상기 제어데이터에 의거하는 가상주기위치의 진행과, 상기 어드레스발생수단에 의해 발생한 어드레스의 파형구간위치를 비교하여, 그 비교결과에 의거하여 상기 복수 파형구간 중 다음에 판독해야하는 파형구간을 선택하여, 다음의 재생기간에 있어서 상기 어드레스발생수단이 선택된 파형 구간의 어드레스를 발생하도록 제어하는 제어수단과, 상기 판독수단이 판독한 파형데이터에 의거하여 파형을 재생하는 재생수단을 구비한 것을 특징으로 하는 파형재생장치.
  30. 제28항 또는 제29항에 있어서,
    전에 선택된 파형구간과, 다음에 선택된 파형구간을, 크로스페이드로 접속하는 것을 특징으로 하는 파형재생장치.
  31. 복수의 파형구간을 기억한 파형 메모리를 사용하여 파형을 재생하는 방법에 있어서, 악음의 발생, 및 악음의 음고를 지정하는 발음지시스텝과, 상기 복수 파형구간의 판독위치의 진행을 제어하는 제어데이터를 발생하는 스텝과, 지정된 음고에 따른 속도로 진행하는 판독어드레스를 발생하는 어드레스발생스텝과, 상기 판독어드레스에 의거하여, 상기 파형 메모리로부터 파형데이터를 판독하는 판독스텝과, 상기 제어데이터에 의거하는 판독위치의 진행과, 상기 어드레스발생스텝에 의해 발생한 어드레스의 위치를 비교하여, 그 비교의 결과에 의거하여 상기 복수 파형구간 중 다음에 판독해야하는 구간의 어드레스를 선택하여, 판독어드레스에 의해 판독되는 파형데이터의 위상이 그 선택된 어드레스로 나타나는 위치의 파형데이터의 위상에 일치하는 포인트에서, 상기 어드레스발생스텝이 선택된 파형구간의 판독어드레스를 발생 개시하도록 제어하는 제어스텝과, 상기 판독스텝이 판독한 파형데이터에의거하여 파형을 재생하는 재생스텝을 구비한 것을 특징으로 하는 파형재생방법.
  32. 복수의 파형구간을 기억한 파형 메모리를 사용하여 파형을 재생하는 방법에 있어서, 악음의 발생, 및 악음의 음고를 지정하는 발음지시스텝과, 상기 복수의 파형구간의 판독위치의 진행을 제어하고, 또한 시간적으로 변화하는 데이터인 제어데이터를 발생하는 스텝과, 지정된 음고에 따른 속도로 진행하는 어드레스를 발생하는 어드레스발생스텝과, 상기 어드레스에 의거하여 상기 파형 메모리로부터 파형데이터를 판독하는 판독스텝과, 소정의 재생기간마다, 상기 제어데이터에 의거하는 가상주기위치의 진행과, 상기 어드레스발생스텝에 의해 발생한 어드레스의 파형구간위치를 비교하여, 그 비교결과에 의거하여 상기 복수파형구간 중 다음에 판독해야 하는 파형구간을 선택하고, 다음의 재생기간에 있어서 상기 어드레스발생 스텝이 선택된 파형구간의 어드레스를 발생하도록 제어하는 제어스텝과, 상기 판독스텝이 판독한 파형데이터에 의거하여 파형을 재생하는 재생스텝을 구비한 것을 특징으로 하는 파형재생방법.
  33. 복수의 파형구간을 기억한 파형 메모리를 사용하여 파형을 재생하기 위해서, 악음의 발생, 및 악음의 음고를 지정하는 발음지시스텝과, 상기 복수 파형구간의 판독위치의 진행을 제어하는 제어데이터를 발생하는 스텝과, 지정된 음고에 따른 속도로 진행하는 판독어드레스를 발생하는 어드레스발생스텝과, 상기 판독어드레스에 의거하여, 상기 파형 메모리로부터 파형데이터를 판독하는 판독스텝과, 상기 제어데이터에 의거하는 판독위치의 진행과, 상기 어드레스발생스텝에 의해 발생한 어드레스의 위치를 비교하여, 그 비교의 결과에 의거하여 상기 복수 파형구간 중 다음에 판독해야하는 구간의 어드레스를 선택하여, 판독어드레스에 의해 판독되는 파형데이터의 위상이 그 선택된 어드레스로 나타나는 위치의 파형데이터의 위상에 일치하는 포인트에서, 상기 어드레스발생스텝이 선택된 파형구간의 판독어드레스를 발생하도록 제어하는 제어스텝과, 상기 판독스텝이 판독한 파형데이터에 의거하여 파형을 재생하는 재생스텝을 포함하는 순서를 실행하는 컴퓨터 프로그램을 기억하고 있는, 기계에 의해 판독가능한 기록매체.
  34. 복수의 파형구간을 기억한 파형 메모리를 사용하여 파형을 재생하기 위해서, 악음의 발생, 및 악음의 음고를 지정하는 발음지시스텝과, 상기 복수 파형구간의 판독위치의 진행을 제어하고, 또한 시간적으로 변화하는 데이터인 제어데이터를 발생하는 스텝과, 지정된 음고에 따른 속도로 진행하는 판독어드레스를 발생하는 어드레스발생스텝과, 상기 판독어드레스에 의거하여, 상기 파형 메모리로부터 파형데이터를 판독하는 판독스텝과, 소정의 재생기간마다, 상기 제어데이터에 의거하는 가상주기위치의 진행과, 상기 어드레스발생스텝에 의해 발생한 어드레스의 파형구간위치를 비교하여, 그 비교결과에 의거하여 상기 복수 파형구간 중 다음에 판독해야하는 파형구간을 선택하여, 다음의 재생기간에 있어서 상기 어드레스발생스텝이 선택된 파형구간의 어드레스를 발생하도록 제어하는 제어스텝과, 상기 판독스텝이 판독한 파형데이터에 의거하여 파형을 재생하는 재생스텝을 포함하는 순서를 실행하는 컴퓨터 프로그램을 기억하고 있는, 기계에 의해 판독가능한 기록매체.
KR10-1998-0002627A 1997-01-31 1998-01-31 악음발생장치및방법 KR100484240B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP03290897A JP3395560B2 (ja) 1997-01-31 1997-01-31 波形再生装置および波形データのクロスフェード方法
JP97-032908 1997-01-31
JP97-130394 1997-05-02
JP13039497A JP3397082B2 (ja) 1997-05-02 1997-05-02 楽音発生装置および方法

Publications (2)

Publication Number Publication Date
KR19980070963A KR19980070963A (ko) 1998-10-26
KR100484240B1 true KR100484240B1 (ko) 2005-08-17

Family

ID=26371510

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0002627A KR100484240B1 (ko) 1997-01-31 1998-01-31 악음발생장치및방법

Country Status (6)

Country Link
US (1) US6169240B1 (ko)
EP (1) EP0856830B1 (ko)
KR (1) KR100484240B1 (ko)
CN (1) CN1192351C (ko)
DE (1) DE69804518T2 (ko)
SG (1) SG65729A1 (ko)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3910702B2 (ja) 1997-01-20 2007-04-25 ローランド株式会社 波形発生装置
JP3902860B2 (ja) * 1998-03-09 2007-04-11 キヤノン株式会社 音声合成制御装置及びその制御方法、コンピュータ可読メモリ
JP3644263B2 (ja) 1998-07-31 2005-04-27 ヤマハ株式会社 波形形成装置及び方法
JP4170458B2 (ja) 1998-08-27 2008-10-22 ローランド株式会社 波形信号の時間軸圧縮伸長装置
US6323797B1 (en) * 1998-10-06 2001-11-27 Roland Corporation Waveform reproduction apparatus
US6144939A (en) * 1998-11-25 2000-11-07 Matsushita Electric Industrial Co., Ltd. Formant-based speech synthesizer employing demi-syllable concatenation with independent cross fade in the filter parameter and source domains
JP3430968B2 (ja) 1999-05-06 2003-07-28 ヤマハ株式会社 ディジタル信号の時間軸圧伸方法及び装置
US6392135B1 (en) 1999-07-07 2002-05-21 Yamaha Corporation Musical sound modification apparatus and method
JP4300641B2 (ja) * 1999-08-10 2009-07-22 ヤマハ株式会社 マルチトラック音源信号の時間軸圧伸方法及び装置
JP4895418B2 (ja) * 1999-08-24 2012-03-14 ソニー株式会社 音声再生方法および音声再生装置
JP2001100760A (ja) 1999-09-27 2001-04-13 Yamaha Corp 波形生成方法及び装置
JP3829549B2 (ja) 1999-09-27 2006-10-04 ヤマハ株式会社 楽音生成装置及びテンプレート編集装置
JP3654084B2 (ja) 1999-09-27 2005-06-02 ヤマハ株式会社 波形生成方法及び装置
JP3601371B2 (ja) 1999-09-27 2004-12-15 ヤマハ株式会社 波形生成方法及び装置
JP3654080B2 (ja) 1999-09-27 2005-06-02 ヤマハ株式会社 波形生成方法及び装置
JP3654082B2 (ja) 1999-09-27 2005-06-02 ヤマハ株式会社 波形生成方法及び装置
JP3654083B2 (ja) 1999-09-27 2005-06-02 ヤマハ株式会社 波形生成方法及び装置
JP3654079B2 (ja) 1999-09-27 2005-06-02 ヤマハ株式会社 波形生成方法及び装置
JP4293712B2 (ja) 1999-10-18 2009-07-08 ローランド株式会社 オーディオ波形再生装置
DE10051398B4 (de) * 1999-10-18 2007-03-15 Roland Corp. Gerät zur Wiedergabe einer Audiowellenform
US7010491B1 (en) * 1999-12-09 2006-03-07 Roland Corporation Method and system for waveform compression and expansion with time axis
JP2001282246A (ja) * 2000-03-31 2001-10-12 Kawai Musical Instr Mfg Co Ltd 波形データ時間伸張圧縮装置
US6686522B2 (en) 2000-06-22 2004-02-03 Shinko Corporation Musical instrument with a body made of polyurethane foam
SG118122A1 (en) 2001-03-27 2006-01-27 Yamaha Corp Waveform production method and apparatus
JP3873654B2 (ja) * 2001-05-11 2007-01-24 ヤマハ株式会社 オーディオ信号生成装置、オーディオ信号生成システム、オーディオシステム、オーディオ信号生成方法、プログラムおよび記録媒体
JP3838353B2 (ja) * 2002-03-12 2006-10-25 ヤマハ株式会社 楽音生成装置および楽音生成用コンピュータプログラム
US7676142B1 (en) 2002-06-07 2010-03-09 Corel Inc. Systems and methods for multimedia time stretching
US7189913B2 (en) * 2003-04-04 2007-03-13 Apple Computer, Inc. Method and apparatus for time compression and expansion of audio data with dynamic tempo change during playback
US7233832B2 (en) * 2003-04-04 2007-06-19 Apple Inc. Method and apparatus for expanding audio data
JP4201679B2 (ja) * 2003-10-16 2008-12-24 ローランド株式会社 波形発生装置
US8598864B2 (en) * 2004-12-23 2013-12-03 Power Survey Llc Apparatus and method for monitoring and controlling detection of stray voltage anomalies
WO2006070768A1 (ja) * 2004-12-27 2006-07-06 P Softhouse Co., Ltd. オーディオ波形処理装置、方式およびプログラム
US7664558B2 (en) * 2005-04-01 2010-02-16 Apple Inc. Efficient techniques for modifying audio playback rates
JP2007011217A (ja) * 2005-07-04 2007-01-18 Yamaha Corp 楽音合成装置及びプログラム
JP5011803B2 (ja) * 2006-04-24 2012-08-29 ソニー株式会社 オーディオ信号伸張圧縮装置及びプログラム
US8855275B2 (en) * 2006-10-18 2014-10-07 Sony Online Entertainment Llc System and method for regulating overlapping media messages
US20090024388A1 (en) * 2007-06-11 2009-01-22 Pandiscio Jill A Method and apparatus for searching a music database
EP2171887B1 (en) * 2007-07-23 2016-12-21 Tyco Electronics Subsea Communications Llc Signaling between elements in an undersea optical communication system
JP5141688B2 (ja) * 2007-09-06 2013-02-13 富士通株式会社 音信号生成方法、音信号生成装置及びコンピュータプログラム
CN101448186B (zh) * 2007-11-26 2012-07-18 鸿富锦精密工业(深圳)有限公司 扬声器音效自动调整系统及方法
TWI403188B (zh) * 2007-12-07 2013-07-21 Hon Hai Prec Ind Co Ltd 揚聲器音效自動調整系統及方法
JP4548516B2 (ja) * 2008-05-26 2010-09-22 カシオ計算機株式会社 Firフィルタ装置、音響装置およびfirフィルタプログラム
CN101923860B (zh) * 2009-06-11 2012-07-04 英华达(南京)科技有限公司 音讯柔化系统、装置与方法
JP5891656B2 (ja) 2011-08-31 2016-03-23 ヤマハ株式会社 伴奏データ生成装置及びプログラム
JP5533892B2 (ja) * 2012-01-06 2014-06-25 ヤマハ株式会社 演奏装置
JP6191459B2 (ja) * 2012-06-26 2017-09-06 ヤマハ株式会社 オーディオ波形データを使用する自動演奏技術
JP6019803B2 (ja) * 2012-06-26 2016-11-02 ヤマハ株式会社 自動演奏装置及びプログラム
JP6252088B2 (ja) * 2013-10-09 2017-12-27 ヤマハ株式会社 波形再生を行うためのプログラム、波形再生装置及び方法
US8873194B1 (en) * 2014-04-01 2014-10-28 Lsi Corporation Touchdown detection in magnetic disk storage devices
US10083682B2 (en) * 2015-10-06 2018-09-25 Yamaha Corporation Content data generating device, content data generating method, sound signal generating device and sound signal generating method
US9626947B1 (en) * 2015-10-21 2017-04-18 Kesumo, Llc Fret scanners and pickups for stringed instruments
JP6388048B1 (ja) * 2017-03-23 2018-09-12 カシオ計算機株式会社 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
US11232774B2 (en) * 2017-04-13 2022-01-25 Roland Corporation Electronic musical instrument main body device and electronic musical instrument system
US10482858B2 (en) * 2018-01-23 2019-11-19 Roland VS LLC Generation and transmission of musical performance data
US11601136B2 (en) * 2021-06-30 2023-03-07 Bank Of America Corporation System for electronic data compression by automated time-dependent compression algorithm

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH045692A (ja) * 1990-04-23 1992-01-09 Casio Comput Co Ltd 電子楽器
JPH0458291A (ja) * 1990-06-28 1992-02-25 Casio Comput Co Ltd 楽音波形発生装置
JPH06149260A (ja) * 1992-11-06 1994-05-27 Kawai Musical Instr Mfg Co Ltd 楽音発生装置
JPH07181974A (ja) * 1993-12-22 1995-07-21 Yamaha Corp 楽音発生装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58142396A (ja) 1982-02-18 1983-08-24 ヤマハ株式会社 楽音発生装置
JPS5997195A (ja) 1982-11-26 1984-06-04 ヤマハ株式会社 電子楽器
US5086685A (en) 1986-11-10 1992-02-11 Casio Computer Co., Ltd. Musical tone generating apparatus for electronic musical instrument
JP3175179B2 (ja) * 1991-03-19 2001-06-11 カシオ計算機株式会社 デジタルピッチシフター
US5522010A (en) 1991-03-26 1996-05-28 Pioneer Electronic Corporation Pitch control apparatus for setting coefficients for cross-fading operation in accordance with intervals between write address and a number of read addresses in a sampling cycle
US5412152A (en) * 1991-10-18 1995-05-02 Yamaha Corporation Device for forming tone source data using analyzed parameters
US5386493A (en) 1992-09-25 1995-01-31 Apple Computer, Inc. Apparatus and method for playing back audio at faster or slower rates without pitch distortion
JP3221987B2 (ja) 1993-09-03 2001-10-22 ヤマハ株式会社 遅延時間変調効果装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH045692A (ja) * 1990-04-23 1992-01-09 Casio Comput Co Ltd 電子楽器
JPH0458291A (ja) * 1990-06-28 1992-02-25 Casio Comput Co Ltd 楽音波形発生装置
JPH06149260A (ja) * 1992-11-06 1994-05-27 Kawai Musical Instr Mfg Co Ltd 楽音発生装置
JPH07181974A (ja) * 1993-12-22 1995-07-21 Yamaha Corp 楽音発生装置

Also Published As

Publication number Publication date
CN1192351C (zh) 2005-03-09
DE69804518T2 (de) 2002-11-14
DE69804518D1 (de) 2002-05-08
CN1197974A (zh) 1998-11-04
SG65729A1 (en) 1999-06-22
US6169240B1 (en) 2001-01-02
EP0856830A1 (en) 1998-08-05
KR19980070963A (ko) 1998-10-26
EP0856830B1 (en) 2002-04-03

Similar Documents

Publication Publication Date Title
KR100484240B1 (ko) 악음발생장치및방법
EP0750776B1 (en) Method and apparatus for changing the timbre and/or pitch of audio signals
US6255576B1 (en) Device and method for forming waveform based on a combination of unit waveforms including loop waveform segments
US6687674B2 (en) Waveform forming device and method
US20070000371A1 (en) Tone synthesis apparatus and method
US7432435B2 (en) Tone synthesis apparatus and method
US20060272482A1 (en) Tone synthesis apparatus and method
JP3008922B2 (ja) 楽音発生装置および楽音発生方法
JP5152373B2 (ja) 楽音生成装置及びプログラム
JP3397082B2 (ja) 楽音発生装置および方法
JPH09101786A (ja) Dspによるメロディ発生装置
JPH10260685A (ja) 波形発生装置
JP3520781B2 (ja) 波形生成装置及び方法
JP3095018B2 (ja) 楽音発生装置
JP3395560B2 (ja) 波形再生装置および波形データのクロスフェード方法
JP3873268B2 (ja) 波形再生装置
JP2591160B2 (ja) 波形選択合成装置
JP4803043B2 (ja) 楽音生成装置及びプログラム
JP4612254B2 (ja) 波形再生装置
JP3486938B2 (ja) レガート演奏可能な電子楽器
JP3562341B2 (ja) 楽音データの編集方法及び装置
JP4826276B2 (ja) 楽音合成装置及びプログラム
JPH10254448A (ja) 自動伴奏装置及び自動伴奏制御プログラムを記録した媒体
JP2591159B2 (ja) 波形選択合成装置
JPH0766268B2 (ja) 楽音発生装置

Legal Events

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

Payment date: 20120323

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130318

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee