KR100288328B1 - 가변 알고리즘 음원 및 음색편집장치 - Google Patents

가변 알고리즘 음원 및 음색편집장치 Download PDF

Info

Publication number
KR100288328B1
KR100288328B1 KR1019960019440A KR19960019440A KR100288328B1 KR 100288328 B1 KR100288328 B1 KR 100288328B1 KR 1019960019440 A KR1019960019440 A KR 1019960019440A KR 19960019440 A KR19960019440 A KR 19960019440A KR 100288328 B1 KR100288328 B1 KR 100288328B1
Authority
KR
South Korea
Prior art keywords
program
basic
function
module
algorithm
Prior art date
Application number
KR1019960019440A
Other languages
English (en)
Other versions
KR970002842A (ko
Inventor
마사시 히라노
야마다히데오
Original Assignee
우에시마 세이스케
야마하 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 우에시마 세이스케, 야마하 가부시키가이샤 filed Critical 우에시마 세이스케
Publication of KR970002842A publication Critical patent/KR970002842A/ko
Application granted granted Critical
Publication of KR100288328B1 publication Critical patent/KR100288328B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H5/00Instruments in which the tones are generated by means of electronic generators
    • 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/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • G10H7/004Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof with one or more auxiliary processor in addition to the main processing unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • 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
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/091Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith
    • G10H2220/101Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters
    • G10H2220/106Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters using icons, e.g. selecting, moving or linking icons, on-screen symbols, screen regions or segments representing musical elements or parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/615Waveform editing, i.e. setting or modifying parameters for waveform synthesis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

음원장치에 있어서 소정의 악음 합성에 선택적으로 사용하는 대응 기본 기능을 나타내는 여러 기능 블럭을 포함하는 블럭도를 디스플레이 장치가 표시한다. 제2 메모리는 활성 기본 프로그램이 대응 기본 기능을 활성시키도록 설계되며, 비활성 기본 프로그램이 대응 기본 기능을 비활성시키도록 설계된 한 쌍의 활성 기본 프로그램 및 비활성 기본 프로그램을 가상 기억한다. 편집장치는 소정의 악음 합성에 대응 기본 기능이 소정의 악음 합성에 대응 기본 기능이 필요한 경우 각 기능블럭이 비선택되어 소정의 악음 합성을 위한 연산 수순을 형성하는 알고리즘을 편집한다. 어셈블러 장치는 대응 기본 기능을 활성화하도록 각 선택 기능 블럭에 대해 제2 메모리로부터 활성 기본 프로그램을 검색하며, 상기 대응 기본 기능을 비활성화하도록 각 비선택 기능 블럭에 대해 비활성 기본 프로그램을 검색해서 상기 검색된 프로그램을 완전한 프로그램으로 어셈블한다. 제1메모리는 완전한 프로그램을 기억하며, 악음 발생장치는 제1메모리에 접속되어 상기 기억된 완전 프로그램에 따라 편집 연산 수순을 실행하여 소정의 악음을 발생한다.

Description

가변 알고리즘 음원 및 음색편집장치
제l도는 본 발명의 제 1실시예에 따른 알고리즘 편집장치를 가지는 프로그램 가능 음원을 이용한 전자악기의 개략적인 블럭도.
제2도는 상기 실시예에 의해 편집된 악음발생 알고리즘의 일례를 도시한 도면.
제3도는 알고리즘 편집모드에서 처리된 디스플레이스크린의 일례를 도시한 도면.
제4도는 상기 알고리즘 편집모드에서 처리된 디스플레이 스크린의 다른 일례를 도시한 도면.
제5도는 본 실시예의 ROM 및 RAM의 메모리 랩을 나타내는 도면.
제6도는 마이크로프로그램 플랙의 일례를 도시한 도면.
제7도는 상기 ROM에 기억된 DSP 기본 마이크로프로그램의 내용을 도시한 도면.
제8도는 각각의 마이크로프로그램의 처리와 데이터 입출력의 관계를 도시하는 도면.
제9a도 및 제9b도는 상기 실시예의 음원관리절차의 주요 루틴을 도시하는 플로우차트.
제10도는 음색설정처리를 상세히 도시한 플로우차트.
제ll도는 상기 음색설정처리를 상세히 도시하는 플로우차트.
제12도는 상기 음색설정처리를 상세히 도시하는 플로우차트.
제13도는 상기 음색설정처리를 상세히 도시하는 플로우차트.
제14도는 상기 음색설정처리를 상세히 도시하는 플로우차트.
제15도는 상기 음색설정처리를 상세히 도시하는 플로우차트.
제16도는 상기 음색설정처리를 상세히 도시하는 플로우차트.
제17도는 상기 음색설정처리를 상세히 도시하는 플로우차트.
제18도는 본 발명에 따른 전자악기의 제 2실시예를 도시하는 개략 블럭도.
제19도는 상기 제 2실시예의 외관을 도시하는 도면.
제20도는 제 2 실시예에 포함된 RAM의 메모리 맵도.
제2l도는 일례의 모듈화상을 도시하는 도면.
제22a도 내지 제22h도는 패치화상에서 모듈의 설정을 도시하는 도면.
제23도는 일예의 패치화상을 도시하는 도면.
제24도는 제 2예의 패치화상을 도시하는 도면.
제25도는 제 2실시예에서 실행된 메인 프로그램루틴을 도시하는 도면.
제26도는 CPU 음원처리의 루틴을 도시하는 플로우차트.
제27도는 패치편집처리의 한 루틴을 도시하는 플로우차트.
제28도는 상세한 패치편집처리를 도시하는 플로우차트.
제29a도 내지 제29b도는 제 2실시예의 동작을 도시하는 타이밍도.
제3Oa도 내지 제3Ob도는 제 2실시예의 동작을 도시하는 다른 타이밍도.
제31도는 본 발명에 따른 전자악기의 제 3실시예를 도시하는 개략적인 블럭도.
〈도면의 주요부분에 대한 부호의 설명〉
101 : CPU 102 : ROM
103 : RAM 104 : 디스크 드라이브
105 : 연주조작자 106 : 편집조작자
107 : 디스플레이 108 : 음원
109 : DAC 110 : 버스라인
111 : 연산용 RAM 112 : 마이크로프로그램 RAM
113 : 파라미터 RAM 114 : 데이터 프로세서
본 발명은 한정된 데이타처리단계로 여러 가지의 음색을 합성할 수 있으며 소망의 악음발생 알고리즘을 자유로이 설정할 수 있는 알고리즘 편집장치를 가지는 음원에 관한 것이다.
종래기술에 있어서 DSP (디지털신호처리기: digital signal processor )에 의해 마이크로프로그램에 따라 소정의 데이타처리를 행하여 악음을 합성할 수 있는 음원장치가 알려져 있다. 예를 들면 특개평 5-173576호에는 선택된 음색에 상응하는 마이크로프로그램이 DSP 및 RAM으로 이루어진 음원회로에 전달될 수 있는 음원이 개시되어 있는데 상기 음원회로는 선택된 음색에 대응하는 악음신호를 발생하도록 마이크로프로그램을 수행한다.
상기 음원장치에 있어서 음색을 변경하기 위해서는 미리 준비된 여러 악음발생알고리즘으로부터 소정의 악음발생알고리즘이 선택된 후 악음발생시 소정의 음색을 생성하도록 악음제어파리미터가 변경된다. 따라서 음색설정동안 알고리즘이 변경되면 구 알고리즘에 채용된 악음제어 파라미터는 신 알고리즘에서는 동작하지 않아서 유저는 시동부터 다시 악음제어파라미터를 설정해야한다. 또한 종래의 음원에 있어서 불필요한 기능을 비활성화 시키도록 관련 파라미터를 변경함으로써 악음발생알고리즘에 있어서 기본적인 기능선택이 행해진다. 예를 들면 악음발생알고리즘에서 노이즈발생기가 불필요한 경우에 상기 노이즈발생기의 출력을 '제로'로 턴 오프 시키도록 관련파라미터가 설정된다. 이 경우 노이즈발생기 자체에 대응하는 마이크로프로그램은 변경되지 않는다. 따라서 악음발생알고리즘은 상기 파라미터를 변경함으로써 실질적으로 변형된다. 그러나 상기 마이크로프로그램의 연산스텝 수는 악음발생알고리즘의 변경에 무관하게 고정된다. 이로 인해 악음발생알고리즘을 간략화한 것으로 변경하여도 DSP에 의해 다른 처리를 행하거나 악음발생채널을 증가시키는 것이 불가능한데 이는 악음발생을 위한 총 연산스텝 수가 불변하여 DSP가 악음발생 이외의 다른 일을 실행할 수 없기 때문이다.
본 발명의 목적은 디지털신호처리에 의해 악음신호를 발생하는 음원장치에서 제한된 하드웨어규모 및 제한된 마이크로프로그램의 스텝수로 폭넓은 음색을 합성할 수 있는 악음발생알고리즘의 편집의 자유도를 유저에게 제공하는데 있다.
본 발명에 따르면 음원장치는 임의의 악음의 컴퓨터 합성에 일반적으로 사용하는 여러 기본 기능 중 각각을 선택 또는 비선택함으로써 소망의 악음의 컴퓨터합성을 위한 연산수순을 형성하는 특징 알고리즘을 펀집하기 위한 편집수단, 상기 편집된 특징 알고리즘에 대응하는 컴퓨터프로그램을 어셈블링하는 어셈블러수단, 어셈블된 컴퓨터프로그램을 기억하는 메모리수단, 상기 기억된 컴퓨터프로그램에 따라 연산수순을 수행하여 소정의 악음을 발생하는 악음발생수단을 구비한다.
본 발명의 한 특징에 따르면, 본 발명의 음원장치는 소망의 악음의 합성에 선택적으로 사용할 수 있는 대응하는 기본기능을 나타내는 여러 기능 블럭을 포함하는 블럭도를 디스플레이 하는 디스플레이수단, 각각의 기능블럭용의 한 쌍의 프로그램 중 활성(active) 기본 프로그램이 대응하는 기본기능을 나타내도록 설계되며 비활성(inactive) 기본 프로그램이 대응하는 기본 기능을 나타내지 않게 설계되도록 상기 한 쌍의 활성 기본 프로그램 및 상기 비활성 기본 프로그램을 가상 기억하는 제 2메모리수단, 소망의 악음의 합성을 위해 상기 대응 기본기능이 필요한 경우 각각의 기능블럭이 선택되며 소망의 악음의 합성을 위해 상기 대응 기본기능이 불필요한 경우 상기 블럭이 선택되지 않도록 해서 소망의 악음의 합성을 위한 연산수순을 형성하는 알고리즘을 편집하도록 상기 디스플레이 블럭도를 도식적으로(graphically) 처리하는 편집수단 및 상기 대응 기본기능을 작동 가능하도록 하여 (enable) 상기 제2 메모리수단으로부터 각각의 선택기능블럭에 대한 활성 기본 프로그램을 검색하며, 상기 대응 기본기능을 작동 불가능하도록 하여 (disable) 각각의 비선택 기능블럭에 대한 비활성 기본 프로그램을 검색하여 상기 활성 및 비활성 기본 프로그램 중 검색된 한 프로그램을 상기 편집된 알고리즘에 따라 완전한 프로그램으로 어셈블하는 어셈블러수단, 상기 완전프로그램을 기억하는 제 1기억수단 및 상기 기억된 완전프로그램에 따라 편집 연산수순을 실행하여 소정의 악음을 발생하는 악음발생수단을 포함한다. 바람직하게 상기 제 2메모리수단은 마이크로프로그램의 형태로 기본프로그램을 기억하는 수단을 포함한다.
또한 본 발명에 따르면 음색발생장치는 디지털신호처리기를 가동시켜서 소정의 음색을 가지는 악음을 발생하도록 상기 디지털신호처리기에 로드되는 완전한 프로그램으로 상기 마이크로프로그램을 어셈블한다. 상기 악음발생장치는 소정의 음색발생에 선택적으로 이용할 수 있는 대응 기본 기능을 나타내는 여러 기능블럭을 포함하는 블럭도를 디스플레이 하는 디스플레이수단, 각각의 기능블럭용의 한 쌍의 프로그램 중 활성 기본 프로그램이 대응기본기능을 나타내도록 설계되며 비활성 기본 프로그램이 대응하는 기본기능을 나타내지 않게 설계되도록 상기 한 쌍의 활성 기본 프로그램 및 상기 비활성 기본 프로그램을 기억하는 메모리수단, 상기 대응 기능이 소망의 음색에 도움이 되는 경우 각각의 기능블럭이 선택되며 상기 대응 기본기능이 소망의 음색에 도움이 되지 않는 경우 상기 블럭이 선택되지 않도록 해서 소망의 음색의 생성을 위한 연산수순을 형성하는 알고리즘을 편집하도록 상기 디스플레이 블럭도를 도식적으로 처리하는 편집수단, 및 상기 대응 기본기능을 인에이블 시키도록 상기 메모리수단으로부터 각각의 선택기능블럭에 대한 활성 기본 프로그램을 검색하며 상기 대응 기본기능을 디스에이블시키도록 상기 메모리수단으로 부터 각각의 비선택 기능블럭에 대한 비활성 기본 프로그램을 검색하여 상기 활성 및 비활성 기본 프로그램중 검색된 한 프로그램을 상기 편집된 알고리즘에 따라 완전한 프로그램으로 어셈블하는 어셈블러수단을 포함한다. 상기한 바와같은 본 발명에 따르면 유저가 연산수순을 지정,편집하여 소정의 악음을 발생하는 경우 상기 지정연산수순에 관련된 악음발생프로그램은 어셈블되어 제 l메모리수단에 기억된다. 악음은 상기 제1메모리수단에 기억된 악음발생프로그램에 따라 디지털신호처리를 실행함으로써 합성된다. 특히 악음을 합성하기 위한 악음발생알고리즘의 오리지날 즉 공통형태는 유저가 각각의 디스플레이된 블럭을 선택 및 비선택할 수 있도록 악음발생알고리즘의 각각의 기본기능이 대응 기본블럭으로서 표현되게 도식적으로 디스플레이될 수 있다. 이러한 구성으로 관련기본기능이 선택된 경우 기본프로그램이 설치될 수 있으며 상기 기본기능이 선택되지 않은 경우 다른 보상 기본프로그램이 선택될 수 있다. 각각의 선택블럭에 대한 활성 기본 프로그램 및 각각의 비선택 블럭에 대한 비활성 기본 프로그램은 같이 합성되어 완전한 악음발생프로그램을 형성한다.
도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 제 1도를 보면 본 발명에 따른 프로그램가능 음원 및 음색편집장치를 이용한 전자악기의 개략도가 도시된다. 상기 전자악기는 중앙처리장치(CPU :101), ROM (102), RAM(103) , 디스크드라이브(104) , 연주조작자(lO5), 편집조작자(106), 디스플레이(107), DSP로 이루어진 음원(악음발생기, tone generator : TG lO8), 디지털 아날로그변환기 (DAC: 109)를 포함한다. 도면부호 11O은 상기 장치들을 서로 접속하는 버스를 도시한다.
CPU(1O1)는 전자악기의 전 시스템을 제어하며, ROM(102)은 CPU(1Ol)에 의해 실행될 제어프로그램을 기억할 뿐만 아니라 음원(108)에 전달되는 기본 마이크로프로그램을 제어한다. RAM(103)에 있어서는 여러 버퍼영역 및 음색파라미터용의 데이터 영역이 할당되며, 디스크드라이브(104)는 상기 음색파라미터를 포함하는 각종의 데이터를 기억하는 외부메모리장치이며, 연주조작자(105)는 키보드와 같이 유저에 의해 수동조작되는 장치이다. 편집조작자(106)는 유저가 수동조작하는 장치이며 알파벳 키보드와 마우스 등으로 구성된다. 디스플레이 (107)는 각종의 데이터를 디스플레이 하는데 사용되며 DAC(109)는 음원(108)에 의해 발생된 디지털신호를 아날로그신호로 변환한다.
음원(108)은 DSP로 이루어진 프로그램가능 악음발생기이다. DSP는 프로세싱 RAM (PRORAM ; 111) ,마이크로프로그램 RAM (MPRAM ; 112), 파라미터RAM (PARRAM ; 113), 및 데이터 프로세서(114)를 포함한다. PRORAM(111)는 연산레지스터, 지연레지스터, 파형 데이터용의 각종의 테이블 등으로 사용된다. MPRAM(112)는 DSP의 일차 메모리로서 마이크로프로그램을 기억하고 있다. PARRAM(113)은 악음제어파라미터( 이하 "음성파라미터" 라 함)를 기억하고 있으며 데이터프로세서(114)는 PARRAM(113) 에 기억된 음성파라미터를 이용하여 MPRAM(113)에 기억된 기본마이크로프로그램에 따라 음악발생을 위한 연산동작을 수행한다. MPRAM(112)에 기억된 마이크로프로그램은 상기 음원(108)의 악음발생알고리즘을 규정한다.
제 1도에 도시한 실시예에 있어서 유저는 디스플레이(107)를 모니터링함으로써 조작자(106)에 의해 음색을 설정 및 편집할 수 있다. 특히 유저는 ROM(102)에 있는 준비 즉 사전 설정된 음색 중 원하는 것을 선택하거나 RAM(103)에 등록된 사용자가 만든 음색을 선택한다. 음색선택 동작 시 상기 선택된 음색에 상응하는 악음발생알고리즘에 관련된 한 세트의 마이크로프로그램이 RAM(103)내의 V 버퍼(제 5도와 관련하여 기술됨)에서 어셈블 즉 셋업된다. 어셈블된 마이크로프로그램세트는 음원(108)으로 보내져서 음원이 MPRAM(112)내에 전송된 마이크로프로그램세트를 기억한다.
상기 음색선택 조작 후 유저는 연주조작자(105)를 조작해서 상기 조작자의 키보드에 의해 입력된 피치정보 및 터치정보 등의 실행정보에 대응하는 음성 파라미터가 상기 RAM(103)내의 V 버퍼를 통해 음원(108)에 전송된다. 음원은 상기 전송된 음성파라미터를 PARAM(113)내에 기억해서 악음발생의 데이터처리를 실행한다. 상기 데이터처리는 PARAM(113)내에 기억된 파라미터를 이용하여 MPRAM(112)에 기억된 마이크로프로그램세트에 따라 실행된다. 다라서 선택된 음색이 발생된다. 이 또한 상기 실시예의 악기에 있어서 소정의 악음발생알고리즘을 지정 및 편집하는 것이 가능하다. 특히 상기 악음발생알고리즘을 도식적으로 나타내는 기능블럭도가 디스플레이 (107)상에 디스플레이되며 유저는 각각의 블럭을 선택 및 비선택해서 소정의 악음발생알고리즘을 설정 또는 편집할 수 있도록 편집조작자 (106)에 의해 명령할 수 있다.
제 2도는 음원(108)에 지정된 음색발생알고리즘의 일례를 도시하는데 본 발명의 악기에서 활용가능한 최대구성의 알고리즘을 도시한다. 상기 알고리즘을 상세히 설명한다. 파형발생기(WAVE GEN ;2O1)는 파형데이터 WAVEOUT를 발생하며 상기 데이터 WAVEOUT 는 파형필터(WAVE FILTER; 202)에 의해 필터되며 필터된 출력 WOUT는 믹서(IN-MIX;205)에 공급된다. 한편 노이즈발생기 (NOISE GEN;203)는 노이즈데이터 NOUT를 발생하며 상기 노이즈데이터 NOUT 는 노이즈필터(NOISE FILTER;204)에 의해 필터되며 필터된 출력 NOUT는 믹서(IN-MIX;205)에 전송되며 상기 믹서(205)는 데이터 WOUT와 NOUT를 서로 혼합해서 IMXOUT를 출력한다. 상기 출력 데이터 IMXOUT는 두 부분으로 분할되는데 이는 각기 디스토션부(distorter; 211,221)에 공급된다. 디스토션부(DIST1 ;211)는 입력데이터 IMXOUT에 디스토션 효과를 부여하며 데이터 DISTlOUT를 출력한다. 고역필터 (IN-HPF1; 212)는 DIST1OUT를 처리하여 그 저주파 성분을 억제한다. 출력데이터 INHPF1OUT는 루프 이펙터(loop effector ;LOOP 1)에 포함된 가산기(ADD1; 213)에 공급되며 상기 산기는 상기 고역필터(212)로부터 공급된 출력데이터INHPFlOUT를 가산하여 전역필터 (AFP1 ;216)로 부터 역으로 공급된 데이터 APF1OUT를 출력한다. 상기 가산된 결과는 저역필터(LPF1 ;214)로 전송되며 상기 저역필터의 출력은 딜레이(DELAY;215)에 공급되며 소정의 시간만큼 지연된다. 전역필터 (216)는 딜레이(215)의 출력 DELAY1OUT을 수신해서 그것에 소정의 위상특성을 부가한다. 전역필터(216)의 출력은 가산기(213)로 다시 가산되며 저역필터(214)의 출력이 루프 이펙터(LOOP1)의 출력데이터 LOOP1OUT가 된다. 한 세트의 블럭( 221-226)은 그에 각각 상응하는 다른 데이터 경로를 구성하며 유사하게 동작한다. 출력믹서(PUT-FILTER;232)는 데이터 OMXOUT를 필터해서 출력OFOUT를 발생하며 이펙터(EFFECT;233)는 각종의 사운드효과( 잔향효과 ,변조효과 등)를 부가해서 최종의 데이터 OUTPUT를 발생한다.
제 2도에 도시한 알고리즘은 본 발명의 악기의 음색발생알고리즘의 최대의 구성을 도시하는데 유저는 최초알고리즘의 각각의 기능블럭의 온/오프를 지정해서 상기 알고리즘을 편집해서 악음의 음색을 변경한다. 상기 알고리즘의 편집동작을 이하 설명한다. 제 3, 4도는 상기 알고리즘의 편집동작의 스크린표시예를 도시하는데 상기 도면의 블럭(3O1-333)은 기본 블럭(201-233)에 대응하며 이 블럭은 상기 알고리즘의 기본 기능을 나타낸다.(숫자 중 최하위 두 디지트는 각기 동일 블럭에 서로 대응한다.) 제 3, 4도의 화살표는 제 2도에 도시하는 데이터흐름을 도시하는 화살표에 대응한다. 숫자 (345, 346)는 알고리즘과 관련한 실제의 기능 블럭을 도시하지는 않지만 두 루프(LOOP1, LOOP2)의 출력이 출력 믹서(OUT-MIX;331)에 공급되는 것을 나타내는 데에만 노드를 지정한다. 숫자(353)는 현재 편집되는 음색명을 지정한다.
제3도 및 제4도에 도시된 알고리즘편집디스플레이에 있어서 파형발생기(WAVE GEN)에 대응하는 블럭(301)내의 구형(35l)은 상기 블럭의 온/오프를 지정하는 체크박스이다. 각 블럭의 온 상태는 그 블럭이 선택되어 악음발생알고리즘 중에서 유효하게 동작하도록 인에이블되는 것을 의미한다. 각 블럭의 오프 상태는 상기 블럭이 악음발생 알고리즘에서 기능적으로 디스에이블되는 것을 의미한다. 환언하면 상기 디스에이블블럭은 입력데이터를 그대로 통과시키거나 '제로'를 항상 출력한다. 상기 블럭은 체크박스(351)가 제 3도에 도시한 바와 같이 희게 되는 경우 선택되며 상기 박스가 검게되는 경우 비선택된다. 상기와 유사한 방식으로 각각의 블럭(302, 303, 304, 311, 312, 216, 321, 322, 326, 332 및 333)에 대해 체크박스가 제공된다. 제 3및 제 4도에 있어서 블럭(305, 331)은 체크박스를 가지 않으며 체크박스가 없는 블럭은 필수의 블럭이며 상기 악음발생회로로부터 빠질 수 없다.
상기 루프이펙터(LOOP1)를 나타내며 체크박스(343)을 가지는 블럭(34l)은 상기 루프이펙터(LOOP1)을 구성하는 블럭(313, 314, 315)의 턴온 및 턴오프를 동시에 인에이블시키도록 제공된다. 체크박스(343)가 희게 마크되면 특히 상기 루프이펙터에 대응하는 블럭(341)이 턴온되면 상기 블럭(313, 314, 315)는 모두 상기 알고리즘에서 동작하도록 인에이블되며 유사하게 상기 루프이펙터 (LOOP2)를 나타내며 체크박스(344)를 가지는 블럭(342)는 루프이펙터(LOOP2)를 구성하는 블럭(323, 324, 325)의 동시 턴온 및 턴오프를 인에이블시키도록 제공된다.
유저는 편집조작자(1O6 제1도)에 의해 각각의 블럭을 선택적으로 턴온 및 턴오프시키위한 명령을 할 수있다. 제 3도는 모든 블럭이 턴온된 경우의 악음발생알고리즘의 최대구성을 도시한다. 반면 제 4도는 블럭( 301, 302, 311, 341, 316, 332)이 턴온되며 블럭(303, 304, 312, 321, 322, 342, 333)이 턴오프된 경우의 제한된 구성의 악음발생알고리즘을 도시한다. 설명을 간단히 하기위하여 각각의 디스플레이된 블럭은 상기 악음발생알고리즘의 대응기능소자명으로 호칭될 수 있다. 예를들면 기능블럭(3Ol)은 파형발생기(WAVE GEN;301)로 되며 따라서 각각의 디스플레이 블럭은 대응기능소자(즉, 제 3도의 352)에 사용된 악음제어파라미터를 나타내는 디스플레이영역을 가진다. 상기 파라미터의 값은 편집조작자(106 제 1도)를 통해 변경 및 갱신될 수 있다.
제4도에 도시된 악음발생알고리즘에서 턴온된 선택블럭은 제 2도에 따라 기술하는 바와같이 동작한다. 제 4도에 도시된 알고리즘에 있어서 블럭(303, 304)는 턴온 즉 비선택되어서 대응노이즈발생기 (NOISE GEN; 303)가 노이즈출력 NOUT에서 '제로'를 출력하며 노이즈필터(NOISE-FILTER; 304)는 입력을 그대로 통과시킨다. 상기 '제로'신호는 믹서(IN-MIX;305)에 공급되며 고역필터(IN-HFP1;312)는 턴오프되어 디스토션부(DIST1;311)로부터의 출력이 고역필터(IN-HPF1;312)를 그대로 통과하여 루프이펙터(LOOP1;341)의 가산기(ADDl;3l3)에 입력된다. 또한 디스토션부(DIST2; 321)로부터 루프이펙터(LOOP2;342)로의 모든 블럭이 턴오프되어 상기 디스토션부(DIST2;321)로의 모든입력이 그대로 통과되어 노드(346)을 경유해서 출력믹서(OUT-MIX;331)로 전송된다. 이펙터(EFFECT;333)는 턴오프되어 상기 출력필터(OUT-FILTER;332)에 의해 분배된 입력신호를 그대로 통과시킨다.
본 발명의 실시에에 있어서 완전한 세트의 마이크로프로그램이 알고리즘 편집결과에 따라 어셈블되며 상기 어셈블된 마이크로프로그램세트가 음원(108)으로 전송되어 상기 알고리즘에 포함된 연산스텝수가 상기 편집알고리즘이 간단한 경우 작게 되며 상기 편집알고리즘이 복잡한 경우 상기 스텝수가 크게된다. 편집된 알고리즘은 음원(108)로 보내지며 마이크로프로그램 RAM(1l2)는 512 스텝의 마이크로프로그램과 조화되어 동시에 합성될 수 있는 음색항목 수(이하 "음성")가 상기 편집된 알고리즘에 대한 마이크로프로그램세트가 얼마나 MPRAM(1l2)에 기억될 수있느냐에 따라 결정된다. 제 3도 및 제4도의 추가의 블럭(354)는 얼마만큼의 마이크로프로그램스텝이 현재의 알고리즘에 포함되느냐와 얼마만큼의 음성이 할당되어 동시에 합성될 수 있느냐를 도시하는데 제 3도의 최대구성에 있어서 블럭(354)는 "PROGRAM STEPS: 128" 및 "VOICE: 4"를 나타내어서 유저가 구성 알고리즘에 대응하는 마이크로프로그램의 스텝수가 128이며 4세트의 마이크로프로그램(128 4=5l2)이 MPRAM(112)에 기억될 수 있는 지를 인식할 수있다.(4 음성이 동시에 합성될 수 있음을 의미) 반면 제 4도에 있어서 블럭(354)는 "PROGRAM STEPS :96" 및 "VOICES:5"를 나타내며 유저는 상기와 같이 구성된 알고리즘에 대응하는 마이크로프로그램의 스텝수가 96이며 5세트 (5음성에 대한)의 마이크로프로그램(96 x 5 = 480〈 5l2)이 상기 MPRAM(112)에 저장될 수 있다.
제5도는 제 1도 도시의 ROM(102) 및 RAM(103)의 메모리 랩을 도시하는데 도면부호(501, 502)는 각기 ROM(501)및 RAM(502)의 내용을 나타내며 상기 ROM(102)는 CPU프로그램을 기억하고있다. CPU(101)의 동작은 제 9a 도 내지 제17도를 참조하여 기술된다. 소자 DSP마이크로프로그램( 그 내용은 제 7도를 참조하여 이하기술됨) 또한 기억되며 사전설정 음색파라미터세트(VOICE P1내지 Pm)및 다른 여러 데이터가 기억된다. RAM(103)에는 MP버퍼 ,MP플래그버퍼, VP버퍼, 사용자 작성의 음색파라미터세트(VOICE U1내지 U10)및 다른 여러 영역용의 기억영역이 할당된다. 상기 3개의 버퍼 MP 버퍼 , MP플래그버퍼, VP버퍼는 V버퍼로서 통칭된다.
상기 악음발생알고리즘의 편집동작은 유저가 ROM(102)에 기억된 사전설정 음색 중 하나를 지정한후 또는 상기 제 2내지 4도에서 이미 설명한 바와같이 RAM(103)내에 기억된 시용자 작성의 음색 중 하나를 지정한 후 행해진다. 상기 음색의 사용자 지정은 ROM(102, 제 5도에서 VOICE P내지 P)을 미리 선택하고 RAM(103 ,제 5도의 VOICE U 및 U)에 기억된 사용자 작성의 음색파라미터세트 중 하나를 선택하므로서 실제적으로 실행된다. 상기 선택된 음색파라미터세트는 RAM(103)내의 V 버퍼에 복사되며 특히 상기 선택된 음색파리미터세트는 MP 플래그버퍼에 복사된 MP 플래그 ,VP버퍼내에 복사된 음성파라미터를 포함한다. 제 5도의 도면부호 (503)은 RAM(103)내에 제공된 V버퍼의 내용을 지정한다. MP버퍼는 음원(108)의 MPRAM(112)으로 전송되는 완전한 마이크로프로그램을 기억하며 MP플래그버퍼는 MP플래그(제 6도를 참조하여 이하기술됨)를 기억하며 ,VP버퍼는 제 3도의 352번으로 지정된 파라미터, 연주조작자(105)로부터의 실행정보에 응답하여 셋업된 파라미터를 포함한다.
제 6도는 MP플래그의 리스트를 포함하는데 각각의 MP플래그는 제 2내지 4도를 참조하여 먼저 기술한 악음발생알고리즘의 각각의 기능소자와 관련한 각각의 기능블럭에 대응한다. MP플래그는 이하에 기술하며 플래그 값"0"은 이하에서 "off"를 "1"은 "on"을 의미한다.
(1) WAVE GEN FLG : 제 3도의 파형발생기(WAVE GEN; 301)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
(2) NOISE GEN FLG : 제 3도의 노이즈발생기 (NOISE GEN; 303)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
(3) WAVE-FILTER FLG : 제 3도의 파형필터(WAVE FILTER ;302)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
(4) NOISE-FILTER FLG 제 3도의 노이즈필터(NOISE-FILTER; 304)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
(5) DIST1 FLG : 제 3도의 디스토션부 (DIST 1; 311)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
(6) IN-HPF1 FLAG : 제 3도의 고역필터(IN-HPF1; 312)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
(7) LOOP1 FLG : 제 3도의 루프이펙터(LOOP 1; 341)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
(8) APF1 FLG : 제 3 도의 전역필터(APF1 ; 316)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
(9) DIST2 FLG : 제 3도의 디스토션부 (DIST2; 321)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
(10) IN-HPF2 FLG : 제 3도의 고역필터(IN-HPF 2; 322)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
(11) LOOP2 FLG : 제 3도의 루프이펙터 (LOOP 2; 342)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
(12) APF2 FLG : 제 3도의 전역필터(APF 2; 326)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
(13) OUT-FILTER FLG : 제 3도의 출력필터(OUT-FILTER; 332)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
(14) EFFECT FLG :제 3도의 이펙터(EFFECT; 333)의 온/오프(인에이블/디스에이블)를 지시하는 플래그.
ROM(102)에 기억된 사전설정 음색파라미터 P1내지 Pm및 RAM(103)에 기억된 유저 작성 파라미터 U1내지 Un은 MP플래그 및 지정 음색에 대응하는 음성파라미터로 이루어진다. 소정의 음색에 대한 유저의 선택시 관련 음색파라미터에 포함된 MP플래그는 MP플래그버퍼에 복사되며 동일 파라미터에 포함된 음성파라미터는 VP버퍼에 복사되며 그러면 관련 악음발생알고리즘을 이루기 위한 완전한 마이크로프로그램이 MP플래그에 따라 ROM(102)내에 기어된 기본 마이크로프로그램을 서로 선택적으로 혼합하므로서 MP 버퍼내에 어셈블된다.
제 7도는 ROM(102)로 이루어진 2차 메모리에 기억된 기본DSP 마이크로프로그램을 도시하며 제 8도는 상기 기본 마이크로프로그램과 결과의 데이터입/출력에 의해 실행된 기본 기능 사이의 관계를 도시하는데 기본 마이크로프로그램은 제 2도 내지 제 4도를 참조하여 이미 설명한 악음발생알고리즘의 기본 소자와 관련한 기본 블럭에 대응한다. 각각의 블럭이 턴 온 및 턴 오프 가능하므로 각각의 블럭에 대해 두개의 기본 마이크로프로그램이 제공되는데 하나는 상기 블럭의 선택된 상태에 사용되는 활성 마이크로프로그램이며 다른 하나는 동일 블럭의 비선택 상태에 사용되는 비활성 마이크로프로그램이다. 상기 기본 마이크로프로그램은 제 7도 및 8도를 참조하여 이하 기술한다.
(1)WAVE GEN : 제 2도에 도시된 파형 발생기(WAVE GEN ;201)의 파형발생 과정을 수행하는 활성 기본 마이크로프로그램. 이는 MP 플래그WAVE GEN FLG가 턴 온되는 경우에 설치된다. 소프트웨어블럭 또는 모듈은 입력을 가지지 않으며 출력은 WAVEOUT이다.
(2) WAVE GEN OFF : MP 플래그 WAVE GEN FLG가 상술한 활성 마이크로프로그램 WAVE GEN대신에 턴 오프된 경우에 설치되는 비활성 기본 마이크로프로그램. 상기 마이크로프로그램은 "CLR WAVEOUT "프로세스를 수행하는데 이 프로세스는 출력 WAVEOUT을 제로로 클리어한다. ("제로" 출력을 항상출력하는 것을 의미함.)
(3) NOISE GEN : 제 2도의 노이즈발생기 (NOISE GEN; 203)의 노이즈발생 프로세스를 수행하는 기본 마이크로프로그램. 이는 MP플래그 NOISE GEN FLG가 턴온되는 경우 설치되며 입력을 갖지 않으며 출력은 NOUT이다.
(4) NOISE GEN OFF : MP플래그 NOISE GEN FLG가 턴오프되고 상술한 바와 같이 마이크로프로그램 NOISE GEN 대신에 사용되는 경우 설치된 기본 마이크로프로그램. 이는 "CLR NOUT"프로세스를 수행하는데 이로써 출력NOUT가 제로로된다.
(5) WAVE -FILTER : 제 2도에 도시된 파형필터(WAVE-FILTER ;202)의 필터링 프로세스를 수행하는 기본 마이크로프로그램. 이는 MP플래그 WAVE-FILTER FLG가 턴온되는 경우에 설치되며 입력은 WAVEOUT이며 출력은 WFOUT이다 .상기의 프로세스의 수행단계에서 제공되는 파형발생기가 턴오프되는 경우 "제로"데이터가 입력된다.
(6) WAVE-FILTER OFF : 상술한 마이크로프로그램WAVE-FILTER FLG가 턴오프되고 상술한 마이크로프로그램WAVE FILTER 대신에 사용되는 경우 설치된 기본 마이크로프로그램. 이 프로그램은 "MOVE WOUT WFOUT프로세스를 실행하며 이 프로세스는 WOUT의 내용을 WFOUT로 전달한다. (입력을 그대로 출력으로 보낸다). 다른 기본 프로그램에 대한 기술은 제 7도 및 8도에 도시되있으므로 여기서는 생략한다. 요약하면 활성 기본 프로그램은 대응 MP 플래그가 턴온되어 악음발생회로의 대응 기능 소자를 동작시키며 활성 기본 마이크로프로그램은 대응MP플래그가 턴온되어 "제로"를 출력하거나 그 입력을 그대로 출력시키는 경우에 설치된다. 악음발생회로에 꼭 필요한 몇몇의 블럭은 비활성 기본 마이크로프로그램을 포함하지 않는데 상기 필요한 블럭은 턴오프되지 않는다. 예를들면 제 2도에 도시된 믹싱블럭(IN-MIX; 205)는 대응 활성 기본 마이크로프로그램이 제 7도에 리스트된 바와같이 등록되는데 필요하지만 비활성 기본 마이크로프로그램(IN-MIX OFF)은 사전기억되지 않는다.
상기 실시예의 악기의 동작을 이하 설명한다. 제 9a도는 CPU(1Ol)에 의해 실행된 주요 루틴을 도시하는 플로우차트이며 단계 (9Ol)에서 소정의 초기화가 실행되며 단계 (902)에서 여러 동작사건이 검출된다. 음색설정절차는 단계(903)에서 실행되며 이 음색설정절차에 있어서 특정음색파라미터가 V버퍼에 복사되며 관련 기본 마이크로프로그램이 음색선택동작사건을 검출한 경우 설치된다.
상기 음색설정절차는 제 10도내지 13도를 참조하여 기술된다. 단계(904)에 있어서 동작모드관리가 실행된다. 상기 동작모드관리에 있어서 여러 모드 스위칭동작이 검출되며 상기 동작모드는 모드스위칭입력에 응답하여 스위치된다. 단계(905)에 있어서 현재의 모드가 음색편집모드 인지의 여부가 테스트된다. 음색편집모드가 세트된 경우에 단계(907)로 나아가기 이전에 단계(906)에서 음색편집프로세스가 실행된다. 음색편집모드가 설정되지 않은 경우에 프로세스는 단계(907)로 점프된다. 음색편집프로세스에 있어서 기능 블럭을 턴온 및 턴오프하는 동작사건이 디스플레이된 알고리즘편집스크린에서 편집된다. MP플래그가 제 2도내지 4도를 참조하여 기술된 편집동작에 대응하여 세트 및 리세트된다. 제 14도내지 17도를 참조하여 음색편집프로세싱을 상세히 설명한다. 단계(907)에 있어서 악음발생제어 절차가 실행된다. 상기 악음발생제어절차에 있어서 음성파라미터 등의 V 버퍼의 내용이 음원(108)로 전달되며 노트온(note-on)명령이 음원(108)으로 보내진다. 단계(908)에서 기타의 처리가 행해지며 상기 절차는 단계(902)로 복귀된다.
제 9b도는 제 9a도의 단계(907)에서 실행된 상세한 악음제어절차를 도시한다. 단계(911)에 있어서 노트온을 명령하는 연주조작자(105)의 어떤 사건이 있었는지가 검사된다. 노트온 명령사건이 검출된 경우 V버퍼에 기억된 데이터가 단계 (912)에서 음원(108)으로 보내진다. V버퍼로부터 전송된 데이터는 음원(lO8)의 파라미터 RAM(113)DP 기억된다. 완전한 프로그램은 음색설정절차( 특히 제 13도의 단계(1310)에서 )에 의해 V버퍼의 MP버퍼로부터 MPRAM(112) 로 로드된다. 단계(9l3)에 있어서 음원(108)이 악음을 합성하도록 노트온 절차가 실행된다. 따라서 음원(108)은 V버퍼에 기억된 음성파라미터에 따라 악음합성절차를 수행한다. 단계(9ll)에서 노트온 사건이 검출되지 않은 경우 단계(9l4)에서 다른 기타의 사건이 처리되며 주 루틴으로 복귀한다.
제 1도 내지 제13도는 단계(903)의 음색설정절차를 상세히 도시하는데, 단계(1OO1)에서 수동조작자(1O6)가 음색을 지정하도록 조절되는지가 검사된다. 음색선택동작이 수행된다면 선택된 음색X의 음색파라미터가 V버퍼로 전달된다. 전달되는 음색파라미터는 ROM(102)에 기억된 사전설정 음색파라미터 또는 유저조작에 따라 RAM(104)내에 기억된 유저 작성음색파라미터 중에서 선택된다. 단계(1OO2) 이후 음색선택동작이 없는 경우 단계(1OO3)으로의 절차가 진행된다.
단계(1003)에 있어서 V 버퍼에 기억된 WAVE GEN FLG 가 "0"인 경우 루틴은 단계(1OO4)로 진행하여 기본 마이크로프로그램WAVE GEN 및 WAVE-FILTER가 그들이 MP버퍼에 기억되어 있는 경우 검출된다. 그러면 기본프로그램 WAVE GEN OFF가 MP버퍼로 로드되어 MP버퍼의 마이크로프로그램을 조직한다. 반면 WAVE GEN FLG가 "O"이 아니면 기본 마이크로프로그램 WAVE GEN OFF가 단계(1005)에서 클리어되며 기본 마이크로프로그램 WAVE GEN및 WAVE-FILTER가 로드되어 MP버퍼내의 마이크로프로그램을 조직 또는 배열한다. 음색선택동작이 불려지거나 알고리즘편집디스플레이 상의 대응 블럭에 대한 조작을 턴온 및 턴오프함에따라 관련MP플래그가 스위치되는 경우 마이크로프로그램 대체가 단계(1OO4, 1OO5)에서만 활성화된다. 단계(1006)내지 단계(1008)에 있어서 각각의 MP플래그의 온/오프상태에 응답하여 관련 기본 마이크로프로그램이 MP버퍼로 로드된다. 상기 마이크로프로램 로딩 절차는 마이크로프로그램의 명칭 및 관련 플래그가 다른 것을 제외하고는 단계(1003 내지 1OO5)의 프로세스와 유사하다. 단계(1OO6 내지 1008에 있어서 플래그 NOISE GEN이 턴오프되고 NOISE GEN이 턴온되는 경우 기본 마이크로프로그램 NOISE GEN OFF가 MP버퍼로 로드된다. 단계(11O1내지 11O3)에 있어서 WAVE-FILTER FLG가 턴오프된 경우 마이크로프로그램 WAVE-FILTER가 로드된다. 또한 NOISE-FILTER FLG가 턴온된 경우 NOISE -FILTER가 로드된다.
단계(1107)에 있어서 악음발생알고리즘에 필요한 기본 마이크로프로그램 IN-MIX는 MP버퍼로 로드되어 MP버퍼가 조직된다. 단계(1008내지 1110)에 있어서 마이크로프로그램DIST 1 OFF가 MP버퍼로 로드되며 이 경우 DIST1 FLG는 오프된다. DIST 1 FLG가 턴온되면 DIST 1이 로드된다. 단계(1111내지 1113)에 있어서 마이크로프로그램 IN-HPF1 OFF가 MP버퍼로 로드되며 이 경우 IN-HPF1 FLG가 턴오프되며 IN-HPF1 FLG가 턴온된 경우 IN-HPF1이 로드된다.
제 12도의 단계 (1201내지 1205)에 있어서 상기 루프에 포함된 전역필터 및 루프 이펙터용의 기본 마이크로프로그램이 처리된다. 마이크로프로그램LOOP1 OFF는 LOOP1 FLG 가 턴오프된 경우 MP버퍼로 로드되며 마이크로프로그램LOOP1은 LOOP1 FLG가 턴온된 경우 로드된다. 또한 마이크로프로그램 LOOP1 및 APF1 OFF는 LOOP1 FLG가 온되고 APF1 FLG가 오프 되는 경우 MP버퍼로 로드되며 상기 LOOP1 및 APF 1는 LOOP1 FLG 및 멜1 FLG가 턴온되는 경우 MP버퍼로 로드된다.
제 13도에 도시한 단계(1301)은 제 12도에 도시한 단계(l201내지 l205)와 유사하다. 다른 루프이펙터 LOOP2 는 단계(1301)에서 처리된다. 단계(1302)에 있어서 악음 발생알고리즘에 필요한 기본 마이크로프로그램OUT-MIX는 MP버퍼로 전달된다. 단계(1303내지 1305)에 있어서 마이크로프로그램 OUT-FILTER OFF는 OUT-FILTER FLG가 턴오프되는 경우 MP버퍼로 로드되며 또한 마이크로프로그램 OUT-FILTER는 OUT-FILTER FLG가 턴온되는 경우 로드된다. 단계 (1306내지 1308)에 있어서 마이크로프로그램 EFFECT OFF는 EFFECT FLG 가 턴오프되는 경우 MP버퍼로 로드되며 마이크로프로그램 EFFECT는 EFFECT FLG 가 턴온되는 경우 로드된다.
단계(1309)에 있어서 MP버퍼에 로드된 마이크로프로그램의 연산 스텝수가 카운트되며 그 카운트된 값이 변수 S로 세트되어 디스플레이된다. 상기 카운트된 값은 제 3,4도의 블럭 (354)에 도시된 "PROGRAM STEPS"에 대응한다. 또한 단계(13lO)에 있어서 변수 S및 음원(108)의 마이크로프로그램RAM(112)의 용량에 따라서 얼마나 많은 음성이 활용가능한 지가 평가된다. 예측된 수의 음성에 맞게 준비된 마이크로프로그램은 MP버퍼로부터 마이크로프로그램 RAM (112) 로 전달된다. 할당된 음성수가 다스플레이된다. 상기 디스플레이는 제 3도 및 제 4도의 블럭(354)에 도시된 "VOICE"에 대응한다.
제9a도의 단계(906)에서 수행된 음색편집의 상세한 처리를 제14도 내지 17도를 참조하여 설명한다. 먼저 음색편집에 있어서 단계(1401)에서 편집 항목 관리가 행해진다. 상기 관리로서 편집될 항목의 유저 선택이 관리된다. 악음 발생 알고리즘 편집의 항목을 선택한 후, 관련 편집 모드가 호출된다. 단계(1402)에서는 알고리즘 편집 모드가 호출되는지 검사된다.
상기 알고리즘 편집 모드가 호출되면, 단계(1404)로 절차가 이어지며, 또한 편집모드가 선택되지 않은 경우, 루틴은 단계(1403)으로 분기되어 절차가 복귀된다. 단계(1403)의 기타처리는 제3,4도에 도시된 각 블럭의 파리미터의 설정 또는 편집, 음성명 편집 음색선택과 함께 V버퍼로 음색 파라미터 로드 RAM(1O3) 또는 디스크 드라이브(104)에 V버퍼상의 음색파라미터의 세이브 등을 포함한다. 알고리즘 편집 모드가 단계(1402)에서 인에이블되면, 알고리즘 편집 윈도우가 단계(1407)의 디스플레이(107)의 스크린 상에 디스플레이 된다. 알고리즘도의 각 블럭의 온/오프 상태는 V버퍼에 로드된 음색 파라미터 즉 MP플래그의 상태에 따라 디스플레이 된다.
제 14도의 단계(1405)에서 제17도의 단계(1709)까지에서 임의의 알고리즘 블럭에 대한 선택 또는 비선택 사건이 있는지가 검사된다. 예를 들면, 파형 발생기(WAVE GEN)에 대한 비선택 사건의 발생이 검사된다.
비선택 사건이 있는 경우, 플래그 WAVE GEN FLG가 턴 오프 되어 복귀 이전에 단계(1406)에서 "O"으로 설정된다. WAVE GEN에 대한 비선택 사건이 없는 경우, WAVE GEN에 대한 선택 사건이 단계(1407)에서 검사된다. 선택 사건이 있는 경우, WAVE GEN FLG는 복귀이전에 단계(1408)에서 "1"로 턴 온된다. 다른 MP플래그는 제11도에 도시한 관련 선택/비선택 사건을 검지함으로써 유사한 절차에 의해 턴 온/턴 오프된다.
제 16도의 단계(1601 내지 1608)는 루프 이펙터 LOOP1을 조정하는 절차를 도시하는데, MP플래그는 이하 기술하는 바와 같이 설정된다. 특히, 전역 필터 APF1이 루프 LOOP1에 제공된다. 단계(16O1)에서 루프 이펙터 LOOP1의 비선택사건이 있는 경우, LOOP1 FLG 및 APF1 FLG가 단계(1602)에서 모두 턴 오프된다. 따라서, 블럭 APF1이 LOOP1이 디스에이블된 경우 또한 디스에이블된다. 단계(1603)에서 루프이펙터 LOOP1에 대한 선택 사건이 있는 경우, 단계(1604)에서 플래그 LOOP1 FLG 및 APF1 FLG 모두가 턴 온되어 LOOP1이 인에이블된 경우, 블럭 APF1이 인에이블된다. 단계(1605)에서 전역필터 APF1의 선택 사건을 검출한 경우, 플래그 LOOP1 FLG 및 APF1 FLG가 단계(1606)에서 턴온되어 APFl이 인에이블되면, 블럭 LOOP1이 인에이블된다. 단계(1607)에서 전역필터 APF1의 비선택 사건의 검출시 플래그 LOOP1 FLG가 단계(1608)에서 턴오프된다. 제17도의 루틴은 제16도의 단계(1601 내지 1608)와 유사한 방식으로 LOOP2의 조정이 행해진다.
상술한 바와 같이 본 발명에 따르면, 디스플레이(107)가 소정의 악음을 합성하는데 선택적으로 사용할 수 있는 대응 기본 기능을 나타내는 여러 기능 블럭을 포함하는 제3도에 도시된 블럭도에 대한 디스플레이를 제공한다. ROM(102)은 각 기능블럭에 대한 한 쌍의 활성 및 비활성 기본 프로그램을 기억하는데 상기 활성 기본 프로그램이 대응 기본 기능을 가동하도록 설계되며, 상기 비활성 기본 프로그램이 대응 기본 기능을 비활성 화시키도록 설계된다. 편집조작자(106)는 디스플레이된 블럭도를 도식적으로 처리하도록 사용되어서, 상기 대응 기본기능이 소정의 악음을 합성하는데 필요한 경우 각각의 기능블럭이 선택되며, 소정의 악음 합성을 위해 대응기본 기능이 불필요한 경우, 상기 블럭에 선택되지 않아서, 소정의 악음 합성을 위한 연산절차를 형성하는 알고리즘을 선택할 수 있다. CPU(1O1)는 에셈블러 수단으로서 동작하여 ROM(102)로부터 각각의 선택기능 블럭에 대한 활성 기본 프로그램을 검색해서 대응 기본 기능을 인에이블 시키며, 각각의 비선택 기능 블럭에 대한 비활성 기본 프로그램을 검색해서 대응 기본 기능을 디스에이블 시킴으로써 활성 및 비활성 기본 프로그램 중 선택된 하나를 편집 알고리즘에 따라 완전한 프로그램으로 어셈블한다. RAM(103)은 완전한 프로그램을 기억하며, 음원(108)은 RAM(103)에 접속되어 상기 기억된 완전프로그램에 따라 편집된 연산절차를 수행하여 소정의 악음을 발생한다.
상기 실시예에 있어서, 유저는 소정의 알고리즘에 따라 완전한 마이크로프로그램을 생성할 수 있다. 상기 프로그램을 DSP의 RAM(112)의 마이크로 프로그램 용량이 효율적으로 사용될 수 있도록 불필요한 단계를 포함치 않는다. 보다 간단한 알고리즘에 따라 완전한 마이크로 프로그램이 생성된 경우, 단계수가 감소되어 유저가 많은 음성을 할당할 수 있으며, 제한된 자원으로 다른 처리를 수행할 수 있다. 딜레이 루프 및 다른 알고리즘 블럭의 수 및 타입은 상술한 바와 같이 실시예의 것으로 제한된다. 상기 실시예에 있어서, 최대 구성의 알고리즘이 블럭도 포맷에 디스플레이되어서 유저 블럭 선택/비선택 동작을 인에이블 할 수 있다. 그러나, 유저 인터페이스를 구성하는 것이 가능한데, 유저는 소정의 악음 발생회로 또는 알고리즘을 디스플레이 윈도우 상에 소정의 블럭을 접속함으로써 설치할 수 있다. 또한 상기 실시예에 있어서, 음원은 딜레이 루프형으로 이루어지지만, 음원의 악음 발생기는 FM 신세사이저 포맷 신세사이저 둥의 다른 형으로 될 수 있다. 인벨로프 발생기(EG) 또는 변조기(LFO)모듈은 생략될 수도 있지만 기능소자에 포함될 수 있다. 음색을 내는데 필요한 단계 수에 대응하여 EG 또는 LFD의 수를 배열 또는 조정할 수 있다. 상기 실시예에서, MP플래그는 유저블럭 선택/비선택에 따라 바로 변경될 수 있다. 적당한 기본 마이크로프로그램의 실시간으로 MP버퍼에 전달될 수 있다. 그러나, 시스템은 편집모드시 최대 알고리즘에서 동작하도록 구성될 수 있다. 편집 모드의 종료시 단지 기본 마이크로 프로그램이 필요시된다. 알고리즘 편집시, 필요한 수의 음성을 할당하도록 유저는 임의의 값에서 마이크로 프로그램의 단계수를 제한할 수도 있다. 이러한 의도를 고려하여 제한을 너머 단계 수를 형성하는 몇 블럭을 유저가 선택할 경우 경고하고, 그러한 블럭의 선택을 금지하도록 최대 구성의 단계 수 제한을 할 수 있다. 본 발명에서 사용된 DSP는 임의의 신호처리에 맞게 특화된 프로세서만이 아니라, 일반 마이크로 프로세서 등의 다른 마이크로 프로세서로 대체될 수 있다.
다음으로, 제18~3Ob도를 참조하여 제2실시예를 설명한다. 제1실시예에 있어서 완전하게 악음발생의 범용 알고리즘을 나타내도록 블록도가 프레임 워크로서 디스플레이된다. 상기 블럭도에 포함된 각각의 기능블럭을 선택 또는 비선택하도록 블럭도가 도식적으로 처리된다. 제2실시예에 있어서, 프레임워크 자체는 여러 형태의 기본 블럭도를 제공하도록 그래프 편집으로 형성된다. 즉 소정의 기능블럭이 악음발생에 사용할 수 있는 여러 기본 기능의 부분리스트로부터 사전 선택된다. 이 사전 선택된 기능블럭은 상호 접속되어서 사전 선택된 기능블럭사이의 입/출력 관계를 형성해서 한 형태의 기능 블럭을 형성한다.
제 18도는 전자악기의 제2실시예의 전 시스템 구성을 도시하는데, 이 악기는 CPU(18Ol), ROM(1802), RAM(1803), 디스플레이(1807), DAC(1805), DMAC(1806), 마우스 등의 수동입력기구(1807), 타이핑키보드(l808), 제1 디지털 신호처리기(DSP2;1809), 제2디지털 신호처리기(DSP2;1810), 제1하드웨어 장치(HARD;1811), 제2하드웨어장치(HARD2;1814), 파형메모리(18l3) 인터페이스(1814), 풋제어기(18l5), 키보드(1816), 및 버스라인(1817)을 포함하고 있다.
제19도는 전자악기의 외관을 도시하는데, 여기서 디스플레이(1902)는 제18도의 디스플레이(1804)에 대응하며, 유사하게 마우스(1904)는 수동입력기구(l807)에 대응하며, 키보드(1903)는 타이핑키보드(1808), 키보드(1905)는 키보드(18l6), 풋제어기(1906)는 풋제어기(18l5) 제18도의 나머지 부분은 제19도의 메인 콘솔(1901)에 포함된다.
제18도를 보면 CPU(1801), ROM(1802), RAM(1803) 및 디스플레이(1804)는 동일한 기능을 수행하는 제1도의 CPU(101), ROM(102), RAM(103) 및 디스플레이(107)에 대응한다. 인터페이스(1814) 풋제어기(18l5) 및 키보드(18l6) 그룹은 동일한 기능을 수행하는 제1도의 연주조작자(105)에 대응한다. 수동입력기구(1807), 및 타이핑키보드(1808)는 동일한 기능을 수행하는 설정 조작자(106)에 대응한다. 제2실시예에 있어서, 수동입력기구(1807)는 클리킹, 드래깅(dragging) 등으로 조작될 수 있는 마우스로 이루어진다. 클리킹은 마우스 커서 또는 포인터가 스크린상의 목표 문자 또는 도면을 지적해서 마우스 버튼이 가압 및 해제되는 것을 말하며, 드래깅은 마우스 커서가 목표 문자 또는 도면을 지적해서 마우스 버튼이 가압되고, 마우스를 이동해서 마우스 버튼이 해제되는 것을 말한다. 상기 수동입력기구(1807)는 마우스와는 다른 포인팅 기구로 될 수 있다.
제1도의 제1실시예에서는 음원으로서 DSP(108)만을 사용하였으나, 제2실시예에서는 음원으로써 한쌍의 DSP(1809,1810)를 사용한다. DSP(1809,1810)각각은 제1도의 DSP(108)와 동일하며, 연산 RAM, 마이크로 프로그램 RAM, 파라미터 RAM 및 연산프로세서를 포함한다. 각각의 DSP(1809, l8lO)는 파형 메모리 판독모드 또는 주파수 변조(FM)모드의 음원으로서 동작할 수 있다.
상기 파형메모리 판독모드에 있어서, ROM(1802) 또는 RAM(1803)에 파형데이터가 기억된다. 또한, DSP(1809, 18l0)는 필터링 처리, 딜레이 및 필터의 루프처리, 이펙트(효과) 분할처리, 및 믹싱 처리등의 악음 신호를 다양하게 처리할 수 있다.
하드웨어장치(811, 1812)는 악음 합성과 관련된 여러 처리를 실행하도록 시스템 내에 설치된다. 하드웨어장치(1811)는 FM음원으로서 동작하는 반면, 다른 하드웨어장치(18l2)는 파형메모리 판독타입의 음원으로서 동작한다. 파형메모리(1813)는 하드웨어장치(1812)에 사용을 위한 파형 데이ㅓ를 기억한다. 또한 전자악기의 CPU(180l)는 ROM(1802)내에 기억된 파형데이터가 CPU(180l)에 의해 판독되어 악음을 발생하도록 파형 메모리 판독타입의 음원으로서 기능할 수 있다. 또한 CPU(1801)는 디지털 필터링 처리를 실행하며, 발생된 악음의 인벨로프 알림처리를 실행한다.
상술한 바와 같이, 악음 발생은 CPU(1801), 제 1DSP(1809), 제 2DSP(18lO), 제1 하드웨어 장치(1811), 제2 하드웨어장치(18l2)중 하나 이상에 의해 실행된다. 상기 장치들은 RAM(l803)의 버퍼영역을 이용해서 중간의 데이터를 처리하며, 최종 악음 신호를 처리한다. 제20도를 참조하여 버퍼영역을 이하 상세히 설명한다. DA(1805)는 여러 방법으로 발생된 디지털 악음신호를 아날로그 신호로 변환하며, 이 신호는 (도시하지 않음)출력 사운드시스템에 공급된다. DAC(1805)는 CODEC이라는 LSI로 이루어진다. DMAC(1806)는 버스라인(1817)에 접속된 ROM(1802) 및 RAM(1803)을 포함하는 메모리와 이 메모리와는 다른 여러 장치 사이에서 데이터 전달을 제어하는 제어기이며, 특히 DMAC(1806)는 DSP(1809,1810), 하드웨어 장치(181l,18l2)와 DAC(1805)로부터의 요청에 직접적으로 응답하여, CPU(18Ol)의 제어 없이도 특정 어드레스에 특정 데이터를 전달할 수 있다.
이 실시예에서, CPU(180l), DSP(1809,1810) 및 하드웨어장치(18ll,l8l2) 각각은 악음신호를 발생하도록 동작한다. 실제적으로, 각각의 장치는 음색합성과 관련된 여러 기본기능을 함께 합성함으로써 최종 악음을 합성한다. 이러한 기본 기능은 특정 프로그램 및 파라미터 등의 소프트웨어에 따라 CPU(1801), DSP(1809,18lO) 또는 하드웨어장치(1811,1812)를 동작시킴으로써 실현된다. 한세트의 특정 프로그램 및 파라미터가 "소프트웨어 모듈"로서 호칭되며, 이러한 모듈은 CPU(1801), DSP(1809,18lO) 및 하드웨어장치(181l,1812)에서 특정 기본기능을 실현하도록 로드된다. 여러 종류의 소프트웨어 모듈이 ROM(1802)에서 준비되며, 대표적인 소프트웨어 모듈(1)~(15)이 이하 리스트된다. 전자악기의 제2실시예에 있어서, 유저는 제1 실시예와 유사한 방식으로 음색 합성에 포함된 각각의 기본기능을 선택, 비선택 할 수 있다. 활성 소프트웨어 모듈이 "ON 모듈"로 되며, 이 모듈은 대응 기본기능의 선택 시 로드된다. 비활성 소프트웨어 모듈이 "OFF 모듈"이며, 이 모듈은 대응 기본기능 비선택 시 로드된다. 즉, 한 쌍의 ON 모듈 및 OFF 모듈이 각각의 기본 기능을 위해 준비된다.
(1) CPU(1801)는 상기 파형 판독 방법에서 악음신호를 발생하도록 규정된 기본 기능을 실현하기 위한 소프트웨어 모듈을 이용한다. 상기 소프트웨어는 기본 기능 선택시 사용되는 CPU WM TG ON 모듈 및 기본 기능 비선택시 사용되는 CPU WM TG OFF 모듈을 포함한다. 상기 CPU WM TG ON 모듈은 파형 메모리 판독 방법에 의해 악음을 발생하도록 CPU(1801)에 로드된 프로그램이다. 상기 CPU WM TG OFF 모듈은 널(null)데이터를 항상 출력하게 로드된 프로그램이다.
(2) CPU(1801)는 악음신호의 디지털 필터링 처리를 수행하도록 규정된 기본 기능을 실현하는 소프트웨어 모듈을 이용하는데 상기 소프트웨어는 기본 기능 선택시 사용되는 CPU DF ON 모듈, 기본 기능 비선택시 사용되는 CPU DF OFF 모율을 포함한다. CPU DF ON 모듈은 디지활 필터링 처리를 실행하능 CPU(1801)에 로드된 프로그램이며 CPU DF OFF 모듈은 입력을 그대로 출력으로 하도록 로드된 프로그램이다.
(3) CPU(180l)는 악음신호의 진폭제어를 수행하도록 규정된 기본 기능을 실현해서 상기 신호에 소정의 인벨로프를 부여하기 위한 소프트웨어 모듈을 이용한다. 상기 소프트웨어는 기본기능 선택시 사용되는 CPU AMPL ON 모듈 및 기본기능 비선택시 사용되는 CPU AMPL OFF 모듈을 포함하는데, 상기 CPU AMPL ON 모듈은 악음신호의 진폭제어를 실행하도록 CPU(l801)에 로드된 프로그램이며, CPU AMPL 입력 데이터를 그대로 출력하도록 로드된 프로그램이다.
(4) DSP(1809)는 파형 메모리 판독 방법에 의해 악음신호를 발생하도록 규정된 기본 기능을 실현하기 위한 소프트웨어 모듈을 이용하는데, 이 소프트웨어 기본기능 선택시 사용되는 DSP1 WM TG ON 모듈 및 기본기능 비선택시 사용되는 DSP1 WM TG OFF 모듈을 포함하는데, 상기 DSP1 WM TG ON 모듈은 파형 메모리 판독방법에 의해 악음신호를 발생하도록 DSP(1809)에 로드된 프로그램이며, DSP1 WM TG OFF 모듈은 항상 널 데이터를 출력하는 프로그램이다.
(5) DSP(1809)는 악음신호의 디지털 필터링 처리를 실행하도록 규정된 기본기능을 실현하기 위한 소프트웨어 모듈을 사용하는데, 상기 소프트웨어는 기본 기능 선택시 사용되는 DSP1 DF ON 모듈 및 기본 기능 비선택시 사용되는 DSP1 DF OFF 모듈을 포함한다. 상기 DSP1 DF ON 모듈은 악음신호의 디지털 필터링 처리를 실행토록 DSP(1809)에 로드된 마이크로 프로그램이며, DSP1 DF OFF 모듈은 입력 데이터를 그대로 출력으로 출력하도록 로드된 마이크로 프로그램이다.
(6) DSP(1809)는 악음신호의 진폭제어를 수행하여 그 신호에 인벨로프를 부여하는 기본 기능을 실현하는 소프트웨어 모듈을 이용하는데, 상기 소프트웨어는 기본 기능 선택시 사용되는 DSP1 AMPL ON 모듈 및 기본 기능 비선택시 사용되는 DSP1 AMPL OFF 모듈을 포함하며, 상기 DSP1 AMPL ON 모듈은 악음신호의 진폭 제어를 실행하도록 DSP(1809)에 로드된 마이크로프로그램이며, DSP1 AMPL OFF 모듈은 입력데이터를 그대로 출력하도록 로드된 마이크로 프로그램이다.
(7) DSP(1809)는 악음신호의 딜레이 및 필터링 루프처리를 실행하여, 상기 신호에 소정의 효과를 부여하는 기본 기능을 실현하는 소프트웨어 모듈을 이용하는데, 상기 소프트웨어는 기본기능 선택시 사용되는 DSP1 D & F LOOP ON 모듈 및 기본 기능 비선택시 사용되는 DSP1 D & F LOOP OFF 모듈을 포함하는데, 상기 DSP1 D & F LOOP ON 모듈은 악음신호의 딜레이 및 필터링의 루프 처리를 실행하도록 DSP(1809)에 로드된 마이크로 프로그램이며, DSP D & F LOOF OFF 모듈은 입력데이터를 그대로 출력하도록 로드된 마이크로 프로그램이다.
(8) DSP(1809)는 반향 생성 처리를 수행하는 기본 기능을 실현하기 위한 소프트웨어 모듈을 이용하는데, 이 소프트웨어는 기본 기능 선택시 사용되는 DSP1 REVERB ON 모듈 및 기본 기능 비 선택시 사용되는 DSP1 REVERB OFF 모듈을 포함하는데, 상기 DSPl REVERB ON 모듈은 발생된 악음에 반향효과를 부여하도록 DSP(l809)에 로드된 마이크로 프로그램이며, DSP1 REVERB OFF 모듈은 입력 데이터를 그대로 출력시키도록 로드된 마이크로 프로그램이다.
(9) DSP(1809)는 코러스(chorus)효과 생성처리를 실행하는 기본 기능을 실현하기 위한 소프트웨어 모듈을 이용하는데, 이 소프트웨어는 기본기능 선택시 사용되는 DSP1 CHORUS ON 모듈, 기본 기능 비선택시 사용되는 DSP1 CHORUS OFF 모듈을 포함하는데, 상기 DSP1 CHORUS ON 모듈은 발생된 악음에 코러스 효과를 부여하도록 DSP(1809)에 로드된 마이크로 프로그램이며, DSP1 CHORUS OFF 모듈은 입력데이터를 그대로 출력하도록 로드된 마이크로 프로그램이다.
(10) DSP(1809)는 위상 천이 효과 생성처리를 실행하는 기본 기능을 실현하기 위한 소프트웨어 모듈을 사용하는데, 이 소프트웨어는 기본 기능 선택시 사용되는 DSP1 PHASE SHIFTER ON 모듈 및 기본기능 비선택시 사용되는 DSP1 PHASE SHIFTER OFF 모듈을 포함한다. 상기 DSP1 PHASE SHIFTER ON 모듈은 소정의 위상천이 효과를 생성하도록 DSP1에 로드된 마이크로 프로그램이며, DSP1 PHASE SHIFTER OFF 모듈은 입력데이터를 그대로 출력하는 마이크로 프로그램이다.
(11) DSP(1809)는 발생된 악음의 믹싱 처리를 수행하도록 규정된 기본 기능을 실현하기 위한 소프트웨어 모듈을 이용하는데, 이 소프트웨어는 기본 기능 선택시 사용되는 DSP1 MIXERi ON 모듈 및 기본 기능 비선택시 사용되는 DSP1 MIXERi OFF 모듈을 포함하는데 DSP1 MIXERi ON 모듈은 특정 파라미터에 따라 특정 비율에서 입력신호의 믹싱처리를 실행하도록 DSP(1809)에 로드된 마이크로 프로그램이며, DSP1 MIXERi OFF 모듈은 입력신호 모두를 서로 간단히 혼합해서 그 혼합된 결과를 출력하도록 로드된 마이크로프로그램이다. DSP(1809)는 DSP1 MIXERi(i=1-n) 모듈에 대응하는 n개의 믹서를 제공할 수 있다.
(12) DSP(1809)는 FM 모드의 악음발생 처리를 실행하는 기본 기능을 실현하기 위한 소프트웨어 모듈을 사용하는데, 상기 소프트웨어는 기본 기능 선택시 사용되고 DSP1 FM ON 모듈을 포함하며 기본 기능 비선택시 사용되는 DSP1 FM OFF 모듈을 포함하며, 상기 DSP1 FM ON 모듈은 FM모드의 악음 발생처리를 수행하도록 DSP(1809)에 로드된 마이크로 프로그램이며, DSP1 FM OFF 모듈은 항상 널 데이터를 출력하도록 로드된 마이크로 프로그램이다.
(13) DSP(1810)는 DSP(l809)에 사용된 (4)~(12)에 리스트된 것과 유사한 소프트웨어 모듈을 이용하는데, 즉 (4)~(12)에 있어서 "DSP1"는 "DSP2"로, "DSP(1809)"는 "DSP(18l0)"으로 변경되어 DSP(1810)에 사용된 소프트웨어 모듈을 기술한다.
(14) 하드웨어장치(l8ll)는 파라미터를 제공하도록 규정된 기본기능을 실현하기 위한 소프트웨어 모듈을 이용하는데, 이 소프트웨어는 기본기능 선택시 사용되는 HARD1 ON 모듈, 기본기능 비선택시 사용되는 HARD1 OFF 모듈을 포함하며, 상기 HARD1 ON 모듈은 하드웨어장치(18ll)가 FM 모드 악음 발생처리를 행하는 경우, 하드웨어장치(1811)에 로드된 하드웨어장치(18ll)를 제어하여 항상 널 데이터를 출력하는 파라미터 세트이다.
(15) 하드웨어장치(1812)는 파라미터세트를 제공하도록 형성된 기본기능을 실현하기 위한 소프트웨어 모듈을 이용하는데, 상기 소프트웨어는 기본 기능 선택시 사용되는 RARD2 ON 모듈 기본기능 비선택시 사용되는 HARD2 OFF 모듈을 포함하는데, 상기 RARD2 ON 모듈은 하드웨어장치(19812)가 파형 메모리 판독 방법에 의해 악음 발생 처리를 실행하는 경우 하드웨어 장치(18l2)에 로드된 파라미터 세트이며 HARD2 OFF 모듈은 하드웨어 장치(l812)를 제어하여 항상 널 데이터를 출력하도록 로드된 파라미터세트이다. (1)~(3)에 리스트된 소프트웨어 모듈은 RMM(1803)의 작업영역으로 로드되며, CPU(1801)에 의해 실행된다. 반면, (4)~(12)에 리스트된 소프트웨어 모듈은 DSP(1809)의 마이크로 프로그램 RAM으로 로드되며 DSP(1809)에 의해 실행된다. (13)에 리스트된 소프트웨어 모듈은 DSP(1810)의 마이크로 프로그램 RAM으로 로드되며, DSP(18lO)에 의해 수행된다. (14)에 리스트된 소프트웨어 모듈은 하드웨어 장치(18ll)로 전달되며, 이 장치는 전달된 파라미터 세트에 따라 동작한다. (15)에 리스트된 소프트웨어 모듈은 하드웨어 장치(1812)로 전달되며 이 장치는 전달된 파라미터 세트에 따라 동작한다.
제20도는 제18도의 RAM(1803)의 메모리 맵을 도시하는데, RAM(1803)은 CPU(1801)에 의해 사용되는 작업영역(200l) "OUTPUT BUFFERS"로 지정된 출력버퍼(2002) 및 다른 버퍼영역(2003)을 포함한다. 제20도의 우측에 도시한 바와 같이, 출력 버퍼(2002)는 CPU(18Ol), DSP(1809,18l0) 및 하드웨어 장치(18l1,18l2)에서 각각의 소프트웨어 모듈을 조작함으로써 얻어진 연산결과를 등록하기 위한 영역을 갖고 있다. 각각의 소프트웨어 모듈은 자체 처리를 실행하도록 상기 출력버퍼 영역으로부터 다른 소프트웨어 모듈로 제공된 데이터를 검색한다. DSP(1809,1810) 및 하드웨어장치(18ll,l812)를 포함하는 프로세서 및 장치가 CPU(1801)과는 달리 그 출력버퍼 영역을 엑세스할때, DMA(1806)에 요청을 내서 프로세서와 하드웨어 장치 사이에서, 그리고 출력 버퍼 영역 사이에서 직접 메모리 엑세스(DMA)에 의해 데이터 전달이 행해진다. 이와는 달리, CPU(18Ol)에 의해 데이터 전달이 관리 및 제어될 수 있다.
이하, 출력버퍼(2002)의 각 영역에 대한 상세한 동작을 이하에 설명한다.
(1) CPU WM TG는 CPU WM TG ON 모듈 및 CPU WM TG OFF 모듈 중 하나로부터의 출력을 등록하는데 사용되는 출력버퍼영역,
(2) CPU DF는 CPU DF ON 모듈 및 CPU DF OFF 모듈중 하나로부터의 출력을 등록하는데 사용되는 출력버퍼영역,
(3) CPU AMPL은 CPU AMPL ON 모듈과 CPU AMPL OFF 모듈 중 하나로부터의 출력을 등록하는데 사용되는 출력버퍼,
(4) DSP1 WM TG는 DSP1 WM TG ON 모듈과 DSP1 WM TG OFF 모듈 중 하나로부터의 출력을 등록하는데 사용되는 출력버퍼 영역,
(5) DSP1 DF는 DSP1 DF ON 모듈과 DSP1 DF OFF 모듈중 하나로부터의 출력을 등록하는데 사용된 출력버퍼 영역,
(6) DSP1 AMPL은 DSP1 AMPL ON 모듈 및 DSP1 AMPL OFF 모듈 중 하나로부터의 출력을 등록하는데 사용되는 출력버퍼영역,
(7) DSP1 D & F LOOF는 DSP1 D & F LOOP ON 모듈 및 DSP1 D & F LOOF OFF 모듈중 하나로부터의 출력을 등록하는데 사용되는 출력버퍼 영역,
(8) DSP1 REVERB DSP1 REVERB ON 모듈 및 DSP1 REVERB OFF 모듈 중 하나로부터의 출력을 등록하는데 사용되는 모듈,
(9) DSP1 CHORUS DSP1 CHORUS ON 모듈 및 DSP1 CHORUS OFF 모듈중 하나로부터의 출력을 둥록하는데 사용되는 출력버퍼,
(10) DSP1 PHASE SHIFTER는 DSP1 PHASE SHIFTER ON 모듈 및 DSP1 PHASE SHIFTER OFF 모듈 중 하나로부터의 출력을 등록하는데 할당된 출력버퍼 영역,
(11) DSP1 MIXERi(i=1-n)는 MIXERi ON 모듈 및 DSPl MIXERi OFF 모듈중 하나로부터의 출력을 등록하는데 사용되는 출력버퍼, 상기 믹서는 7개의 믹서 장치가 구비됨. 각 믹서의 믹싱 결과가 대응 출력버퍼 영역에 등록됨.
(12) DSP1 FM은 DSP1 FM ON 모듈 및 DSP1 FM OFF 모듈 중 하나로부터의 출력을 등록하는데 제공되는 출력버퍼 영역,
(13) DSP2 WM TG 내지 DSP2 FM은 (4)~(12)에 리스트된 것과 유사하며, 제2DSP(1810)과 관련된 여러 소프트웨어 모듈에 할당된 출력버퍼 영역,
(14) HARD1 HARD1 ON 모듈 및 HARD1 OFF 모듈 중 하나에 의해 동작하는 하드웨어 장치(1811)로부터의 출력을 등록하는데 사용되는 출력버퍼 영역,
(15) HARD2는 HARD2 ON 모듈 및 HARD2 OFF 모듈에 따라 동작하는 하드웨어 장치(1812)로부터의 출력을 등록하는데 사용되는 출력버퍼 영역,
(16) HARD3-HARDm은 다른 하드웨어 장치로부터의 출력을 기억하는데 사용되는 출력버퍼 영역. 그러나, 본 발명의 전자악기는 HARD3-HARDm이 본 실시예서 사용되지 않도록 하드웨어 자치(1811, 1812)만을 이용한다.
다음으로, 본 발명의 전자악기의 악음 발생을 위한 알고리즘의 편집 절차에 대해 기술한다. 이 실시예에서 유저는 수동 입력기구(1807) 및 타이핑 키보드(1808)를 이용하여 악음 발생 합성 알고리즘을 편집하도록 디스플레이(1804)를 모니터한다. 이하에 편집 절차에 대한 알고리즘을 기술한다.
(1) 디스플레이(1804)상에 모듈 화상을 나타내도록 컴퓨터 전자악기 시스템이 부팅된다. 상기 모듈화상은 악음의 합성에 사용할 수 있는 여러 기본기능에 대응하는 부분으로서 여러 기능 블럭을 도시한다. 각각의 기능 블록은 대응 기본 기능을 실현하도록 설치된 소프트웨어 모듈을 나타내며, 따라서, 상기 모듈 화상에 포함된 기능블럭을 이하 "모듈"이라 한다.
(2) 유저는 악음 발생 알고리즘의 편집을 위해 프레임워크를 형성하도록 사전선택 모듈이 사용되게 모듈 화상에 포함된 부분으로부터 여러 모듈을 사전 선택한다. 이러한 사전선택을 상기 모듈화상에 포함된 소정의 모듈에서 마우스를 클리킹함으로써 행해진다.
(3) 상기 시스템은 패치워크와 유사한 사전선택 모듈을 포함하는 모듈 화상으로부터 대치 화상으로 디스플레이(1804)를 스위치한다. 상기 패치 화상은 특정 악음 발생 알고리즘을 도식적으로 편집하는데 사용되며, 제1실시예의 제3,4도에 도시된 것에 대응하는 기능도를 나타낸다.
(4) 유저는 각각의 모듈의 세팅을 행하며, 각각의 모듈을 서로 접속해서 각각의 모듈의 입/출력 관계를 형성하도록 패치 화상을 처리함으로써 알고리즘 편집을 위한 프레임 워크로서 소정의 기능블럭을 완성한다.
(5) 그러면, 기능블럭은 상기 블럭도에 포함된 각각의 모듈 또는 기능블럭을 선택 또는 비선택 하도록 도식적으로 처리되어 제1실시예와 유사한 방식으로 악음 발생 특정 알고리즘에 대한 편집을 할 수 있다.
이하, 모듈 화상의 일례를 도시하는 제21도, 모듈의 설정동작을 도시하는 제22a-그래프 및 패치 화상의 다른 예를 도시하는 제23 및 24도를 참조하여 편집작업을 상세히 설명한다. 제21도를 참조하면, 도면부호(2100)는 디스플레이(1804)상의 모듈 화상에 대한 윈도우를 나타내며, 이 윈도우(1800)는 참조번호(210l~2lll)로 지정된 여러 항목의 모듈을 포함하며, 마우스 커서 즉, 포인터가 모듈(2101~21ll)중 소정의 하나로 지정되며, 이어서 마우스 버튼이 클릭되어 소정의 모듈이 사전 선택된다.
이러한 동작을 "모듈 사전선택"이라 한다. 그러면, 제21도의 모듈윈도우(2100)가 소거되며, 순서적으로 디스플레이(1804)사에 패치 화상이 제공된다. 사전선택모듈은 디스플레이 패치 화상에서 패치되며, 모듈 사전선택이 차례로 행해져서, 악음 합성 또는 발생에 사용되는 여러 기본 기능을 선택한다. 제23 및 24도는 사전선택 모듈중 몇 개가 이미 패치되며, 상호 접속된 패치 화상의 예를 도시한다. 그러나 최초 패치 화상은 패치 화상명과 메뉴 항목을 포함하는 정보화함께 블랭크 영역만을 가진다.
제2l도를 참조하면, 각각의 모듈이 체크 박스를 포함하는 장방형 블럭 및 상기 박스의 상좌측부의 모듈 명으로 표시된다. 상기 첵크 박스는 대응 기본 기능이 선택 또는 비선택 되는지를 지정하는데 이용된다. 예를 들면, 장방형 블럭의 모둘(2101)은 파형 메모리 판독모드에 의해 악음 파형을 발생하도록 설치되며, 체크박스(2131) 및 그 상 좌측부에서 "WAVE MEMORY TG"(2132)를 포함한다.
유사한 방식으로 나머지 모듈(2lO2-2110)은 체크박스나 장방형 블럭 상좌측부의 명칭을 포함한다. 그러나, 최종 "OUT"모듈(2111)은 악음신호를 출력하도록 종료 단자를 지정하도록 된 예의 형이다. 따라서, OUT 모듈(211l)은 OUT 모듈의 온/오프 상태를 특정하는 체크박스를 가지지 않는데, 이는 출력 모듈이 언제나 선택되기 때문이다.
일반적으로, 각각의 모듈 장방형 블럭의 하좌측부에서 라벨 "SETTINGS"을 가지며, 라벨 "SETTINGS"의 우측부에서 다른 라벨 "PARAMETERS"를 포함한다.
상기 메뉴(2210)는 여러 선택 항목을 리스트하고 있다. 항목 "PROCESSOR(221l)"는 상기 모듈의 기본 기능을 실현하는데 사용되는 프로세서를 선택하도록 클릭된다. 다른 항목 "SAMPLING FREQ(2212)"은 파형 데이터의 샘플링 주파수를 설정하도록 클릭된다.
메뉴(2210)에서 마우스를 항목 "PROCESSOR(2211)"이 클릭된 경우, 디스플레이는 제22c도 및 22d도에 도시한 프로세서 선택 메뉴(2220,2230)중 하나를 나타내야 한다. 상기프로세서 선택메뉴는 모듈의 기본 기능을 실현하도록 사용되는 프로세서의 선택에 사용되며, 제22c도의 프로세서 선택 메뉴(2220)는 체크박스와 함께 항목 "CPU(2222)", DSPl(2223)" 및 "DSP2(2224)"를 리스트하고 있다.
상기 체크박스 중 하나가 마우스의 클리킹으로 선택되어 모듈의 기본기능이 CPU(1801), DSP(1809), 및 DSP(18lO)중 하나로 실현된다.
제22c도의 프로세서 선택메뉴(2220)에 있어서, 시스템이 모듈의 기본 기능을 실현하기 위해 하드웨어 장치를 갖고 있지 않기 때문에 항목 "HARD LSI"는 X로 마크된다. 반면, 시스템이 하드웨어 장치를 갖고 있는 경우에, 선택을 위한 체크박스와 "HARD LSI(2232)" 항목을 포함하는 제22d도에 도시된 바와 같이 다른 프로세서 선택메뉴(2230)가 제공된다. 상기 체크박스가 마우스로 클릭되면, 상가 모듈의 기본 기능을 실현하도록 하드웨어 장치가 선택된다. 상기 "WAVE MEMORY TG"모듈(2lO1)은 상기 파형 메모리 판독방법에 의해 악음신호를 발생하기 위한 기본기능을 가진다. 전술한 바와 같이, 상기 기본기능은 본 실시예에서 CPU(1801), DSP(1809,1810) 및 하드웨어장치(1812)중 하나에 의해 실현될 수 있다. 따라서 프로세서 선택메뉴(2230)는 상기 모듈(2lOl)이 관련하여 제22d도에 도시한 바와 같이 제공된다.
이러한 식으로, 각 모듈에 대해 프로세서 선택 메뉴가 제공되어 유저가 대응 기본 기능을 실현할 수 있는 소정의 프로세서를 선택할 수 있다. 제22c 및 22d도에 도시한 프로세서 선택 메뉴(2220,2230)에 있어서, 도면부호(2221,223l)는 클로즈 박스(close box)로 지정되며, 이 박스는 유저에 의해 소정의 프로세서가 특정된 후 프로세서 선택 메뉴(2220,2230)를 달도록 클릭된다. 제2실시예에 있어서, 블랙마크 박스 항목 및 화이트 마크 항목은 비선택된다. 이러한 마킹 지시는 제1실시예에 반대이며, 선택/비선택 상태 사이의 구별을 명확히 나타내도록 표시된다.
제22e도는 WAVE MEMORY TG 모듈(2501)의 작업디스플레이 상태를 표시하며, 이는 라벨 "PARAMETER(2l37)"가 마우스로 클릭된 경우 제공되며, 부호(2240)으로 도시된 파라미터 세팅 메뉴를 포함한다. 상기 메뉴는 그 메뉴를 달도록 클릭되는 클로즈박스(2241)를 포함하며, 상기 파라미터 설정메뉴(2240)는 모듈(2101)의 동작과 관련된 여러 파라미터 값(2243)을 리스트하고 있다. 유저는 마우스 및 타이핑키보드(1808)에 의해 각각의 파라미터를 설정 또는 변경한다. 도면부호(2242)는 파라미터 그룹 수 및 명칭을 지정하는데, 이들은 상기 파라미터 설정메뉴(2240)에 포함된 여러 파라미터 값이다. 상기 파라미터 그룹은 상기 모듈과 관련된 여러 파라미터 값을 전체적으로 변경하도록 선택될 수 있다. 제22a도에 도시한 바와 같이, 모듈(210l)은 장방형 블럭의 중간부분에서 언더라인된 파라미터 그룹 "OOl PIANOl(2l34)"의 수 및 명칭을 담고 있는데, 이는 모듈(2101)이 "OO1 PIANO1"으로 지정된 파라미터 그룹으로 현재 설정된 것을 나타낸다. 상기 수 및 명칭(2134)은 마우스로 클릭되어 사전설정 파라미터의 리스트가 제22f도와 같이 디스플레이되며, 참조번호 2450으로 지정된다. 유저는 리스트(2450)으로부터 소정의 파라미터 그룹을 설정할 수 있어서 선택그룹의 여러 파라미터 값이 하나의 엔터티(entity)로서 모듈에 설정된다.
제22g 및 22h도는 FM 악음발생기 모듈(2109)에 설정된 다른 타입의 파라미터 그룹을 도시하는데, 이 도면에 있어서, 하나의 파라미터 그룹 "OO8 FM--BRASSI"가 선택되며 도면부호(2261)로서 도시된다. 22h도에 있어서, 다른 파라미터 그룹 "O58 FM-SYNTH1"이 도면부호(2262)로서 동일 모듈에 설정되며, FM 악음 발생기모듈에 있어서, 소정의 파라미터 그룹이 소저의 음색에 대응하는 소정의 조작자(OP)장치를 특정하도록 선택된다. 선택된 장치는 제22g, 22h도에 도시한 바와 같이 모.듈(2109)의 장방형 블럭 내에 제공된다.
다시 제2l도를 참조하면, 라벨 "SETTINGS" 및 "PARAMETERS"가 각각의 모듈에 부착된다. 예의적으로, 모듈(211O)은 설정될 임의의 파라미터를 갖지 않으므로, "FOOT CONTROLLER 모듈(2110)"은 라벨 "PARAMETERS"을 포함치 않으며, 또한, "MIXER 모듈(2108)" 및 "OUT 모듈(2111)"은 프로세서 및 파라미터가 설정될 필요가 없으므로 "SETTINGS" 및 "PARAMETERS"를 포함치 않으며, 또한 "AMPITTUDE CONTROLLER 모듈(2103)는 상기 모듈(2103)내에 인터널 인벨로프 발생기 등의 파라미터가 설정되므로, 변경된 라벨 "EG PARAMETERS"를 갖는다. 상기한 바와 같이, 파라미터 그룹의 수 및 명칭은 각각의 모듈의 장방형 블럭 내에서 현재 지정된 파라미터 그룹을 지정하도록 언더라인 되는데, 상기 모듈에는 한 세트의 파라미터가 엔터티로서 선택될 수 있다. 제22f도에서 설명한 바와 같이, 소정 항목의 파라미터 그룹이 클리어되어 선택 및 설정되지만, 상기 파라미터 그룹의 표시에는 FOOT CONTROLLER 모듈(211O) MIXER 모듈(2108) 및 OUT 모듈(2111)의 블럭에서 빠지는데, 이는 상기 모듈이 설정될 파라미터를 가지지 않기 때문이다.
각각의 모듈은 입 출력 단자를 지시하는 작은 사각 심벌을 가지는데, 예를 들면, 모듈(21O1)은 발생된 악음신호를 출력하는 출력단자(2135), 모듈(21O2)은 한 쌍의 입출력단자(215l,2152)를 가지며, 입력단자는 악음신호를 수신 및 처리하는 기능을 가지지 않는 몇 개의 모듈에는 제공되지 않는다.
상기 믹서모듈(2lO8)은 여러 입력단자와 한 쌍의 출력단자를 가지는데, 이들은 언더라인된 O0-99의 웨이트 값(weight value)을 수반하며, 상기 웨이트 값은 패치 화상에서 변경 또는 재기록된다.
제21도의 모듈 윈도우(2100)에 있어서, 참조번호(212l)는 디스플레이된 모듈화상의 명칭을 나타낸다. 나타난 명칭은 여러 가지 모듈 화상의 리스트를 부르도록 클릭된다. 유저는 상기 리스트로부터 소정의 모듈화상을 선택할 수 있다. 이러한 동작으로, 유저는 선택된 모듈화상에 포함된 모듈 중 하나를 선택할 수 있다. 참조번호(2123)는 편집모드로부터 정상연주 모드로 스위치 되도록 클릭된 모드 버튼을 나타내며, 2122는 임의의 모듈을 선택하지 않고 모듈화상으로부터 패치 화상으로 스위치 되도록 클릭된 명령 버튼을 나타낸다.
다음으로, 제23,24도를 참조하여 패치 화상에 대한 동작을 기술한다. 제23도에 도시한 패치화상에 있어서, 2300은 패치화상이 디스플레이된 윈도우를 나타내며, 상기 패치화상의 처음 윈도우(2300)는 모듈이 패치되지 않아서, 블랭크 스페이스를 가지며 패치화상의 명칭(23Ol), 정상연주 모드로 복귀하는데 사용되는 모드 버튼(2302) 및 상기 모듈 화상으로 복귀하는데 사용되는 버튼(2303)만을 나타낸다.
제21-22h도에 도시한 바와 같이, 모듈 화상으로부터 소정의 한 모듈이 선택된다. 사전 선택된 모듈은 제23도에 도시한 바와 같이 패치 화상으로 패치된다. 22a-22h도의 설명에서, 파라미터의 선택 및 설정은 각각의 사전 선택 모듈에 대해 행해진다. 상기 모듈은 각 모듈의 입출력 단자를 통해서 상호 접속된다. 접속 작업은 마우스가 한 모듈의 입력단자로부터 다른 모듈의 출력단자에 드래그되도록 도식적으로 수행된다. 한 쌍의 입출력 단자를 블랙으로 마크한다. 또한 제1실시예와 유사하게 각 모듈의 장방형 블럭의 상좌측부에 위치한 체크박스는 각 모듈의 대응 기본기능의 선택 또는 비선택을 결정하도록 선택적으로 클릭된다.
이러한 식으로, 특정 악음 발생 알고리즘이 패치 화상에서 편집되어 악음 발생의 연산절차를 형성한다. 생성된 알고리즘은 "패치 데이터"로서 RAM(1803)에 기억되며, 이 데이터는 소거되지 않도록 배터리로서 백업된다. 상기 데이터는 제23도의 대응 패치화상(230l)의 명칭을 불러옴으로써 RAM(1803)에서 검색된다.
상기 패치데이터는 "SETTINGS", "PARAMETERS" 및 파라미터 그룹 명칭과 같은 상기 모듈의 세팅, 각각의 모듈간의 상호접속 및 각 모듈의 온/오프 상태(선택/비선택 상태)와 같은 악음 발생에 사용되는 사전선택 모듈의 식별부를 포함한다.
소정의 패치 데이터가 메모리로부터 판독될 때, 상기 패치 데이터로 규정된 모듈에 대응하는 소프트웨어 모듈이 RAM(1803), DSP(1809,18l0)인 마이크로 프로그램 메모리 및 하드웨어 장치918ll,l8l2)중 적당한 것에 로드된다. 로드된 소프트웨어 모듈에 따라 악음이 발생된다. 이하에 상기 로드된 소프트웨어 모듈과 제21도의 각 모듈사이의 대응을 설명한다. 상기 대응 소프트웨어 모듈은 "ON 모듈" 및 "OFF 모듈" 중 하나이며, 이는 각 모듈의 장방형 블럭의 상좌측부에 위치한 체크박스로 도시된 각 모듈의 온/오프 상태에 따라 선택된다.
(1) WAVE MEMORY TG 모듈(2101)은 CPU가 상기 모듈의 기본기능을 실현하는 프로세서로서 특정된 경우 CPU WM TG ON 모듈 및 CPU WM OFF 모듈 중 하나에 대응하며, DSP1이 상기프로세서로서 특정된 경우 DSP1 WM TG ON 모듈 및 DSP1 WM TG OFF 모듈 중 하나에 대응하며, DSP2가 상기 프로세서로서 특정된 경우, DSP2 WM TG ON 모듈 및 DSP2 WM TG OFF 모듈에 대응하며, HARD LSI1가 상기 프로세서로서 특정된 경우 HARD2 ON 모듈 및 HARD 2 OFF 모듈에 대응한다.
(2) DIGITAL FILTER 모듈(2102)는 DIGITAL 모듈(2102)는 CPU가 상기 모듈의 기본 기능을 실현하는 프로세서로서 특정된 경우, CPU DF ON 모듈 및 CPU DF OFF 모듈중 하나에 대응하며, DSP1이 상기 프로세서로서 특정된 경우, DSPl DF ON 모듈 및 DSPl DF OFF 모듈 중 하나에 대응하며, DSP2가 상기 프로세서로서의 특정된 경우, DSP2 DF ON 모듈 DSP2 DF OFF 모듈 중 하나에 대응한다.
(3) AMPLITUDE CONTROLLER 모듈(2103)은 CPU가 상기 프로세서로서 선택된 경우, CPU AMPL ON 모듈 CPU AMPL OFF 모듈중 하나에, DSPl이 상기 프로세서로서 선택된 경우, DSP1 AMPL ON 모듈 및 DSP1 AMPL OFF 모듈 중 하나에 DSP2가 상기 프로세서로서 선택된 경우, DSP2 AMPL ON 모듈 및 DSP2 AMPL OFF 모듈중 하나에 대응한다.
(4) DELAY & FILTER LOOP 모듈(2lO4)은 DSP1이 상기 프로세서로서 지정된 경우, DSP1 D & F LOOP ON 모듈과 DSP1 D & F LOOP OFF 모듈중 하나에 대응하며, DSP2가 상기 프로세서로서 지정된 경우, DSP2 D & F LOOP ON 모듈과 DSP2 D & F LOOP OFF 모듈중 하나에 대응한다.
(5) REVERB 모듈(2lO5)은 DSP1이 상기 프로세서중 하나로서 지정된 경우 DSP1 REVERB ON 모듈과 DSPl REVERB OFF 모듈중 하나에 DSP2가 상기 프로세서중 하나로서 지정된 경우 DSP2 REVERB ON 모듈과 DSP2 REVERB OFF 모듈중 하나에 대응한다.
(6) CHORUS 모듈(2lO6)은 DSPl이 상기 프로세서로서 지정된 경우 DSPl CHORUS ON 모듈 및 DSPl CHORUS OFF 모듈 중 하나에 대응하며, DSP2가 상기프로세서로서 지정된 경우, DSP2 CHORUS ON 모듈 및 DSP2 CHORUS OFF 모듈 중 하나에 대응한다.
(7) PHASE SHIFTER 모듈(2lO7)은 DSPl이 상기 프로세서로서 지정된 경우 DSPl PHASE SHIFTER ON 모듈 및 DSPl PHASE SHIFTER OFF 모듈 중 하나에 대응하며, DSP2가 상기프로세서로서 지정된 경우, DSP2 SHIFTER ON 모듈 및 DSP2 SHIFTER OFF 모듈 중 하나에 대응한다.
(8) MIXER 모듈(2108)은 DSP(1809,18lO)중 하나에 의해 실현되는 기본 기능(믹싱기능)을 가진다. 본 발명의 시스템은 DSP(1809,18lO)중 하나를 적절히 선택하며, 따라서, DSP(1809)가 지정되면 DSPl MIXERi ON 모듈(i=1-n)및 DSPl MIXERi OFF 모듈 중 하나가 믹서 모듈(2108)에 대응하며, DSP(l810)이 지정되면, DSP2 MIXERi ON 모듈 및 DSP2 MIXERi OFF 모듈 중 하나가 MIXER 모듈(2108)에 대응하며, 한 DSP에 n개의 믹서장치가 제공된다. 따라서, 믹서모듈(2108)은 한 DSP에 n개의 믹서장치까지 패치화상으로 패치된다. 상기 믹서 장치는 패치순서로 i=1,2, ...로 라벨로 나타내진다.
(9) FM TONE GENERATOR 모듈(2lO9)는 DSP1이 모듈의 기본 기능을 실현하는 프로세서로서 지정된 경우, DSPl FM ON 모듈 및 DSPl FM OFF 모듈 중 하나에, DSP2가 상기 프로세서로 지정된 경우 DSP2 FM ON 모듈 및 DSP2 FM OFF 모듈 중 하나에, HARD LSI가 상기 프로세서로서 지정된 경우, HARD1 ON 모듈 및 HARD1 OFF 모듈 중 하나에 대응한다.
(10) FOOT CONTROLLER 모듈(2llO)은 대응 소프트웨어 모듈을 가지지 않으며, 상기 모듈(2110)에 접속된 다른 모듈은 풋제어기(1815)로부터의 값을 취한다.
(11) OUT 모듈(2111)은 대응 소프트웨어 모듈을 가지지 않으며, DAC(1805)가 최종 악음 신호를 취하여 스피커를 포함하는 음향 사운드 시스템에 공급하는 경우 DAC(1805)는 OUT 모듈(2111)에 접속된 모듈로부터 출력된 데이터를 취한다.
상술한 바와 같이 패치 데이터로 지정된 소프트웨어 모듈이 시스템으로 로드된다. 제l실시예와 유사한 방식으로, 연산 단계를 줄여서 OFF 소프트웨어 모듈에 의해 비선택 모듈이 실현되어, 널데이터를 간단히 출력할 수 있거나, 입력데이터를 그대로 통과시킬 수 있다.
다음으로, 제25-28도를 참조하여 전자악기의 제2실시예의 동작을 상세히 설명한다. 제25도는 CPU(1801)에 의해 실행된 주 프로그램을 도시하는 플로우차트이며, 첫째로, 단계(250l)에서 여러부품의 초기화가 행해진다. 특히, 시퀀스 플랙 SEQFLGl 및 SEQFLG2가 "0"으로 초기화되며, 이러한 플래그는 패치 편집 처리의 절차를 제어하는데 사용된다. 다음으로 임의의 동작사건이 단계(2502)에서 검출되며, 단계(2503)에서 실행사건이 처리되며, 단계(2502)의 처리를 검출하는 동작사건이 마우스 또는 타이핑 키보드(1808)에 의해 발행된 동작 사건을 검출하도록 행해진다, 단계(2503)의 실행사건은 키보드(18l6) 및 풋제어기(18l5)를 통해 유저가 입력한 실행사건을 검출토록 행해진다. 상기 실행사건은 MIDI 입력의 형태로 제공된다. 그러면 검출된 실행사건에 응답하여 악음을 발생하도록 명령이 발행된다.
이어서 모드 관리처리가 단계(2504)에서 행해진다. 전자악기 유저의 실행 사건에 응답하여 악음이 발생되는 정상연주모드, 모듈화상 및 패치화상을 도식적으로 처리함으로써 패치 데이터가 발생되는 패치 편집 모드를 포함하는데, 상기 모드 관리 단계(2504)는 상기 두 모드의 스위칭을 관리한다.
그리고, 단계(2505)에서 패치 편집모드가 현재 선택되는지 여부에 대한 검사가 행해진다. 예스라면, 제27도와 관련하여 상술되는 단계(2507)의 패치 편집처리가 행해지며, 노(NO)라면, 소정의 패치 데이터가 패치 화상명을 지정 함으로써 선택되도록 단계(2506)의 패치 선택처리가 행해진다. 이러한 패치 선택 처리에 있어서, 선택된 패치 데이터에서 지정된 모듈에 대응하는 소프트웨어 모듈이 RAM(1803), DSP(189,18l0)의 마이크로프로그램 RAM 및 하드웨어장치(18ll,1812)에 적절히 로드된다.
다음으로, CPU(1801)에 의한 음원 선택 동작이 선택되는지에 대한 검사가 단계(2508)에서 행해진다. 즉, 상기 검사는 CPU에 의해 음원처리를 실행하는 임의의 모듈을 현재 선택된 패치데이터가 지정하는지를 검출하도록 행해진다.
예스(YES)라면, 제26도와 관련하여 상세히 기술되는 CPU(1801)에 의한 음원처리가 단계(2509)에서 행해진다. 노라면, 다른 처리가 행해지는 단계(25lO)로 루틴이 점프된다. 이후 단계(2502)로 복귀한다.
제26도는 단계(2509)에서 행해진 CPU음원 처리 또는 CPU 악음 발생 처리를 상세히 도시하는 플로우차트이다. CPU음원 처리에 있어서, "WM TG CPU" 처리가 선택되는지에 대한 제1 검사가 단계(2601)에서 행해진다. 상기 처리는 현재 세트된 패치 데이터가 WAVE MEMORY를 지정한 경우 선택된다. TG 모듈(210l) 및 CPU가 모듈(2lOl)을 실현하는 프로세서로서 지정된다. 상기 검사 결과가 예스이면, 모듈(2101)의 온/오프 상태에 따라 CPU WM TG ON 모듈 및 CPU WM TG OFF 모듈중 하나가 RAM(1803)에 로드되어, 로드된 ON 또는 OFF 스포트웨어 모듈이 단계(2602)에서 수행되어 파형메모리로부터의 파형데이터의 판독에 의해 악음이 발생되도록 WM TG 처리가 행해진다.
다음으로, "DF CPU" 처리가 선택되는지에 대한 검사가 단계(2603)에서 행해진다. 상기 처리는 현재의 피치 데이터가 DIGITAL FILTER 모듈(2lO2)을 지정하고, CPU가 모듈(2lO2)를 실현하는 프로세서로서 지정된 경우에 선택된다. 검사결과가 예스이면, 모듈(2lO2)의 온/오프 상태에 따라 RAM(1803)내에 CPU DF ON 모듈 또는 CPU DF OFF 모듈이 로드되어 그 로드된 온 또는 오프 소프트웨어 모듈이 단계(2604)에서 행해져 DF 프로세서 또는 디지털 필터링 처리를 할 수 있다.
이어서 "AMPL CPU"처리가 선택되는지에 대한 검사가 단계(2605)에서 행해진다. 상기 처리는 현재의 패치 데이터가 AMPLITUDE CONTROLLER 모듈(2103)의 사용을 지정하고, 모듈(21O3)을 실현하는 프로세서로서 CPU가 지정된 경우 행해진다. 상기 검사가 예스인 경우 상기 모듈(2103)의 온/오프 상태에 따라 CPU AMPL ON 모듈 또는 CPU AMPL OFF 모듈이 RAM(1803)에 로드된다. 따라서, 로드된 온 또는 오프 소프트웨어 모듈이 행해져 AMPL 처리 또는 진폭 제어 처리를 할 수 있다.
제27도는 제25도의 단계(2507)에서 수행된 패치 편집처리를 상세히 도시하는 플로우차트로서, 이러한 패치 편집 처리에 있어서, 시퀀스 플래그 SEQFLG1이 "0"로 설정되는지에 대한 제1검사가 단계(27Ol)에서 행해진다. 상기 플래그가 정상연주모드에서 "O"으로 설정되며, 패치 편집 모드에서는 "1"로 설정된다. 상기 시퀀스 플래그가 단계(270l)에서 "0"으로 유지되면 이는 상기 패치 편집 처리가 정상 연주 모드가 패치 편집 모드로 전환된 후에 바로 호출된 것을 의미한다. 따라서, 단계(2702)에서, 현재 선택 패치 데이터에 대응하는 패치 화상이 패치 윈도우에서 디스플레이된다. 플래그 SEQFLGl이 단계(2703)에서는 "l"로 설정된다. 그후 루틴이 복귀된다.
단계(2701)에서 플래그 SEQFLGl이 "O"로 세트되지 않은 경우, 시퀀스 플래그 SEQFLG2가 "0"로 세트되는지에 대한 검색 단계(2704)에서 행해진다. 모듈 화상의 디스플레이시 상기 플래그가 "1"로 세트되며 패치화상의 디스플레이시 상기 플래그는 "0"으로 세트된다. 플래그 SEARG2가 "0"으로 세트되면, 패치 화상이 디스플레이된다. 따라서 패치화상을 모듈 화상으로 전환하도록 제23도에 도시한 항목(2303)을 클리킹함으로써 스위치 사건이 입력되었는지에 대한 후속의 검사가 단계(2705)에서 행해진다. 예스이면 단계(2706)에서 모듈 화상이 디스플레이되며, 또한 플래그 SEQFLG2가 단계(2707)에서 "1"로 세트되며, 그후 루틴이 복귀된다. 단계(2705)에서의 결과가 노이면 패치 상세 편집처리가 단계(2708)에서 행해지며 패치화상에 대한 여러 가지 편집동작효과가 부여된다. 그후 루틴이 복귀된다.
단계(2704)의 검사 결과가 SEQFLG2가 "0"으로 세트되지 않았다고 나타나면 모듈 화상이 디스플레이된다. 따라서 단계(2709)에서 사전선택사건이 모듈화상의 임의의 모듈에 대해 발행되었는지에 대한 검사가 행해지며, 상기 모듈사전 선택사건이 발행되었으면, 단계(2710)에서 현재 선택된 패치데이터에 대응하는 패치 화상으로 디스플레이가 스위치 되며, 또한 사전 선택 모듈이 디스플레이된 패치 화상으로 패치된다. 그러면, 플래그 SEQFLG2가 "O"로 리세트되어 그후 루틴이 복귀된다.
단계(2709)에서 모듈 사전 선택사건이 발행된 경우, 단계(27l2)에서 모듈화상에서 패치화상으로의 변경을 명령하도록 제2l도에 도시한 항목(2l22)을 클리킹함으로써 스위치 사건이 발행되었는지에 대한 검사가 행해진다. 예스이면, 현재 선택된 패치 데이터에 대응하는 화상데이터가 단계(2713)에서 디스플레이된다. 그러면, 플래그 SEQFLG2가 단계(2714)에서 "0"으로 리세트된다. 그후 루틴이 복귀된다. 단계(2712)에서 스위치 사건이 발행되지 않은 경우, 단계92715)에서 모듈화상 변경처리가 행해진다. 그후 루틴이 복귀된다. 모듈화상 변경처리에 있어서, 제21도의 모듈명(2l21)이 현재의 모듈 화상에서 클릭되어 여러 가지 모듈 화상 또는 프레임의 리스트가 호출된다. 그러면, 유저는 상기 리스트로부터 소정의 모듈 화상을 선택할 수 있다. 제21도에 도시한 모듈명(2121)상에서 클릭이 발생치 않은 경우, 루틴은 모듈 화상 변경처리 단계(2715)를 지나친다.
제28도는 제27도의 단계(2708)에서 수행된 패치디테일 편집 처리를 도시하는 플로우차트로서, 상기 패치 상세 편집처리에 있어서, 각 모듈의 세팅처리가 패치화상 상에서 단계(1801)에서 수행된다. 상기 세팅처리는 예를 들면 제22a도에 도시한 체크박스(2131)를 턴 온 또는 턴 오프함으로써 각 모듈의 온/오프 상태를 세팅하고, 제22a도에 도시한 파라미터 그룹(2l34)의 수 및 명칭을 변경함으로써 파라미터 그룹을 지정하고, 제22c도 및 22d도와 관련하여 제22b도의 항목 "SETTINGS(2210)"과 관련된 프로세서 세팅 및 제22e도의 항목 "PARAMETERS(2240)"과 관련된 파라미터 세팅하는 것을 포함한다.
다음, 단계(2802)에서 패치 데이터에 따라 필요한 DSP 마이크로프로그램 및 CPU 악음 발생 프로그램이 로드되며, 하드웨어 장치로 필요한 파라미터가 전달된다. 제1실시예의 DSP 마이크로 프로그램의 로딩 처리와 유사하게, 패치 데이터로 지정된 소프트웨어 모듈이 RAM(l803), DSP(l809,18l0)의 마이크로 프로그램 RAM 하드웨어 장치(1811,1812)로 로드된다. 이렇게 로드된 CPU 악음 발생 알고리즘이 단계(2602,2604,2606, 제26도)에서 실행된다. 그러면 다른 관련 처리가 단계(2803)에서 행해지며, 그후 루틴이 복귀된다. 상기 관련처리는 패치 화상의 모듈의 이동 및 삭제, 모듈간의 접속의 편집 패치 데이터의 변경 및 패치 데이터의 세이빙을 포함한다. 상기 패치 데이터는 여러 패치 화상의 리스트를 호출하도록 제23도의 패치명(23Ol)을 클리킹함으로써 변경될 수 있다.
유저는 리스트된 패치화상 중 하나를 선택할 수 있어서 그 선택된 패치 화상이 현재의 패치 화상 대신 디스플레이된다.
제29a도는 제23도의 패치 화상으로 표시되는 패치 데이터를 기본으로 한 악음 발생 처리를 도시하는 타이밍도로서 특히 제29a도에 있어서 제23도의 패치 데이터에 따라 CPU(18O1)는 파형 메모리 악음발생처리(제23도의 WAVE MEMORY TG), 디지털 필터링 처리 (DIGITAL FILTER), 및 진폭제어처리(AMPLITUDE CONTROLLER)를 행하는데 사용된다. DSP(1809)는 딜레이 및 필터 루프처리(DELAY & FILTER LOOP), 잔향효과처리 전단의 믹싱처리(MIXER) 및 잔향효과 부여처리(REVERB)를 행하는데 이용된다. DSP(1810)는 FM 음원처리 (FM TONE GENERATOR) 및 잔향효과 처리 후단의 믹싱처리(MIXER)를 행하는데 사용된다. 제29a도의 타이밍도에 있어서, S1,S2,S3 및 S4는 각각 DAC 사이클을 지시한다.
악음신호는 이하의 처리 순서에 따라 출력된다. 악음신호는 제20도의 설명에서 기술한 출력버퍼 (OUTPUT BUFFERS)를 통해 제23도에 도시한 바와 같이 접속된 여러 모듈 간에 전달된다. 제1 사이클 S1에서 CPU(1801)는 해칭부(2901)로 도시한 파형 메모리 음원처리를 행한다. 상기 해칭부(2901)의 출력은 해칭부(2902)로 도시한 디지털 필터링 처리를 받는다. 상기 해칭부(29Ol)의 출력은 풋제어기(2903)의 동작에 응답하여 해칭부(2903)에 의해 진폭제어 처리를 받는다. 파형 메모리 음원처리와 병행해서 DSP(1810)는 해칭부(2904)에서 FM 음원처리를 수행한다. 제2사이클 S2에서 DSP(1809)는 해칭부(2905)에서 딜레이 및 필터 루프처리를 파형 메모리 음원처리의 출력에 적용한다. 또한 DSP(1809)는 해칭부(2906)에서 인벨로프 제어처리의 출력에 대해 믹싱처리, 딜레이 및 필터 루프처리 그리고 FM 음원처리를 행한다. 상기 처리후의 출력이 해칭부(2907)에서 잔향 효과 부여처리를 받으며, 제3사이클(해칭부(2908))에서 DSP(1810)는 상기 진폭제어 처리의 출력에 대한 후속 믹싱 처리, 딜레이 및 필터 루프처리, FM 음원처리 및 잔향효과 부여처리를 실행한다. 상기 믹싱결과가 해칭부(2909)의 제4사이클 S4에서 DAC(1805)로 공급된다. 상세하게는 DAC(1805)는 믹싱결과가 기억된 RAM(1803)의 어드레스에 대한 엑세스를 하도록 소정의 구간에서 DMAC(1806)에 요청한다. 따라서, DAC(1805)는 사운드 시스템(도시않음)에 공급되는 최종 악음신호를 수신한다.
제29b도는 제29a도에 도시한 처리 흐름에 대한 변화를 도시하는데; 이러한 변화에 있어서, 제23도의 패치 데이터에 따라, 하드웨어장치(1812)가 파형 메모리 음원처리(WAVE MEMORY TG), 진폭 제어처리(AMPLITUDE CONTROLLER) 및 잔향 효과 부여처리(REVERB)를 실행한다. SDP(1809)는 딜레이 및 필터 루프처리(DELAY & FILTER LOOP) 잔향효과 부여처리 전단의 믹싱처리(MIXER)및 상기 처리 후단의 믹싱처리(MIXER)를 수행한다. DSP(18lO)는 FM 음원처리 .(FM TONE GENERATOR)를 수행한다.
제1사이클 S1에서, 하드웨어장치(1812)는 파형 메모리 음원처리, 디지털 필터링처리, 진폭제어처리를 해칭부(2917)에서 수행한다. 이와 병행해서, DSP(1810)는 해칭부(2912)에서 FM 음원처리를 수행하며 제2사이클 S2에서, SDP(1809)는 해칭부(2913)에서의 파형 메모리 음원처리부터의 출력에 대해 딜레이 및 필터루프 처리를 수행한다. 또한, DSP(1809)는 해칭부 (2914)에서 딜레이 및 필터루프처리 그리고 FM 음원처리의 출력에 대한 전단 믹싱처리를 수행하며, 하드웨어 장치(1812)는 해칭부(2915)에서 상기 전단믹싱 처리의 출력에 대해 잔향효과 부여처리를 실행한다. 제3사이클 S3에서 즉, 해칭부(2916)에서 DSP(l809)는 진폭 제어처리의 출력에 대해 그리고, 딜레이 및 필터루프처리, FM 음원처리 및 잔향효과 부여처리의 출력에 대해 후단 믹싱처리를 수행한다. 그 믹싱된 결과가 제4사이클에서 구간(2917)에서 DAC(1805)로 공급된다.
제3Oa도는 제24도에 도시한 패치 데이터에 따른 악음발생 처리순서를 도시하는데, 상기 순서에 있어서, CPU(1801)는 파형 메모리 음원처리(제24도의 WAVE MEMORY TG)를 수행하며, DSP(1809)는 딜레이 및 필터루프처리 (DELAY & FILTER LOOP) 코러스 처리(CHORUS) 및 잔향효과부여처리(REVERB)를 수행한다. DSP(18l0)는 FM 음원처리(FM TONE GENERATOR) 및 믹싱처리(MIXER)를 수행하며, 제1사이클 Sl에서, CPU(18Ol)는 구간(3OO1)에서 파형메모리 음원처리를 수행하며, 이와 병행해서, DSP(18lO)는 구간(3002)에서 FM 음원처리를 실행하며, 제2사이클 S2에서 DSP(l809)는 구간(3003)에서 파형 메모리 음원 처리의 출력에 대해 딜레이 및 필터 루프 처리를 수행한다. 또한 DSP(1809)는 구간(3004)에서 상기 딜레이 및 필터 루프처리의 출력에 대해 코러스 처리를 수행한다. 그리고, DSP(1809)는 구간(3OO5)에서 상기 코러스는 처리의 출력에 대해 잔향효과 부여처리를 실행하며, 제3사이클 S3에서 DSP(1810)는 상기 코러스 처리 잔향효과 부여처리 및 FM 음원 발생처리의 출력에 대해 구간(3006)에서 믹싱처리를 수행한다. 상기 믹싱결과가 제4사이클 S4에서 구간(3007)에서 DAC(1805)도 공급된다.
제3Ob도는 제3Oa도의 순서를 변형한 것을 도시하는데, 여기서 DSP(l809)는 파형 메모리 음원처리 (제24도의 WAVE MEMORY TG), 잔향효과 부여처리(REVERB) 및 믹싱처리(MIXER)를 수행한다. DSP(18l0)는 딜레이 및 필터루프처리(DELAY & FILTER LOOP) 및 코러스 처리(CHORUS)를 수행하며 하드웨어 장치(1811)는 FM 음원처리(FM TONE GENERATOR)에 사용된다. 제1사이클 Sl에서, DSP(1809)는 구간(3Ol1)에서 파형 메모리 음원처리를 하며, DSP(1810)는 구간(3013)에서 상기 음원 처리의 출력에 대한 딜레이 및 필터루프 처리를 수행하며, 또한 구간(3Ol4)에서 상기 딜레이 및 필터루프처리의 출력에 대해 코러스 처리를 수행한다. 이와 병행해서, 하드웨어 장치(18ll)는 구간(3012)에서 FM 음원처리를 수행하며, 제2사이클 S2에서 DSP(1809)는 구간(3Ol5)에서 잔향효과 부여처리를 그리고 구간(3Ol6)에서 믹싱처리를 수행하고, 그 믹싱결과가 제3사이클 S3에서 믹싱처리를 S3에서 구간(3Ol7)에서 DAC(1805)에 공급된다.
상술한 바와 같이, 제2실시예는 제1실시예와 같은 효과를 달성하며, 또한 제2실시예는 제1실시예에서 고정된 기능블럭도의 프레임워크를 편집할 수 있어서, 음원 알고리즘의 편집의 자유도를 개선할 수 있다.
제31도는 상기 전자악기에 포함되는 본 발명의 악음 장치의 제3실시예를 도시하는데, 상기 실시예는 기본적으로 제1도의 제1실시예의 구성과 같은 구성을 가지며, 동일 부품에 대해서는 동일 참조번호가 도시된다. 하드 디스크 드라이브(HDD, 156)와 같은 기억장치는 제어 파라미터 등의 데이터를 기억하며, 또한 제어프로그램 또는 메인프로그램 기본 마이크로프로그램 및 응용프로그램을 포함하는 각종의 프로그램을 기억한다. 정상적으로, EOM(102)는 상기 데이터 및 프로그램을 가상 기억하지만, 그렇지 않은 경우, 임의의 프로그램이 하드디스크나 그밖의 기억장치에 로드된다. 상기 로드된 프로그램은 RAM(103)에 로드되어 CPU(101)가 본 발명의 악음 장치 시스템을 동작시킨다. 이러한 식으로, 신규의 버젼 업 프로그램이 상기 시스템 상에 용이하게 설치될 수 있다. 이를 위해, CD-ROM(151)등의 기계 판독가능 매체가 상기 프로그램 설치에 이용된다. CD-ROM(151)은 CD-ROM 드라이브(152)에 세트되어 CD-ROM(151)로부터 기억 장치로 버스(110)을 통해 상기 프로그램을 판독 및 다운로드 할 수 있다. 상기 매체는 CD-ROM(151)과는 다른 자기 디스크 또는 광학 디스크로 구성될 수 있다.
LAN, 공중전화망 및 INTERNET 등의 통신망(115)을 통해 외부 서버 컴퓨터(154)에 통신 인터페이스(153)가 접속된다. HDD(156)등의 기억장치가 필요 데이터 또는 프로그램을 기억하지 않은 경우, 상기 통신 인터페이스(153)가 서버 컴퓨터(154)로부터 데이터나 프로그램을 수신하도록 가동된다. CPU(1Ol)는 상기 인터페이스(l53) 및 통신망(155)을 통해 서버 컴퓨터(154)에 요청을 전달한다. 상기 요청에 응답하여, 서버 컴퓨터(154)는 상기 요청 데이터나 프로그램을 상기 장치에 전송한다. 상기 전송된 데이터나 프로그램은 하드디스크에 기억되어 다운로딩을 완성한다.
본 발명의 악음장치는 필요한 데이터나 프로그램이 설치된 PC에 의해 수행될 수 있다. 이 경우, 상기 데이터나 프로그램은 CD-ROM(151) 또는 플로피디스크 등의 기계 판독 가능 매체에 의해 유저에 제공된다. 상기 매체는 상기 실시예와 관련하여 기술된 본 발명의 악음 발생 방법을 수행하도록 PC가 명령하게 하는 명령을 포함한다. 또한 상기 PC는 통신망(155)을 통해 데이터나 프로그램을 수신할 수 있다.
상술한 바와 같이 본 발명에 따르면 유저가 소정 음원 알고리즘을 자유로이 선택할 수 있어서 여러 음색을 제한된 하드웨어소스 및 제한된 단계의 마이크로프로그램으로 합성할 수 있는 음성 편집자를 가지는 프로그램 가능 음원을 제공할 수 있다.

Claims (28)

  1. 임의의 악음의 컴퓨터 합성에 사용할 수 있는 여러 가지 기본 기능 중 하나를 선택 또는 비선택함으로써 소정의 악음의 컴퓨터 합성을 위한 연산 수순을 규정하는 특정 알고리즘을 편집하여서 상기 연산 수순이 여러 기본기능 중 선택된 한 기능으로 구성되도록 하며, 각각의 기본 기능을 선택 또는 비선택하여 특정 알고리즘으로 편집되는 범용 알고리즘을 생성하도록 상기 각각의 기본 기능들을 사전 선택하고 배치하는 수단을 포함하는 편집수단과; 상기 편집된 특정 알고리즘에 대응하는 컴퓨터 프로그램을 어셈블링하는 어셈블러 수단과; 상기 어셈블된 컴퓨터 프로그램을 기억하는 메모리수단 및; 상기 기억된 컴퓨터 프로그램에 따라 상기 연산 수순을 실행하는 악음 발생 수단을 포함하는 것을 특징으로 하는 음원장치.
  2. 제1항에 있어서, 상기 여러 가지 기본 기능을 시각적으로 나타내는 기능도를 디스플레이하여 편집수단이 상기 디스플레이된 기본기능을 처리하도록 수동조작되어 각각의 기본기능을 선택 또는 비선택함으로써 상기 특정 알고리즘을 도식적으로 편집할 수 있게 하는 디스플레이 수단을 추가로 포함하는 것을 특징으로 하는 음원장치.
  3. 제1항에 있어서, 상기 어셈블러 수단은 각각의 선택된 기본 기능을 활성화하는 활성 기본 프로그램을 수집하며, 각각의 선택되지 않은 기본 기능을 비활성화하는 비활성 기본 기본프로그램을 수집해서, 상기 활성 및 비활성 기본 프로그램 중 하나를 완전한 형태의 컴퓨터 프로그램으로 어셈블하는 수단을 포함하는 것을 특징으로 하는 음원장치.
  4. 제3항에 있어서, 각각의 기본 기능에 대한 마이크로 프로그램 형태의 한 쌍의 활성 기본 프로그램 및 비활성 기본 프로그램을 가상 기억하는 제2메모리 수단을 추가로 포함하는 것을 특징으로 하는 음원장치.
  5. 소정의 악음 합성에 선택적으로 사용 가능한 대응 기본 기능을 나타내는 여러 기능 블럭을 포함하는 블럭도를 디스플레이하는 수단과; 각각의 기능 블럭에 대해 활성 기본 프로그램 및 비활성 기본 프로그램을 포함하는 한 쌍의 프로그램을 가상 기억하되, 상기 활성 기본 프로그램은 대응 기본기능을 활성시키도록 설계되며, 상기 비활성 기본 프로그램은 대응 기본기능을 비활성시키도록 설계되는 제2메모리수단과; 상기 대응 기본기능이 소정의 악음 합성에 필요한 경우 각각의 기능블럭이 선택되며, 블필요한 경우 상기 기능 블럭이 비선택되어 소정의 악음 합성을 위한 연산수순을 형성하는 알고리즘을 펀집할 수 있도록 상기 디스플레이된 블럭도를 도식적으로 처리하는 편집수단과; 상기 대응 기본기능을 작동시키도록 각각의 선택 기능블럭에 대한 활성기본 프로그램을 상기 제2메모리 수단으로부터 검색하고, 상기 기본 기능을 작동 정지시키도록 각각의 비선택 기능 블럭에 대한 비활성 기본 프로그램을 검색해서, 상기 활성 및 비활성 기본프로그램 중 검색된 것을 상기 편집 알고리즘에 따라 완전한 프로그램으로 어셈블하는 어셈블러 수단과; 상기 완전한 프로그램을 기억하는 제1메모리수단 및 ; 상기 제1메모리 수단에 접속되어 상기 기억된 완전 프로그램에 따라 편집된 연산수순을 수행하여 소정의 악음을 발생시키는 악음 발생 수단을 포함하는 것을 특징으로 하는 음원장치.
  6. 제5항에 있어서, 상기 제2메모리 수단은 마이크로프로그램 형태의 기본 프로그램을 기억하는 수단을 포함하는 것을 특징으로 하는 음원장치.
  7. 제5항에 있어서, 상기 기본 기능을 사전 선택하며, 그 사전 선택된 기본 기능을 배치해서 편집 수단에 의해 처리된 프레임워크로서 블럭도를 형성하는 서포트수단을 추가로 포함하는 것을 특징으로 하는 음원장치.
  8. 마이크로 프로그램을 DSP에 로드된 완전한 프로그램으로 어셈블해서 상기 DSP를 조작해서 소정의 음색을 가지는 악음을 발생시키도록 작동하는 음색 생성 장치에 있어서, 소정의 음색 생성에 선택적으로 사용할 수 있는 대응 기본 기능을 나타내는 여러 기능 블럭을 포함하는 블럭도를 디스플레이하는 수단과; 상기 각 기능 블럭에 대해 한 쌍의 활성 및 비활성 마이크로프로그램을 기억하되, 상기 활성 기본 마이크로프로그램이 상기 대응 기본 기능을 활성시키도록 설계되며, 상기 비활성 마이크로프로그램이 대응 기본 기능을 비활성시키도록 설계되는 메모리수단; 상기 대응 기본 기능이 소정의 음색에 속하는 경우 각각의 기능 블럭이 선택되며, 소정의 음색에 속하지 않는 경우 각각이 기능 블럭이 비선택되도록 디스플레이된 블럭도를 도식적으로 처리하여, 소정의 음색 생성을 위한 연산 수순을 형성하는 알고리즘을 편집하는 편집수단 및 ; 상기 대응 기본 기능을 작동시키도록 각각의 선택된 기능블럭에 대한 활성 마이크로프로그램을 상기 메모리 수단에서 검색하며, 상기 기능을 작동 정지시키도록 비활성 마이크로프로그램을 상기 메모리수단에서 검색해서, 상기 활성 및 비활성 마이크로프로그램 중 검색된 하나를 편집 알고리즘에 따라 완전한 프로그램으로 어셈블하는 어셈블러 수단을 포함하는 것을 특징으로 하는 음색 생성장치.
  9. 제8항에 있어서, 기본 기능을 사전 선택하고, 그 선택된 기능을 배치해서 편집수단에 의해 처리된 프레임 워크로서 상기 블럭도를 형성하는 것을 특징으로 하는 악음 발생 방법.
  10. 임의의 악음의 컴퓨터 합성에 사용하는 여러 기본 기능 중 각각을 선택 또는 비선택해서 소정의 악음의 컴퓨터 합성을 위한 연산 수순을 형성하는 특정 알고리즘을 편집하며, 상기 기본 기능을 선택 또는 비선택함으로써 상기 특정 알고리즘으로 편집된 범용 알고리즘을 생성하도록 상기 여러 기본 기능을 사전선택 및 배치하는 단계와; 상기 편집된 특정 알고리즘에 대응하는 컴퓨터 프로그램을 어셈블하는 단계; 상기 어셈블된 컴퓨터 프로그램을 기억하는 단계 및; 상기 기억된 컴퓨터 프로그램에 따라 연산수순을 실행하여 소정의 악음을 발생하는 단계를 포함하는 것을 특징으로 하는 악음 발생 방법.
  11. 제10항에 있어서, 상기 여러 가지 기본기능을 시각적으로 나타내는 기능도를 디스플레이해서, 상기 디스플레이 기능도가 각각의 기본기능을 선택 또는 비선택함으로써 상기 특정 프로그램을 도식적으로 편집하도록 처리되는 단계를 추가로 포함하는 것을 특징으로 하는 악음 발생 방법.
  12. 제10항에 있어서, 상기 어셈블 단계는 각각의 선택된 기본 기능을 활성화하는 활성 기본 프로그램을 수집하며, 각각의 선택되지 않은 기본 기능을 비활성화 하는 비활성 기본 프로그램을 수집해서, 상기 활성 및 비활성 기본 프로그램 중 하나를 완전한 형태의 컴퓨터 프로그램으로 어셈블하는 단계를 포함하는 것을 특징으로 하는 악음 발생 방법.
  13. 제12항에 있어서, 각각의 기본 기능에 대해 마이크로 프로그램 형태의 활성 기본 프로그램 및 비활성 기본 프로그램을 포함하는 한 쌍의 프로그램을 가상 기억하는 단계를 추가로 포함하는 것을 특징으로 하는 악음 발생 방법.
  14. 소정의 악음 합성에 선택적으로 사용하는 대응 기본 기능을 나타내는 여러 기능 블럭을 포함하는 블럭도를 디스플레이하는 단계; 제2메모리에서 각각의 기능 블럭에 대해 활성 기본 프로그램 및 비활성 기본 프로그램을 포함하는 한 쌍의 프로그램을 가상 기억하되, 활성 기본 프로그램은 대응 기본 기능을 활성시키도록 설계되며, 비활성 기본 프로그램은 대응 기본 기능을 비활성시키도록 설계되는 단계; 상기 대응 기본 기능이 소정의 악음 합성에 필요한 경우 각 기능 블럭이 선택되며, 불필요한 경우 상기 블럭이 비선택되도록 디스플레이 블럭도를 도식적으로 처리하여서, 소정의 악음 합성에 대한 연산 수순을 형성하는 알고리즘을 편집하는 단계; 대응 기본 기능을 작동시키도록 각각의 선택된 기능 블럭에 대해 활성 기본 프로그램을 제2메모리로부터 검색하고 상기 기능을 작동 정지시키도록 각각의 비선택된 기능블럭에 대해 비활성 기본 프로그램을 검색해서 상기 검색된 프로그램을 편집 알고리즘에 따라 완전한 프로그램으로 어셈블하는 단계; 제1메모리에 상기 완전프로그램을 로딩하는 단계 및; 상기 완전 프로그램에 따라 편집된 연산 수순을 수행해서 소정의 악음을 발생하는 단계를 포함하는 것을 특징으로 하는 악음 발생 방법.
  15. 제14항에 있어서, 상기 기억단계는 마이크로프로그램 형태의 기본 프로그램을 기억하는 단계를 포함하는 것을 특징으로 하는 악음 발생 방법.
  16. 제14항에 있어서, 알고리즘 편집을 위해 준비된 프레임워크로서 상기 블럭도를 형성하도록 상기 기본 기능을 사전 선택하며, 상기 사전 선택 기본 기능을 배치하는 단계를 추가로 포함하는 것을 특징으로 하는 악음 발생 방법.
  17. DSP에 로드된 완전한 프로그램으로 마이크로프로그램을 어셈블해서 상기 DSP를 조작하여 소정의 음색을 가지는 악음을 발생하는 방법에 있어서, 소정 음색 생성에 선택 사용하는 대응 기본 기능을 나타내는 여러 기능 블럭을 포함하는 블럭도를 디스플레이하는 단계와; 메모리 내에 각 기능 블럭에 대한 활성 및 비활성 마이크로프로그램을 포함하는 한 쌍의 프로그램을 기억하되, 상기 활성 마이크로프로그램은 대응 기본 기능을 활성시키도록 설계되며 비활성 마이크로프로그램은 다음 기본 기능을 비활성시키도록 설계되는 기억단계와; 상기 대응 기본 기능이 소정의 음색에 속하는 경우 각 기능블럭이 선택되며, 속하지 않는 경우 상기 블럭이 비선택되도록 디스플레이 블럭도를 도식적으로 처리하여, 소정의 음색 생성을 위한 연산 수순을 형성하는 알고리즘을 편집하는 단계; 및 상기 대응 기본 기능을 작동시키도록 각각의 선택된 기능블럭에 대한 활성 마이크로프로그램을 상기 메모리로부터 검색하고, 상기 기능을 작동 정지시키도록 각각의 비선택된 기능 블럭에 대한 비활성 마이크로프로그램을 상기 메모리로부터 검색해서 상기 검색된 마이크로프로그램을 편집 알고리즘에 따라 완전한 프로그램으로 어셈블하는 단계를 포함하는 것을 악음 발생 방법.
  18. 제17항에 있어서 알고리즘 편집을 위해 준비된 프레임 워크로서 상기 블럭도를 형성하도록 상기 기본 기능을 사전 선택하며, 상기 사전 선택 기본 기능을 배치하는 단계를 추가로 포함하는 것을 특징으로 하는 악음 발생 방법.
  19. 임의의 악음의 컴퓨터 합성에 이용하는 여러 가지 기본 기능 중 각각을 선택 또는 비선택해서 소정의 악음의 컴퓨터 합성을 위한 연산수순을 형성하는 특정 알고리즘을 편집하는 단계와; 상기 편집된 특정 알고리즘에 대응하는 컴퓨터 프로그램을 어셈블하는 단계와; 상기 어셈블된 컴퓨터 프로그램을 기억하는 단계 및; 상기 기억된 컴퓨터 프로그램에 따라 연산 수순을 실행해서 소정의 악음을 발생하는 단계를 포함하는 악음 발생 방법을 기계에 의해서 실행시키도록 하는 명령어를 포함하는 것을 특징으로 하는 기계 판독 가능 매체.
  20. 제19항에 있어서, 상기 방법은, 여러 기본 기능을 시각적으로 나타내는 기능도를 디스플레이하여 상기 디스플레이된 기능도가 각각의 기본 기능을 선택 또는 비선택함으로써, 특정 알고리즘을 도식적으로 편집하도록 처리되는 단계를 포함하는 것을 특정으로 하는 기계 판독 가능 매체.
  21. 제19항에 있어서, 상기 편집단계는 상기 기본 기능을 선택 또는 비선택함으로써 상기 특정 알고리즘으로 편집된 범용 알고리즘을 생성하도록 상기 여러 기본 기능을 사전 선택 및 배치하는 단계를 포함하는 것을 특징으로 하는 기계 판독 가능 매체.
  22. 제19항에 있어서, 상기 어셈블 단계는 각각의 선택기본 기능을 활성시키는 활성 기본 프로그램을 수집하며, 각각의 비선택 기본 기능을 비활성시키는 비활성 기본 기본프로그램을 수집하여서, 상기 활성 및 비활성 기본 프로그램 중 선택된 하나를 완전한 형태의 컴퓨터 프로그램으로 어셈블하는 단계를 포함하는 것을 특징으로 하는 기계 판독 가능 매체.
  23. 제22항에 있어서, 각각의 기본 기능에 대해 마이크로 프로그램 형태의 활성 기본 프로그램 및 비활성 기본 프로그램을 포함하는 한 쌍의 프로그램을 가상 기억하는 단계를 추가로 포함하는 것을 특징으로 하는 기계 판독 가능 매체.
  24. 기계에 의해 악음 생성 방법을 실행하는 명령어를 포함하는 기계 판독 가능 매체에 있어서, 소정의 악음 합성에 선택적으로 사용하는 대응 기본 기능을 나타내는 여러 기능 블럭을 포함하는 블럭도를 디스플레이하는 단계와; 제2메모리에서 각각의 기능 블럭에 대해 한 쌍의 활성 기본 프로그램 및 비활성 기본 프로그램을 가상 기억하되 활성 기본 프로그램은 대응 기본 기능을 활성시키도록 설계되며 비활성 기본 프로그램은 대응 기본 기능을 비활성시키도록 설계되는 단계와; 상기 대응 기본 기능이 소정의 악음 합성에 필요한 경우 각 기능 블럭이 선택되며, 불필요한 경우 상기 블럭이 비선택되도록 디스플레이 블럭도를 도식적으로 처리해서, 소정의 악음 합성에 대한 연산 수순을 형성하는 알고리즘을 편집하는 단계와; 대응 기본 기능을 작동시키도록 각각의 선택된 기능 블럭에 대해 활성 기본 프로그램을 제2메모리로부터 검색하고 상기 기능을 작동정지시키도록 각각의 비선택된 기능 블럭에 대해 비활성 기본 프로그램을 검색해서, 상기 검색된 활성 프로그램 및 비활성 프로그램 중 하나를 편집 알고리즘에 따라 완전한 프로그램으로 어셈블하는 단계와; 제1메모리에 상기 완전한 프로그램을 로딩하는 단계 및; 상기 완전한 프로그램에 따라 편집된 연산 수순을 수행해서 소정의 악음을 발생하는 단계를 포함하는 악음 생성 방법을 기계에 의해 실행시키도록 하는 명령어를 포함하는 것을 특징으로 하는 기계 판독 가능 매체.
  25. 제24항에 있어서, 상기 기억단계는 마이크로프로그램 형태의 기본 프로그램을 기억하는 단계를 포함하는 것을 특징으로 하는 기계 판독 가능 매체.
  26. 제24항에 있어서, 상기의 방법은, 알고리즘 편집을 위해 준비된 프레임워크로서 상기 블럭도를 형성하도록 상기 기본 기능을 사전 선택하며, 상기 사전 선택 기본 기능을 배치하는 단계를 추가로 포함하는 것을 특징으로 하는 기계 판독 가능 매체.
  27. 기계로 하여금 DSP에 로드되는 완전한 프로그램으로 마이크로 프로그램을 어셈블하는 방법을 실행하도록 하여, 상기 DSP를 조작해서 소정의 음색을 가지는 악음을 발생하도록 하는 명령어를 포함하는 기계 판독 가능 매체에 있어서, 소정 음색 생성에 선택 사용하는 대응 기본 기능을 나타내는 여러 기능 블럭을 포함하는 블럭도를 디스플레이하는 단계와; 메모리 내의 각 기능 블럭에 대한 활성 및 비활성 마이크로프로그램을 포함하는 한 쌍의 프로그램을 기억하되, 상기 활성 마이크로프로그램은 대응 기본기능을 활성시키도록 설계되며, 비활성 마이크로프로그램은 다음 기본 기능을 비활성시키도록 설계되는 기억단계와; 상기 대응 기본 기능이 소정의 음색에 속하는 경우 각 기능블럭이 선택되며, 속하지 않는 경우 상기 블럭이 비선택되도록 디스플레이 블럭도를 도식적으로 처리하여, 소정의 음색 생성을 위한 연산 수순을 형성하는 알고리즘을 편집하는 단계; 및 상기 대응 기본 기능을 작동시키도록 각각의 선택 기능블럭에 대한 활성 마이크로 프로그램을 상기 메모리로부터 검색하고, 상기 기능을 작동중지시키도록 각각의 비선택 기능 블럭에 대한 비활성 마이크로 프로그램을 상기 메모리로부터 검색해서, 상기 검색된 활성 및 비활성 마이크로 프로그램 중 검색된 것들을 편집 알고리즘에 따라 완전한 프로그램으로 어셈블하는 단계를 포함하는, DSP에 로드된 완전한 프로그램으로 마이크로프로그램을 어셈블해서 상기 DSP를 조작하여 소정의 음색을 가지는 악음을 발생하도록 하는 방법을 실행하는 명령어를 포함하는 것을 특징으로 하는 기계 판독 가능 매체.
  28. 제27항에 있어서, 상기의 방법은, 알고리즘 편집을 위해 준비된 프레임워크로서 상기 블럭도를 형성하도록 상기 기본 기능을 사전 선택하며, 상기 사전 선택 기본 기능을 배치하는 단계를 추가로 포함하는 것을 특징으로 하는 기계 판독 가능 매체.
KR1019960019440A 1995-06-02 1996-05-31 가변 알고리즘 음원 및 음색편집장치 KR100288328B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP95-159945 1995-06-02
JP15994595 1995-06-02
JP8055600A JP2962465B2 (ja) 1995-06-02 1996-02-19 可変アルゴリズム音源および音色編集装置
JP96-55600 1996-02-19

Publications (2)

Publication Number Publication Date
KR970002842A KR970002842A (ko) 1997-01-28
KR100288328B1 true KR100288328B1 (ko) 2001-05-02

Family

ID=26396488

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960019440A KR100288328B1 (ko) 1995-06-02 1996-05-31 가변 알고리즘 음원 및 음색편집장치

Country Status (7)

Country Link
US (1) US5698806A (ko)
EP (1) EP0745970B1 (ko)
JP (1) JP2962465B2 (ko)
KR (1) KR100288328B1 (ko)
DE (1) DE69613904T2 (ko)
HK (1) HK1010764A1 (ko)
SG (1) SG45480A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69733038T2 (de) * 1996-08-05 2006-02-16 Yamaha Corp., Hamamatsu Software-Tonerzeuger
SG67993A1 (en) * 1996-08-30 1999-10-19 Yamaha Corp Sound source system based on computer software and method of generating acoustic waveform data
JP3196681B2 (ja) * 1997-03-13 2001-08-06 ヤマハ株式会社 通信データ一時記憶装置
JP3844588B2 (ja) * 1998-03-05 2006-11-15 富士通株式会社 情報管理システム、ローカルコンピュータ、及び情報取得プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3867578B2 (ja) * 2002-01-11 2007-01-10 ヤマハ株式会社 電子音楽装置及び電子音楽装置用プログラム
ATE261591T1 (de) * 2002-05-22 2004-03-15 Siemens Ag System und verfahren zur anpassung anwendungsspezifischer funktionsbausteine für ein automatisierungsgerät
JP2010237237A (ja) * 2009-03-30 2010-10-21 Yamaha Corp 楽音信号作成装置
JP5532653B2 (ja) * 2009-03-30 2014-06-25 ヤマハ株式会社 楽音信号作成装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5567799A (en) * 1978-11-16 1980-05-22 Nippon Musical Instruments Mfg Electronic musical instrument
JPS58211789A (ja) * 1982-06-04 1983-12-09 ヤマハ株式会社 楽音合成装置
US5153829A (en) * 1987-11-11 1992-10-06 Canon Kabushiki Kaisha Multifunction musical information processing apparatus
US4960031A (en) * 1988-09-19 1990-10-02 Wenger Corporation Method and apparatus for representing musical information
US5354948A (en) * 1989-10-04 1994-10-11 Yamaha Corporation Tone signal generation device for generating complex tones by combining different tone sources
JP2518464B2 (ja) * 1990-11-20 1996-07-24 ヤマハ株式会社 楽音合成装置
JP2526438B2 (ja) * 1991-07-09 1996-08-21 ヤマハ株式会社 電子楽器
JP2705395B2 (ja) * 1991-10-07 1998-01-28 ヤマハ株式会社 電子楽器
US5376752A (en) * 1993-02-10 1994-12-27 Korg, Inc. Open architecture music synthesizer with dynamic voice allocation
JP3144140B2 (ja) * 1993-04-06 2001-03-12 ヤマハ株式会社 電子楽器

Also Published As

Publication number Publication date
JP2962465B2 (ja) 1999-10-12
JPH0950281A (ja) 1997-02-18
SG45480A1 (en) 1998-01-16
DE69613904D1 (de) 2001-08-23
HK1010764A1 (en) 1999-06-25
EP0745970B1 (en) 2001-07-18
DE69613904T2 (de) 2002-04-04
EP0745970A2 (en) 1996-12-04
KR970002842A (ko) 1997-01-28
US5698806A (en) 1997-12-16
EP0745970A3 (en) 1997-07-16

Similar Documents

Publication Publication Date Title
USRE41757E1 (en) Sound source system based on computer software and method of generating acoustic waveform data
KR100288328B1 (ko) 가변 알고리즘 음원 및 음색편집장치
US7375274B2 (en) Automatic accompaniment apparatus, method of controlling the apparatus, and program for implementing the method
Pope Machine tongues XV: Three packages for software sound synthesis
Krasner Machine tongues VIII: The design of a smalltalk music system
JP3134806B2 (ja) 効果付与装置および記録媒体
JP3204147B2 (ja) 楽音発生装置
USRE37422E1 (en) Electronic musical instrument
JP3705139B2 (ja) 楽音演奏装置
JP3109373B2 (ja) ミキサー回路
JP2002258861A (ja) 電子機器、その設定方法および記憶媒体
Zannos SC-Hacks: A Live Coding Framework for Gestural Performance and Electronic Music
JP3715422B2 (ja) 音源装置およびこれを用いた電子楽器
JP3147622B2 (ja) 電子楽器用データ編集装置
JP3158395B2 (ja) テスト実行フロー作成装置
JP2713101B2 (ja) 楽音信号発生装置における周波数特性表示装置
JP3815583B2 (ja) 電子楽器
JPH05289662A (ja) エフェクト自動選択装置
JP2787694B2 (ja) パンニング制御装置
Krasner Machine Tongues VIII: The Design of a Smalltalk Music System
JP2746044B2 (ja) 電子機器の選択制御装置
JPH06259066A (ja) 電子機器のパラメータ指示装置
JP2660628B2 (ja) シーケンサの表示装置
Lazzarini et al. Steven Yi: Transit
JP2004213148A (ja) プラント監視制御システム

Legal Events

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

Payment date: 20101228

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee