KR100338059B1 - 디지탈신호처리장치와음성및악음합성장치 - Google Patents
디지탈신호처리장치와음성및악음합성장치 Download PDFInfo
- Publication number
- KR100338059B1 KR100338059B1 KR1019960000595A KR19960000595A KR100338059B1 KR 100338059 B1 KR100338059 B1 KR 100338059B1 KR 1019960000595 A KR1019960000595 A KR 1019960000595A KR 19960000595 A KR19960000595 A KR 19960000595A KR 100338059 B1 KR100338059 B1 KR 100338059B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- sound
- arithmetic processing
- processing means
- input
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 573
- 230000015572 biosynthetic process Effects 0.000 title claims abstract description 169
- 238000003786 synthesis reaction Methods 0.000 title claims abstract description 160
- 238000004364 calculation method Methods 0.000 claims abstract description 129
- 230000005236 sound signal Effects 0.000 claims abstract description 100
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims description 120
- 230000008569 process Effects 0.000 claims description 104
- 230000015654 memory Effects 0.000 claims description 60
- 230000009977 dual effect Effects 0.000 claims description 58
- 238000004422 calculation algorithm Methods 0.000 claims description 32
- 230000001360 synchronised effect Effects 0.000 claims description 30
- 230000000694 effects Effects 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 234
- 239000011295 pitch Substances 0.000 description 194
- 101150115013 DSP1 gene Proteins 0.000 description 141
- 230000000875 corresponding effect Effects 0.000 description 126
- SDJLVPMBBFRBLL-UHFFFAOYSA-N dsp-4 Chemical compound ClCCN(CC)CC1=CC=CC=C1Br SDJLVPMBBFRBLL-UHFFFAOYSA-N 0.000 description 124
- 101150062184 DSP4 gene Proteins 0.000 description 121
- 238000003860 storage Methods 0.000 description 103
- 238000006243 chemical reaction Methods 0.000 description 69
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 67
- 102100023882 Endoribonuclease ZC3H12A Human genes 0.000 description 60
- 101710112715 Endoribonuclease ZC3H12A Proteins 0.000 description 60
- QGVYYLZOAMMKAH-UHFFFAOYSA-N pegnivacogin Chemical compound COCCOC(=O)NCCCCC(NC(=O)OCCOC)C(=O)NCCCCCCOP(=O)(O)O QGVYYLZOAMMKAH-UHFFFAOYSA-N 0.000 description 60
- 238000010586 diagram Methods 0.000 description 59
- 101001096074 Homo sapiens Regenerating islet-derived protein 4 Proteins 0.000 description 56
- 102100037889 Regenerating islet-derived protein 4 Human genes 0.000 description 56
- 238000001308 synthesis method Methods 0.000 description 55
- 230000003111 delayed effect Effects 0.000 description 50
- 230000008859 change Effects 0.000 description 49
- 238000011161 development Methods 0.000 description 42
- 101100388212 Arabidopsis thaliana DSP3 gene Proteins 0.000 description 41
- 101100351961 Caenorhabditis elegans pgp-1 gene Proteins 0.000 description 41
- 230000000737 periodic effect Effects 0.000 description 41
- 101150052726 DSP2 gene Proteins 0.000 description 38
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 32
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 32
- 230000002596 correlated effect Effects 0.000 description 30
- 230000036961 partial effect Effects 0.000 description 28
- 230000033764 rhythmic process Effects 0.000 description 22
- 230000014509 gene expression Effects 0.000 description 21
- 108091058543 REG3 Proteins 0.000 description 20
- 102100027336 Regenerating islet-derived protein 3-alpha Human genes 0.000 description 20
- 239000003795 chemical substances by application Substances 0.000 description 18
- 102100024208 Homeobox protein MIXL1 Human genes 0.000 description 15
- 101001052462 Homo sapiens Homeobox protein MIXL1 Proteins 0.000 description 15
- 230000001276 controlling effect Effects 0.000 description 12
- 238000009825 accumulation Methods 0.000 description 11
- 230000000750 progressive effect Effects 0.000 description 11
- 101100191136 Arabidopsis thaliana PCMP-A2 gene Proteins 0.000 description 10
- 101100048260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) UBX2 gene Proteins 0.000 description 10
- 235000019800 disodium phosphate Nutrition 0.000 description 9
- 230000001934 delay Effects 0.000 description 8
- 238000004091 panning Methods 0.000 description 8
- 238000001228 spectrum Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 7
- DIWRORZWFLOCLC-UHFFFAOYSA-N Lorazepam Chemical compound C12=CC(Cl)=CC=C2NC(=O)C(O)N=C1C1=CC=CC=C1Cl DIWRORZWFLOCLC-UHFFFAOYSA-N 0.000 description 5
- 239000002131 composite material Substances 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 4
- 230000003595 spectral effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 210000000214 mouth Anatomy 0.000 description 3
- 102100022299 All trans-polyprenyl-diphosphate synthase PDSS1 Human genes 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 2
- 101150115672 DPS1 gene Proteins 0.000 description 2
- 240000006829 Ficus sundaica Species 0.000 description 2
- 101000946124 Homo sapiens Lipocalin-1 Proteins 0.000 description 2
- 102100034724 Lipocalin-1 Human genes 0.000 description 2
- 101150063720 PDSS1 gene Proteins 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 101100411667 Arabidopsis thaliana RAN4 gene Proteins 0.000 description 1
- 101150050673 CHK1 gene Proteins 0.000 description 1
- 102100031437 Cell cycle checkpoint protein RAD1 Human genes 0.000 description 1
- 241001342895 Chorus Species 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101100286980 Daucus carota INV2 gene Proteins 0.000 description 1
- 101100508840 Daucus carota INV3 gene Proteins 0.000 description 1
- 101100410359 Drosophila melanogaster Patronin gene Proteins 0.000 description 1
- 206010013952 Dysphonia Diseases 0.000 description 1
- 102100021811 E3 ubiquitin-protein ligase RNF5 Human genes 0.000 description 1
- 101150081880 FGF1 gene Proteins 0.000 description 1
- 101001130384 Homo sapiens Cell cycle checkpoint protein RAD1 Proteins 0.000 description 1
- 101001107084 Homo sapiens E3 ubiquitin-protein ligase RNF5 Proteins 0.000 description 1
- 206010024796 Logorrhoea Diseases 0.000 description 1
- -1 RAM3 Proteins 0.000 description 1
- 241001274197 Scatophagus argus Species 0.000 description 1
- 101100397045 Xenopus laevis invs-b gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 208000027498 hoarse voice Diseases 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 210000004072 lung Anatomy 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 231100000989 no adverse effect Toxicity 0.000 description 1
- 238000009527 percussion Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 238000007711 solidification Methods 0.000 description 1
- 230000008023 solidification Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 210000003437 trachea Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/04—Details of speech synthesis systems, e.g. synthesiser structure or memory management
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments 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/006—Instruments 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 using two or more algorithms of different types to generate tones, e.g. according to tone color or to processor workload
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
- G10H1/02—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
- G10H1/06—Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour
- G10H1/12—Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by filtering complex waveforms
- G10H1/125—Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by filtering complex waveforms using a digital filter
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Instruments in which the tones are generated by means of electronic generators
- G10H5/007—Real-time simulation of G10B, G10C, G10D-type instruments using recursive or non-linear techniques, e.g. waveguide networks, recursive algorithms
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments 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/004—Instruments 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/091—Graphical 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/101—Graphical 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/106—Graphical 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/131—Mathematical functions for musical analysis, processing, synthesis or composition
- G10H2250/161—Logarithmic functions, scaling or conversion, e.g. to reflect human auditory perception of loudness or frequency
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/131—Mathematical functions for musical analysis, processing, synthesis or composition
- G10H2250/261—Window, i.e. apodization function or tapering function amounting to the selection and appropriate weighting of a group of samples in a digital signal within some chosen time interval, outside of which it is zero valued
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/471—General musical sound synthesis principles, i.e. sound category-independent synthesis methods
- G10H2250/475—FM synthesis, i.e. altering the timbre of simple waveforms by frequency modulating them with frequencies also in the audio range, resulting in different-sounding tones exhibiting more complex waveforms
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/471—General musical sound synthesis principles, i.e. sound category-independent synthesis methods
- G10H2250/481—Formant synthesis, i.e. simulating the human speech production mechanism by exciting formant resonators, e.g. mimicking vocal tract filtering as in LPC synthesis vocoders, wherein musical instruments may be used as excitation signal to the time-varying filter estimated from a singer's speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/471—General musical sound synthesis principles, i.e. sound category-independent synthesis methods
- G10H2250/511—Physical modelling or real-time simulation of the acoustomechanical behaviour of acoustic musical instruments using, e.g. waveguides or looped delay lines
- G10H2250/535—Waveguide or transmission line-based models
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/541—Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
- G10H2250/621—Waveform interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Nonlinear Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
본 발명은 복잡한 연산처리를 효율적이며 고속으로 처리할 수 있고 또 경제성도 겸비한 디지탈신호 처리장치를 제공하는 것으로, 본 발명은 다수의 디지탈신호 처리장치를 병렬적으로 구비하며, 목적으로 하는 사운드 신호합성 혹은 처리의 일련의 연산처리를 다수의 연산처리부분으로 분할하여 각 디지탈신호 처리장치에서 처리를 분담시킨다. 각 디지탈신호 처리장치에 공통으로 제1 및 제2의 버스를 접속하고, 연산처리에 필요한 파라미터를 제1버스를 통해 각 디지탈신호 처리장치에 분배입력하고, 각 디지탈신호 처리장치의 연산처리결과를 제2버스를 통해 다른 디지탈신호 처리장치 또는 출력포트에 전달한다. 어떤 디지탈신호 처리장치에서는 다른 디지탈신호 처리장치로부터의 출력데이터를 상기 제2버스를 통해 받아들이고, 받아들인 데이터를 이용해서 소정의 연산처리를 하도록 하고, 다수의 디지탈신호 처리장치의 조합에 의해 목적하는 사운드신호처리가 수행된다. 다수채널에서 시분할적으로 사운드신호처리를 할 경우, 각 디지탈신호 처리장치의 시분할 채널 타이밍을 독립적으로 설정한다. 또한, 채널마다에 동기발음 지정데이터를 설정함으로써 임의의 다수 채널에서 동기발음을 제어한다. 동기발음 설정기능은 디지탈신호 처리장치를 사용하지 않는 타입의 사운드 합성장치에 있어서도 실시 가능하다.
Description
본 발명은 악음 또는 그 밖의 가청 음향음에 대응하는 디지탈 사운드 파형신호의 합성 및/또는 상기 디지탈 사운드 파형신호에 대한 각종 악음효과 혹은 음향효과의 부여 등을 위해 사용되는 디지탈신호 처리장치에 관한 것이다.
또한, 본 발명은 음성 및 악음합성장치 즉 사운드 합성장치에 관한 것으로서, 특히 포먼트음(formant sound)을 합성하여 포먼트를 가진 음성 및 악음을 발음(sound generation)하는 음성 및 악음합성장치(voice and tone synthesis)에 관한 것이다.
최근, 디지탈신호 처리기술의 진보와 집적회로기술의 진보에 따라 디지탈 악음파형신호의 합성이나 악음파형신호에 대한 악음효과 또는 음향효과의 부여 등을 위한 소정의 신호연산처리를 마이크로 프로그램방식에 의해 실행하는 전용 LSI(대규모 집적회로)가 출현하기에 이르고 있으며, 전자악기, 음원장치나 그밖의 악음 또는 사운드신호 처리장치에도 이와 같은 장치가 탑재되어 이용되고 있다. 이런 종류의 신호처리장치는 일반적으로 디지탈· 시그널· 프로세서(약칭 DSP:디지탈신호 처리장치)라 불리고 있다.
예를 들면, 전자악기에 이 DSP를 채용하여 디지탈 악음파형신호를 합성하는 경우, 종래의 전자악기에서는 특정한 파형합성방식(예를 들면 포먼트음 합성방식이나 FM(주파수변조) 합성방식)에 있어서 일련의 연산처리의 전부를 행하기 위한 회로구성을 갖는 단일 DSP를 구성하고, 당해 일련의 연산처리를 기술한 마이크로 프로그램을 그 DSP에 격납하여 실행시키도록 하였다.
이와 같은 종래의 DSP에서는 악음파형합성이나 처리를 위한 일련의 연산처리를 전부 그 단일 DSP에서 실행하도록 구성하지 않으면 안된다. 그 때문에, 오늘날의 전자악기에 있어서 연산내용의 고도화, 다기능화, 음원 다채널화 등의 경향에따라, 연산 사이클수가 증가함에 따라, 더 나은 고속처리가 요구되고 있다. 그러나, 고속처리화에는 한도가 있으므로, 그와 같은 요구를 만족시키기는 것은 곤란하였다. 또한, 다수 종류의 악음합성방식을 혼재시켜서 악음합성 시스템을 구성하는 경우(예를 들면 FM합성음과 노이즈 포먼트음을 동시에 발생하는 경우, 혹은 통상의 포먼트 합성음과 노이즈 포먼트음을 동시에 발생하는 경우), 개별적인 악음합성방식 마다 독립된 상기 일련의 연산처리를 실행하도록 각각 구성해야 하기 때문에 시스템구성이 필연적으로 대형화되어 버려 효율적인 시스템을 구성하는 것이 곤란하였다. 또한, 하나의 악음합성방식밖에 갖지 않은 시스템에서도 그 일부의 연산처리 내용을 변경하는 경우에는 DSP 구성전체를 그와 같은 변경에 맞추어 설계변경하지 않으면 안되므로, 그 점에서도 효율이 나빴다. 따라서, 종래의 DSP시스템은 악음파형합성 혹은 처리를 위한 연산처리내용을 변경하고 싶다는 요구에 대해 효율적으로 대응할 수 없으며, 또 악음합성방식 자체를 절환 가능하게 하거나, 다수 종류의 악음합성방식을 혼재시키거나 하는 다기능형 악음합성용 DSP시스템을 효율적으로 구성하는 것도 곤란하였다.
그러나, 음성은 자음부(무성음)와 모음부(유성음)에 의해 구성된다. 음성의 모음부는 허파로부터의 기류에 의해 성대에 진동이 여기되고, 그 결과 얻어지는 공기진동파가 기관 및 구강을 통과하여 체외로 방사된다. 여기서, 공기진동이 구강내를 통과할 때 구강내의 형상, 즉 혀, 입술, 턱 등의 구조에 따른 다양한 공명특성이 부여되므로, 다양한 음색이 발음된다.
유성음은 특징적인 다수의 포먼트를 갖는다. 이들 특징적인 다수의 포먼트를인공적으로 합성함으로써 소망하는 유성음을 어느 정도 충실하게 재현할 수 있다. 유성음의 합성장치로는 일정 주파수의 주기파형(예를 들면 정현파)을 발생함과 동시에 소정 음고(pitch)의 윈도우 함수를 발생하고, 주기파형과 윈도우 함수를 승산하여 포먼트음을 생성하는 음성합성장치가 공지되어 있다.
무성음의 합성장치로는 화이트 노이즈를 로퍼스 필터에 의해 대역제한하여 노이즈음을 발생하고, 노이즈음과 일정 주파수의 주기파형을 승산하고, 노이즈 포먼트를 발생하는 것이 본원 출원인에 의해 이미 출원되어 있다(일본국 특원 평1-91762호).
유성포먼트 및 노이즈 포먼트를 합성함으로써 소망하는 음성을 발생할 수 있다.
하나의 음을 발생시키려면, 하나의 포먼트를 발생하는 발음채널(sound generation channel)을 다수 준비하고, 각 발음채널로부터 발생하는 포먼트를 합성하면 된다. 이 때, 각 발음채널로부터 발생하는 포먼트의 중심주파수(center frequency)는 발생하고자 하는 음성에 특징적인 깃으로 하고, 윈도우 함수의 음고(pitch)를 정리하여, 전체 발음채널로부터 동시에 발음을 개시하는 것이 필요해진다.
본 발명의 목적은 연산의 고속성, 장치의 범용성, 설계· 제작의 용이성, 경제성을 겸비한 효율적인 디지탈신호 처리장치를 제공하고자 하는 것이다. 또, 그와 같은 디지탈신호 처리장치를 베이스로 이용한 효율적인 사운드 신호합성장치를 제공하고자 하는 것이다. 또한, 간단한 구성과 용이한 제어로 다양한 사운드합성을가능하게 하는 효율적인 사운드 신호합성장치를 제공하고자 하는 것이다.
본 발명의 또 다른 목적은 다수의 악음발생채널에서 동기하며, 사운드신호를 발생함으로써 이들 발생된 사운드신호를 합성하여 하나의 사운드를 형성하도록 한 동기발음 지정기능을 구비한 사운드 신호합성장치를 제공하는 것이다.
또, 본 발명의 목적은 다수의 발음채널로부터 동일한 포먼트 음고(formant pitch)를 가진 포먼트를 발생하고, 이것을 합성하여 1음을 발생하는 음성 및 악음합성장치 즉 사운드 합성장치를 제공하는 것이다. 여기서, 포먼트 음고란, 예를 들면 주기파형을 이용한 윈도우 함수의 음고에 의해 확립된다.
본 발명의 제1관점에 따른 디지탈신호 처리장치는, 목적으로 하는 사운드 신호처리를 위해 필요한 다수의 파라미터를 공급하는 파라미터 공급수단과, 각 하나가 연산처리에 필요한 파라미터를 입력하고, 상기 입력된 파라미터와 설정된 프로그램에 따라 디지탈입력데이터에 대해 소정의 연산처리를 행하고, 처리를 행한 데이터를 출력하는 것인, 상기 다수의 독립된 디지탈신호 처리수단과, 상기 각 디지탈신호 처리수단에 공통으로 접속된 제1버스를 포함하고, 상기 파라미터 공급수단으로부터 공급된 상기 다수의 파라미터 각각을 상기 제1버스를 통해 소정의 디지탈신호 처리수단에 대해 분배하여 입력하는 파라미터 입력수단과, 상기 각 디지탈신호 처리수단에 공통으로 접속된 제2버스를 포함하고, 상기 제2버스를 통해 상기 각 디지탈신호 처리수단의 출력데이터를 전달하는 데이터 전달수단을 구비하고, 적어도 하나의 소정의 상기 디지탈신호 처리수단에서는 다른 상기 디지탈신호 처리수단으로부터의 출력데이터를 상기 제2버스를 통해 받아들이고, 받아들인 데이터를 입력데이터로 이용하여 상기 소정의 연산처리를 행하고, 이에 따라 상기 다수의 각 디지탈신호 처리수단에 의한 연산처리의 조합에 의해 상기 목적으로 하는 사운드신호처리가 수행되며, 그 결과로서 처리된 사운드신호가 상기 다수의 디지탈신호 처리수단중 소정의 디지탈신호 처리수단의 출력데이터로서 상기 제2버스에 인가하는 것을 특징으로 하는 것이다.
본 발명의 제2관점에 따른 사운드 신호합성장치는, 다수의 채널에서 사운드신호를 합성하는 사운드 신호합성장치에 있어서, 사운드 신호합성을 위한 일련의 신호처리를 다수의 신호처리부분으로 분할한 것 중 각 하나의 신호처리부분에 대응하는 연산처리를 각각 실행하기 위한 다수의 연산처리수단으로서, 상기 각 연산처리수단은 병렬적으로 접속되어 있으며, 대응하는 상기 각 연산처리를 동시병행적으로 행하고, 또 상기 연산처리수단의 각 하나가 개별 연산처리수단에 독자적인 시분할처리 타이밍으로 각 채널마다의 연산처리를 시분할적으로 실행하여, 이 연산처리결과를 출력하는 것이고, 또 상기 연산처리수단중 적어도 하나가 다른 상기 연산처리수단의 연산처리결과를 이용하여 상기 연산처리를 하는 것인, 상기 다수의 연산처리수단과, 상기 각 연산처리수단이 공통으로 접속된 버스를 포함하고, 각 연산처리수단의 연산처리결과를 상기 버스를 통해 다른 연산처리수단 또는 사운드 신호출력 포트에 부여하는 데이터 전달수단과, 상기 각 연산처리수단에 대해 각 채널마다의 사운드신호합성에 필요한 파라미터를 공급하는 파라미터 공급수단을 구비한 것이다.
본 발명의 제3관점에 따른 디지탈신호 처리장치는, 목적으로 하는 사운드 신호처리를 위해 필요한 다수의 파라미터를 공급하는 파라미터 공급수단과, 다수의 독립된 디지탈신호 처리수단으로에 있어서, 이들 디지탈신호 처리수단중 각 하나가 연산처리에 필요한 파라미터를 입력하고, 상기 입력된 파라미터와 설정된 프로그램에 따라 디지탈 입력데이터에 대해 소정의 연산처리를 행하는 연산 처리부와, 상기 연산처리부로부터 출력된 처리결과 데이터를 기억하기 위한 기입포트(write port)와 판독포트(read out port)를 각각 가진 듀얼 포트 메모리(dual port memory)를 포함하는 것인, 상기 다수의 디지탈신호 처리수단과, 상기 각 디지탈신호 처리수단에 공통으로 접속된 제1버스를 포함하고, 상기 파라미터 공급수단으로부터 공급된 상기 다수의 파라미터 각각을 상기 제1버스를 통해 소정의 디지탈신호 처리수단에 대해 분배하여 입력하는 파라미터 입력수단과, 상기 각 디지탈신호 처리수단에 공통으로 접속된 제2버스를 포함하고, 상기 제2버스를 통해 상기 각 디지탈신호 처리수단의 상기 듀얼포트 메모리의 판독포트로부터 판독한 출력데이터를 전달하는 데이터 전달수단을 구비하며, 적어도 하나의 소정의 상기 디지탈신호 처리수단에서는 그밖의 상기 디지탈신호 처리수단으로부터의 출력데이터를 상기 제2버스를 통해 받아들이고, 받아들인 데이터를 입력데이터로 이용하여 상기 소정의 연산처리를 행하도록 되어 있으며, 상기 듀얼포트 메모리를 통해 상기 처리결과 데이터를 다른 디지탈신호 처리수단의 이용에 제공함으로써, 각 디지탈신호 처리수단이 독립된 타이밍에서 동작되도록 한 것을 특징으로 하는 것이다.
본 발명의 제4관점에 따른 사운드 신호합성장치는 다수의 채널에서 각각 독립적으로 인가된 파라미터에 의거해서 개별적으로 사운드신호를 발생하는 사운드신호발생수단과, 상기 각 채널에 대응하여 적어도 발음지정정보와 다른 채널과의 동기발음을 할 것인지의 여부를 지정하는 동기발음 지정데이터를 포함하는 상기 파라미터를 각각 공급하는 파라미터 공급수단과, 상기 각 채널에 대응하여 공급되는 상기 동기발음 지정데이터에 의거해서 동기발음지정이 되어 있는 채널에서는 소정의 다른 채널의 사운드발생에 동기하여 사운드를 발생시키도록 상기 사운드 신호발생수단을 제어하는 제어수단을 구비한 것이다.
또한, 본 발명에 있어서 사운드신호 혹은 사운드 파형신호란, 악음신호 혹은 악음파형신호와 같은 음악적인 음신호는 물론이고, 목소리나 의성음 등의 효과음 등, 가청적인 음향사운드신호 혹은 사운드 파형신호 전반을 포함하는 광의의 의미를 지닌 것이다. 따라서, 본 발명은 모든 사운드신호의 합성 및 또는 처리에 적용이 가능하다.
상기 제1관점에 따른 본 발명의 디지탈신호 처리장치에 의하면, 연산처리에 필요한 파라미터를 입력하고, 상기 입력된 파라미터와 설정된 프로그램에 따라 디지탈 입력데이터에 대해 소정의 연산처리를 행하고, 처리를 행한 데이터를 출력하도록 구성된 디지탈신호 처리수단이 다수개 병설되어 있다. 각 디지탈신호 처리수단은 제1버스와 제2버스에 의해 각각 공통으로 접속되어 있으며, 각각의 연산처리에 필요한 파라미터는 제1버스를 통해 분배되고, 각각의 연산처리 결과인 출력데이터는 제2버스에 전달되며, 상기 제2버스를 통해 서로 이용하는 것이 가능하다. 즉, 적어도 하나의 소정의 상기 디지탈신호 처리수단에서는 다른 상기 디지탈신호 처리수단으로부터의 출력데이터를 상기 제2버스를 통해 받아들이고, 받아들인 데이터를입력데이터로 이용하여 상기 소정의 연산처리를 행할 수 있다. 이에 따라, 다수의 각 디지탈신호 처리수단에 의한 연산처리의 조합에 의해 목적으로 하는 일련의 사운드 신호처리를 수행할 수 있으며, 그 결과로 처리된 사운드신호가 상기 다수의 디지탈신호 처리수단중 소정의 디지탈신호 처리수단의 출력데이터로서 상기 제2버스에 인가된다.
이와 같이, 다수의 각 디지탈신호 처리수단에 의한 연산처리의 조합에 의해 목적으로 하는 일련의 사운드 신호처리가 수행(환언하면, 목적으로 하는 디지탈 사운드 신호처리를 위한 일련의 연산처리가 각 디지탈신호 처리수단에 대응하여 다수의 연산처리부분으로 분할되고, 각 디지탈신호 처리수단에서 상기 각 연산처리부분이 동시병행적으로 실행되게 된다)되므로, 전체적인 연산처리 스텝수가 많고 또 처리해야할 사운드신호가 다채널이더라도 전체적으로 연산처리의 고속화를 도모할 수 있다.
또한, 개별 디지탈신호 처리수단은 목적으로 하는 일련의 연산처리중 일부의 연산처리부분만을 실행하는 구성이 되므로, 실행해야 할 연산처리의 내용은 상대적으로 단순화된다. 또, 각 디지탈신호 처리수단에서 실행해야 할 연산처리 내용의 상대적 단순화에 따라 각 디지탈신호 처리수단의 회로구성이 단순화될 뿐만 아니라, 서로 유사하게 할 수 있다. 따라서, 각 디지탈신호 처리수단의 설계· 제조의 용이화나 저비용화를 도모할 수 있음과 동시에, 장치의 범용성을 높일 수 있다.
또한, 다수의 디지탈신호 처리수단을 상기 제1버스와 제2버스에 의해 각각 공통으로 접속하는 구성이기 때문에, 상기 디지탈신호 처리수단의 수를 증가할 때입력파라미터 배선의 스크롤이나 출력데이터의 상호 접속배선의 스크롤을 할 필요없이 단 각 버스에 접속하면 되므로, 상기 디지탈신호 처리수단의 수의 증감을 매우 용이하게 할 수 있다. 따라서, 이 점에서도 장치의 범용성을 높일 수 있음과 동시에 효율적 이용을 도모할 수 있는 것이다.
또한, 다수 종류의 악음합성방식을 혼재시켜서 악음합성 시스템을 구성할 경우(예를 들면 FM합성음과 노이즈 포먼트음을 동시에 발생할 경우, 혹은 통상의 포먼트 합성음과 노이즈 포먼트음을 동시에 발생할 경우), 다른 악음합성방식의 것에 있어서도 공통의 연산 알고리즘에 의해 처리할 수 있는 연산처리부분에 대해서는 공통의 디지탈신호 처리수단을 사용할 수 있으므로, 종래와 같이 개별적인 악음합성방식마다 독립된 일련의 연산처리를 실행하도록 쓸데없이 장황한 구성으로 할 필요가 없다. 따라서, 효율적인 시스템을 구성할 수 있다. 예를 들면, 본 발명에 의하면 사운드파형을 생성하기 위한 연산처리부분은 각 악음합성방식마다 다른 디지탈신호 처리수단을 사용하여 행하지만 엔벨로프신호데이터를 생성하는 연산처리부분은 각 악음합성방식에 공통된 하나의 디지탈신호 처리수단을 이용하여 행하듯이 시스템을 효율적으로 구축할 수 있다.
또, 하나의 악음합성방식에 대응하는 일련의 연산처리에 있어서, 그 일부의 연산처리내용을 변경하는 경우에도 변경하고 싶은 연산처리부분에 대응하는 디지탈신호 처리수단만 그 프로그램 혹은 회로구성을 변경하면 되므로, 효율적이면서 저코스트로 설계변경을 할 수 있다.
따라서, 본 발명에 의하면 사운드파형합성 혹은 처리를 위한 연산처리내용을변경하고 싶은 요구에 대해 효율적으로 대응할 수 있으며, 또 악음합성방식 자체를 질환가능하게 하거나, 다수 종류의 악음합성방식을 혼재시키는 다기능형 악음합성 또는 처리용 디지탈신호 처리 시스템을 효율적으로 구축할 수 있다.
상기 제2 및 제3의 관점에 따른 사운드신호 합성장치 및 디지탈신호 처리장치도 상기와 같은 특징 및 작용· 효과를 갖는다.
즉, 상기 제2관점에 따른 사운드신호 합성장치에 있어서도 상기 다수의 디지탈신호 처리수단과 같이 다수의 연산처리수단이 병설되어 있으며, 각 연산처리수단에 있어서 사운드신호의 합성을 위한 일련의 신호처리를 다수의 신호처리부분으로 분할하는 것 중 각 하나의 신호처리부분에 대응하는 연산처리가 각각 동시병행적으로 실행된다. 이 제2관점에 따른 사운드신호 합성장치가 특히 특징으로 하는 바는 다수 채널에 의해 시분할적으로 사운드신호를 합성할 경우에 상기 다수의 연산처리수단중 각 하나가 개별 연산처리수단에 독자적인 시분할처리 타이밍에 의해 각 채널마다의 연산처리를 시분할적으로 실행하도록 되어 있다는 점이다. 이에 따라, 예를 들면 각 연산처리수단에서 분담된 신호처리부분의 역할에 맞춰서 각 연산처리수단에 있어서의 채널 시분할처리 타이밍이 상호 편의되도록 타이밍을 조정할 수 있다. 즉, 각 연산처리수단 상호의 연산처리결과의 이용형태에 맞춰서 각 채널의 시분할처리 타이밍을 적절히 어긋나게(편의) 함으로써 (또는 편의시키지 않아도 좋은 경우가 있어도 된다) 어떤 연산처리수단으로부터 출력된 연산처리결과를 다른 연산처리수단에 입력하여 이용하는 경우에 이것을 효율적인 타이밍에 의해 적절히 이용할 수 있어서 전체적으로 연산처리를 신속하게 진행할 수 있다.
상기 제3관점에 다른 디지탈신호 처리장치가 특히 특징으로 하는 점은, 각 디지탈신호 처리수단이 연산처리에 필요한 파라미터를 입력하고, 상기 입력된 파라미터와 설정된 프로그램에 따라 디지탈 입력데이터에 대해 소정의 연산처리를 행하는 연산처리부와, 상기 연산처리부로부터 출력된 처리결과 데이터를 기억하기 위한 기입포트와 판독포트를 각각 가진 듀얼포트 메모리를 포함하는 것이다. 이에 따라, 듀얼포트 메모리의 기입과 판독을 각각 독립된 타이밍에 의해 제어할 수 있으므로, 어떤 제1디지탈신호 처리수단이 다른 제2디지탈신호 처리수단으로부터 출력데이터를 상기 제2버스를 통해 받아들여서 이용하는 경우, 상기 제2디지탈신호 처리수단의 상기 듀얼포트 메모리를 통해 그 처리결과 데이터를 판독하여 받아들이는 경우, 상기 판독을 제2디지탈신호 처리수단의 기입동작 타이밍과는 별도의 이용측 제1디지탈신호 처리수단의 독자적인 타이밍으로 제어할 수 있다. 따라서, 각 디지탈신호 처리수단이 독립 타이밍에 의해 동작할 수 있게 된다.
상기 제4관점에 따른 사운드신호 합성장치에 있어서는, 다른 채널과의 동기발음을 해야 할지의 여부를 지정하는 동기발음 지정데이터가 각 채널마다 독립적으로 인가되므로, 동기발음 지정데이터가 각 채널마다 임의로 가변설정되며, 이에 따라 다양한 조합으로 다수 채널을 발음동기제어할 수 있다. 그 때, 발음동기제어에 사용하는 파라미터 이외의 파라미터, 예를 들면 음색설정· 제어용 파라미터 등은 각 채널마다 임의로 설정할 수 있으므로, 발음동기하는 채널끼리 다른 포먼트구성 혹은 배음성분구성의 음을 조합하여 전체적으로 하나의 복잡한 악음신호를 합성할 수 있다. 따라서, 단순히 각 채널마다의 동기발음 지정데이터를 임의로 설정하는것만으로 다양한 조합에 의해 다수채널을 발음동기시켜서 다양한 포먼트구성 또는 배음성분군의 조합으로 이루어진 악음신호를 합성하는 것을 용이하게 또 한정된 악음발생 채널구성을 이용해서 실현할 수 있다는 효과를 거둔다.
본 발명의 또 다른 관점에 따른 음성 및 악음합성장치 즉 사운드 합성장치는, 발음개시를 지시하는 발음개시신호(sound generation start signal), 발음해야 할 음고정보(pitch information)가 입력되어 발음개시신호가 입력되면, 입력되어 있는 음고정보에 의거해서 음의 파형을 형성하는 다수의 파형발생수단과, 상기 다수의 파형발생수단중 특정한 하나의 파형발생수단에 발음개시신호 및 음고정보를 송출하는 제어수단과, 상기 특정한 파형발생수단으로부터 다른 파형발생수단에 발음개시신호 및 음고정보를 전송하기 위한 전송수단을 가진다.
다수의 파형발생수단 중 특정한 하나의 파형발생수단으로부터 발음개시신호와 음고정보를 다른 파형발생수단에 전송하기 위해 특정한 하나의 파형발생수단에 대해서만 발음개시신호와 음고정보를 송출하면 된다. 다수의 파형발생수단에 동시에 발음개시신호와 음고정보를 송출할 필요가 없기 때문에 발음제어가 용이해진다.
이하, 본 발명의 실시예에 대해 첨부도면을 참조하여 상세하게 설명한다.
제1도는 본 발명에 관한 디지탈 신호처리장치를 채용한 전자악기의 일실시예를 나타낸다. 디지탈신호 처리부(DSPS)는 4개의 디지탈 시그널 프로세서(DSP1, DSP2, DSP3, DSP4)를 포함하고 있다. 각 DSP1, DSP2, DSP3, DSP4는 파라미터버스(PBUS) 및 컴퓨터 인터페이스(CIF)를 통해 전자악기의 마이크로 컴퓨터부(COM)(CPU, ROM, RAM을 포함한다)에 대해 상호 병렬적으로 접속되어 있다. 마이크로 컴퓨터부(COM)로부터는 조작자부(OSP)(연주조작자 및 패널조작자를 포함한다)에 의거해서 발생해야 할 악음의 음고(pitch), 음색(color), 음량(volume)등을 설정하기 위한 각종 파라미터 데이터가 개별 디지탈 시그널 프로세서(이하 간단히 DSP라 한다)에 대응하여 인가된다. 이들 파라미터는 컴퓨터 인터페이스(CIF) 및 파라미터버스(PBUS)를 통해 각 DSP1∼DSP4중 소정의 것에 분배입력된다. 또, 각 DSP1∼DSP4는 데이터버스(DBUS)를 통해 상호 접속되어 있으며, 각 DSP 사이에서 데이터의 교환을 할 수 있다. 또한, 각 DSP1∼DSP4는 데이터버스(DBUS)를 통해 출력포트인 데이터 인터페이스(DIF)에 접속되어 있으며, 상기 데이터 인터페이스(DIF)를 통해 디지탈/아날로그 변환기(DAC)에 접속된다. 연산처리의 최종결과인 합성된 악음파형신호 데이터가 소정의 DSP(실시예어서는 DSP1)로부터 출력되고, 이것이 데이터 인터페이스(DIF)를 통해 DA변환기(DAC)에 이송된다. 아날로그 변환된 출력악음 파형신호는 사운드 시스템(SS)을 통해 발음된다.
또한, PCM(펄스코드 모듈레이션)방식에 의해 외부로부터 샘플링된 악음파형 데이터를 기억하는 파형메모리(WM)가 메모리 인터페이스(MIF)와 데이터버스(DBUS)를 통해 각 DSP1∼DSP4에 접속되며, 또 인터페이스(MIF) 및 파라미터버스(PBUS) 및 인터페이스(CIF)를 통해 마이크로컴퓨터부(COM)에 접속되어 있다. 또한, 클록펄스 발생기(CLKG)로부터 시스템 클록펄스가 각 DSP1∼DSP4에 인가된다.
이 디지탈신호 처리부(DSPS)에서는 디지탈 악음파형합성을 위한 각종 연산 및 처리가 분류되어 각 DSP1∼DSP4에 할당되고 있다. 예를 들면, DSP1은 다수의 악음발생 채널(일예로서 이하에서는 18채널로 한다)에 대해 각 채널마다의 악음파형의 프로그래시브 위상데이터를 작성하기 위한 연산(이하, 「위상연산」이라 한다)과, 다른 DSP(예를 들면 DSP4)에 의해 생성된 각 채널의 악음파형데이터를 합하는 연산(이하 「믹싱연산」이라 한다)을 행한다. DSP2는 각 채널마다의 각종 엔벨로프 데이터를 작성하기 위한 연산(이하, 「엔벨로프연산」이라 한다)을 행한다. DSP3는 악음파형생성에 사용하기 위한 각 채널마다의 노이즈신호를 작성하기 위한 연산(이하, 「노이즈연산」이라 한다)을 행함과 동시에, PCM파형의 판독을 위한 연산(이하, 「PCM연산」이라 한다)을 행한다. DSP4는 DSP1, DSP2, DSP3에 의해 작성된 위상데이터, 엔벨로프 데이터, 노이즈신호를 이용하여 각 채널마다의 악음파형을 생성하기 위한 연산(이하, 「파형생성연산」이라 한다)을 행한다.
디지탈신호 처리부(DSPS)에 있어서 각 DSP1∼DSP4에 입출력되는 정보의 흐름을 기능적으로 나타내면 제2도와 같다. 마이크로 컴퓨터부(COM)로부터 파라미터버스(PBUS) 및 인터페이스(CIF)를 통해 각 DSP1∼DSP4에 각각의 처리내용에 따른 소정의 각종 파라미터 데이터가 인가된다. 그들 파라미터 데이터의 부호 및 그 내용의 일예를 일람하여 표시하면 제19도와 같다. 각각의 파라미터 데이터가 어떤 DSP에 인가되는지에 대해서는 추후 설명한다.
DSP2는 마이크로 컴퓨터부(COM)로부터의 각종 엔벨로프 설정용 파라미터데이터에 의거해서 각 채널마다의 각종 엔벨로프 데이터를 작성하고, 작성한 엔벨로프 데이터를 데이터버스(DBUS)를 통해 DSP1, DSP4에 보낸다. 이들 엔벨로프 데이터에는 진폭제어용 엔벨로프 데이터(EG)에 한하지 않고, 음고제어용 엔벨로프 데이터(예를 들면 어태크 그라이드 데이터(AG))나 파형보간용 계수데이터(IP)등, 시간경과에 따라 차례로 값이 변하는 데이터가 포함된다.
DSP1은 마이크로 컴퓨터부(COM)로부터의 음고설정용과 음색설정용 파라미터 데이터 및 DSP2로부터의 음고제어용 엔벨로프 데이터에 의거해서 각 채널마다의 발생음 음고에 대응하는 프로그램 위상데이터(PG)를 작성하고, 작성한 위상 데이터(PG)를 데이터버스(DBUS)를 통해 DSP4에 보낸다.
DSP3는 마이크로 컴퓨터부(COM)로부터의 음색설정용 파라미터 데이터에 의거해서 각 채널마다의 상관노이즈신호(BWR)를 작성하고, 작성한 신호(BWR)를 데이터버스(DBUS)를 통해 DSP4에 보낸다. 또한, PCM파형생성시 DSP3는 파형메모리(WM)와의 사이에서 데이터 교환을 행한다.
DSP4는 마이크로 컴퓨터부(COM)로부터의 음색설정용 및 음량설정용 파라미터 데이터와, DSP1, DSP2, DSP3로부터의 위상데이터(PG), 엔벨로프 데이터(EG와 IP를 고려한 음량레벨 데이터(LVL)), 상관노이즈신호(BWR)를 이용하여, 각 채널마다에 소정의 음고와 음색 및 음량을 가진 악음파형 데이터를 생신하고, 생성한 악음파형 데이터를 데이터버스(DBUS)를 통해 DSP1에 보낸다.
DSP1은 DSP4로부터의 각 채널의 악음파형 데이터를 합하고, 합한 악음파형 데이터를 데이터버스(DBUS) 및 인터페이스(DIF)를 통해 DA변환기(DAC)에 보낸다.
[DSP의 기본적 구조예의 설명]
다음에, 각 DSP1, DSP2, DSP3, DSP4의 하드웨어의 기본적 구조의 일예를 제3도에 도시했다. 도면에 있어서, DSPn은 개별적인 각 DSP1∼DSP4중 어느 하나에 상당한다. 마이크로컴퓨터 공급부(5)는 마이크로 프로그램을 기억하는 기억장치이다.각 DSPn(즉 DSP1∼SSP4)의 마이크로 프로그램 공급부(5)에는 디지탈파형합성을 위한 각종 연산중 당해 DSP에 할당한 연산을 기술하는 마이크로 프로그램이 각각 기억되어 있다. 예를 들면, DSP1의 마이크로 프로그램 공급부(5)에는 상술한 「위상연산」과 「믹싱연산」을 위한 마이크로 프로그램이 기억되어 있다. DSP2의 마이크로 프로그램 공급부(5)에는 상술한 「엔벨로프연산」의 마이크로 프로그램이 기억되어 있다. DSP3의 마이크로 프로그램 공급부(5)에는 상술한 「노이즈연산」과 「PCM연산」의 마이크로 프로그램이 기억되어 있다. DSP4의 마이크로 프로그램 공급부(5) 공급부(5)에는 상술한 「파형생성연산」의 마이크로 프로그램이 기억되어 있다.
또한, 본 실시예에 있어서는 외부의 파형메모리(WM)를 사용하지 않은 악음파형 생성연산으로서 포먼트음 합성방식과 FM합성방식의 2가지 타입을 이용할 수 있다. 그 때문에, DSP1의 마이크로 프로그램 공급부(5)에는 포먼트음 합성방식을 위한 마이크로 프로그램과, FM합성방식을 위한 마이크로 프로그램 2종류의 마이크로 프로그램이 기억되어 있다. 또한, DSP4의 마이크로 프로그램 공급부(5)에도 같은 2종류의 마이크로 프로그램이 기억되어 있다. 이에 대해 「엔벨로프연산」을 행하는 DSP2와, 「노이즈연산」 을 행하는 DSP3에 있어서는 상기 2개의 파형합성방식의 어느 하나에서도 각각의 연산내용은 공통되어 있으므로, 어떤 방식으로 악음파형을 합성하는 경우에도 공통의 마이크로 프로그램을 실행한다.
제어신호 발생부(6)는 마이크로 프로그램 공급부(5)내의 마이크로 프로그램으로부터 명령어를 취출하여 해독하고, 상기 명령에 의거한 제어신호를 발생하는제어장치이다. 각 DSP1∼DSP4의 제어신호 발생부(6)는 버스(PBUS)를 통해 인가되는 각종 파라미터중 악음의 발음개시를 지시하는 키 온 신호(KON)에 따라 명령어의 취출 및 해독을 개시한다. 또한, DSP1, DSP4의 제어신호 발생부(6)는 버스(PBUS)를 통해 인가된 각종 파라미터중 악음합성 알고리즘을 지정하는 파라미터(ALG)에 따라 포먼트음 합성방식의 마이크로 프로그램과 FM합성방식의 마이크로 프로그램 중 어느 하나를 선택하고, 또한 선택된 마이크로 프로그램에 있어서의 마이너한 부분적 처리내용의 변경 또는 선택을 상기 지정된 악음합성 알고리즘에 따라 행하는 제어를 한다. 이렇게 해서 마이크로 프로그램 공급부(5)로부터 공급되는 프로그램에 의거해서 제어신호 발생부(6)로부터 발생한 각종 제어신호는 연산 및 기억부(7)에 인가된다.
연산 및 기억부(7)는 제어신호 발생부(6)로부터 인가된 각종 제어신호에 따라 연산, 기억, 선택, 지연, 데이터변환 등 각종 동작을 행하는 것으로, 주로 데이터 인터페이스(IF), 연산부(ALU)(8), 듀얼포트형 랜덤 엑세스 메모리(RAMn)를 포함하고 있다. 연산부(4)는 사칙연산이나 논리연산 등의 연산을 실행하는 연산장치이다. 이미 제2도를 이용하여 설명한 바와 같이, 각 DSP1∼DSP4에는 마이크로컴퓨터부(COM)로부터 버스(PBUS)를 통해 각종 파라미터 데이터가 인가되며, 또 DSP1, DSP4에는 다른 DSP로부터도 버스(DBUS)를 통해 데이터가 인가된다. 각 DSP1∼DSP4의 연산부(8)에는 이러한 외부로부터의 데이터가 데이터 인터페이스(IF)를 통해 입력된다. 또한, 제3도에 도시한 바와 같이, 연산부(8)에는 연산부(8) 자체의 연산출력도 적절히 지연시키거나 혹은 RAMn에 기억된 후에 데이터 인터페이스(IF)를 통해다시 입력된다. 각 DSP1∼DSP4의 연산부(8)는 마이크로 프로그램 공급부(5)내의 프로그램 명령에 의거한 제어신호 발생부(6)로부터의 제어신호에 따라 이들 데이터를 이용하여 당해 DSP에 할당된 소정의 연산을 실행한다.
듀얼포트형 랜덤 엑세스 메모리(RAMn)는 입력데이터포트와 출력데이터포트를 개별적으로 가지고 있음에 따라 판독과 기입이 동시에 가능한 랜덤 엑세스 메모리이다. 도면에서 RAMn은 개별적인 각 DSP1∼DSP4에 있어서의 듀얼포트 RAM1, RAM2, RAM3, RAM4중 어느 하나에 상당하는 것임을 나타낸다. 듀얼포트(RAMn)의 기억데이터(즉, 당해 DSP 연산부(8)의 연산결과를 나타낸 데이터)는 상기 RAMn으로부터 판독되며, DSP 자체내에서 이용되거나 또는 버스(DBUS)를 통해 다른 DSP로 이송되거나, 또는 DA변환기(DAC)로 이송된다. 상술한 바와 같이 DSP1과 DSP4에는 다른 DSP로부터의 데이터가 버스(DBUS)를 통해 인가되게 되어 있다. 제3도에 있어서, 버스(DBUS)의 데이터를 받아 들이는 라인(LX)은 DSP1과 DSP4에서 형성된다.
각 DSPn의 듀얼포트(RAMn) 기억맵을 제4도에 도시했다.
제4(a)도는 DSP1의 듀얼포트(RAM1)의 기억맵이다. RAM1에는 파형신호의 순시 위상(프로그래시브 위상)을 나타낸 위상데이터로서 포먼트음 합성을 위한 2 계열의 음고위상데이터(PGp1)(PGp2)의 기억영역이 각각 18채널분 형성되어 있으며, 또 포먼트음 합성을 위한 2계열의 중심주파수 위상데이터(PGf1)(PGf2)의 기억영역이 각각 18채널분 형성되어 있다. 또한, 중심주파수 위장데이터(PGf1)(PGf2)의 기억영역은 FM합성방식을 선택했을 경우에는 2개의 FM연산용 오퍼레이터(OP1)(OP2) 위상데이터의 기억영역으로도 사용된다. 또한, RAM1에는 포먼트음 합성을 위한 2계열의윈도우함수 위상데이터(PGw1)(PGw2)의 기억영역이 각각 18채널분 형성되고, 노이즈신호용 위상데이터(PGu)의 기억영역이 18채널분 형성되며, 각 채널의 악음파형 데이터를 패닝제어를 위한 좌우의 스피커에 대응하여 각각 합계한 좌우의 악음파형 혼합데이터(MIXL)(MIXR)를 각각 기억하기 위한 기억영역이 형성되어 있다.
제4(b)도는 DSP2의 듀얼포트(RAM2)의 기억맵이다. RAM2에는 음고제어용 엔벨로프 데이터로서 통상의 악음파형 신호용 어태크 그라이드 데이터(AG)(악음상승시 음고의 시간적 변동을 제어하는 데이터)의 기억영역과, 노이즈 포먼트음 합성용 어태크 그라이드 데이터(AGu)의 기억영역이 각각 18채널분 형성되어 있다. 또한, RAM2에는 진폭의 시변동 제어용으로서 3계열의 엔벨로프 데이터(EG)의 기억영역이 각각 18채널분 형성되고, 또 시변동하는 보간계수로 사용하는 3계열의 보간데이터(IP) 기억영역이 각각 18채널분 형성되어 있다. 또, RAM2에는 포먼트음 합성 또는 FM합성을 위해 사용되는 2계열의 음량레벨 데이터(LVL1)(LVL2)와, 노이즈 포먼트음 합성용 음량레벨 데이터(LVLu)의 기억영역이 각각 18채널분 형성되어 있다. 또, 엔벨로프파형의 세그먼트를 기억하기 위한 기억영역도 형성되어 있다. 또, 3계열의 엔벨로프 데이터(EG), 보간데이터(IP)중 1계열은 PCM용 데이터이며, 2계열은 포먼트음 합성 또는 FM합성을 위한 데이터이다. 음량레벨 데이터(LVL1)(LVL2)(LVLu)는 각각 엔벨로프 데이터(EG)와 보간데이터(IP)의 승산치이다. 또, DSP2로부터 DSP4에 대해 레벨데이터(LVL1)(LVL2)(LVLu)는 출력되지만, 엔벨로프 데이터(EG)나 보간데이터(IP) 그 자체는 외부에 출력되지 않고 내부에서 처리된다.
제4(c)도는 DSP3의 듀얼포트(RAM3)의 기억맵을 도시한다. RAM3에는 데이터(BWR)(로퍼스 노이즈신호에 직류성분을 부가한 후, 그 대역폭을 제한한 데이터로서 상관노이즈신호라고도 한다)의 기억영역이 18채널분 형성되고, 데이터(LPF)(로퍼스 노이즈신호)의 기억영역이 18채널분 형성되며, 연산 도중에 워킹 RAM으로 이용되는 기억영역(TmpM)이 18채널분 형성되어 있다.
제4(d)도는 DSP4의 듀얼포트 RAM4의 기억맵을 도시한 것이다. RAM4는 제1파형데이터(TR1)의 기억영역이 18채널분 형성되며, 제2파형데이터(TR2)의 기억영역이 18채널분 형성되고, 피드백 파형데이터(FR)의 기억영역이 18채널분 형성되고, 노이즈 파형데이터(TRu)의 기억영역이 18채널분 형성되고, 노이즈파형을 구하는 연산 도중에 워킹RAM으로 이용하는 기억영역 「Funvoiced」 가 형성되어 있다. 파형데이터(TR1)의 기억영역은 포먼트음 합성시에는 1계열째의 악음파형데이터의 기억영역이 되며, FM합성시에는 오퍼레이터(OP1)의 악음파형데이터의 기억영역이 된다. 파형데이터(TR2)의 기억영역은 포먼트음 합성시에는 1계열째의 악음파형데이터와 2계열째의 악음파형데이터의 가산데이터 기억영역 또는 2계열째의 악음파형데이터뿐인 기억영역이 되며, FM합성시에는 오퍼레이터(OP1)의 악음파형 데이터와 오퍼레이터(OP2) 악음파형 데이터와의 가산데이터의 기억영역 또는 오퍼레이터(OP2)의 악음파형 데이터만의 기억영역이 된다. 피드백 파형데이터(FR)의 기억영역은 FM합성모드시의 오퍼레이터(OP1)에서의 자기피드백 FM연산을 위해 사용하는 피드백 파형데이터의 기억영역이 된다.
[개별DSP의 하드웨어 구성 구체예의 설명]
다음에, 개별 DSP1∼DSP4의 연산 및 기억부(7)의 구체적 하드웨어구성의 설명으로 넘어가겠는데, 그전에 각 DSP1∼DSP4의 연산 및 기억부(7) 구성의 기본적 공통점을 설명한다. 제2도 및 제3도를 이용해서 설명한 바와 같이, 각 DSP1∼DSP4의 연산 및 기억부(7)에는 마이크로 컴퓨터부(COM)로부터의 각종 파라미터 데이터나 다른 DSP로부터의 데이터나, 연산 및 기억부(7) 자체의 연산결과를 나타낸 데이터가 인가된다. DSP1∼DSP4의 연산 및 기억부(7)에는 이들 데이터중 연산기(ALU)의 연산대상이 되는 데이터를 입력하는 셀렉터가 형성되어 있다. 당해 셀렉터의 선택제어입력에는 마이크로 프로그램 공급부(5)내의 프로그램 명령에 의거한 제어신호발생부(6)로부터의 제어신호가 인가된다. 그리고, 그 제어신호에 따라 당해 셀렉터에서 선택한 데이터가 연산기(ALU)에 입력된다. 이에 따라 각 DSP1∼DSP4에 있어서 당해 DSP에 할당한 연산의 처리순서에 따른 데이터가 당해 셀렉터에서 순차 선택되며, 그 데이터를 이용하여 연산기(ALU)에 있어서 순차 연산이 실행된다.
먼저, DPS1의 연산 및 기억부(7)의 구체적 하드웨어구성의 일예를 제5도에 도시했다. DSP1은 상술한 바와 같이, 디지탈 파형합성을 위한 각종 연산중 「위상연산」「믹싱연산」 을 행한다. DSP1의 연산 및 기억부(7)에는 버스(PBUS)를 통해 소정의 파라미터 데이터가 인가되며, 또 DSP2의 듀얼포트RAM2로부터 판독한 각 채널마다의 어태크 그라이드 데이터(AG)(AGu)가 인가되고, 또 나중에 설명하는 DSP4의 듀얼포트RAM4로부터 판독한 각 채널의 악음파형데이터가 인가된다. 마이크로 컴퓨터부(COM)로부터 DSP1에 인가되는 파라미터데이터 및 그 내용은 다음과 같다(제19도 참조).
파라미터FNUM:음고주파수 넘버를 지정하는 파라미터.
파라미터RBP:인접한 다수의 채널을 동일 음고로 동시에 키 온하기 위한 플래그.
파라미터FORM:포먼트음의 중심주파수를 지정하는 파라미터.
파라미터UFORM:무성포먼트음(unvoice formant:노이즈 포먼트음이라고 하는 경우도 있다)의 중심주파수를 지정하는 파라미터.
파라미터VIB:비브라토의 온· 오프를 지정하는 파라미터.
파라미터DVB:비브라토의 깊이나 빠르기를 지정하는 파라미터.
파라미터FOM:포먼트음의 중심주파수 변조의 온· 오프를 지정하는 파라미터.
파라미터DFM:포먼트음의 중심주파수 변조의 깊이나 빠르기를 지정하는 파라미터.
파라미터UFOM:무성포먼트음의 중심주파수 변조의 온· 오프를 지정하는 파라미터.
파라미터UDFM:무성 포먼트음의 중심주파수 변조의 깊이나 빠르기를 지정하는 파라미터.
파라미터URVF:포먼트음 추종 제어플래그.
파라미터PAN:포먼트음 또는 FM음의 패닝을 지정하는 파라미터.
파라미터BW:포먼트음의 대역폭(=윈도우함수 시간폭)을 지정하는 파라미터.
파라미터MULT1:포먼트음 합성시의 주파수배수 또는 FM합성시의 오퍼레이터(OP1) 주파수배수를 지정하는 파라미터.
파라미터MULT2:FM합성시 오퍼레이터(OP2)의 주파수배수를 지정하는 파라미터.
주파수설정용 파라미터 FNUM, FORM, UFORM은 변조용 파라미터 VIB, DVB, FOM, DFM, UFOM, UDFM에 따라 변조부(12)에서 변조되며, 리니어/로그 변환기(linear/log converter: 13)에서 대수로 변환된 후, 셀렉터(10)에 입력된다. 셀렉터(10)(11)는 연산기(ALU1)의 연산대상이 되는 데이터를 선택하는 것이다.
셀렉터(10)에는 그밖에 디지탈 시그널 프로세서(DSP4)의 RAM4로부터 판독한 출력데이터#RAM4(특히 각 채널의 악음파형 데이터)와, DSP1내의 레지스터(REG1)의 출력데이터(#REG1)와, 연산기(ALU1)로부터 지연회로(18)(19) 및 아웃풋 콘트롤러(20)를 경유하여 인가되는 데이터인 데이터#1이 입력된다. 이들 입력데이터중 어느 하나의 데이터가 이 DSP1에 대응하는 마이크로 프로그램 공급부(5) 내의 프로그램 명령에 의거한 제어신호 발생부(6)로부터의 제어신호에 따라 셀렉터(10)에서 선택된다. 선택된 데이터는 로그 리니어변환/시프트기(log/linear converter and shifter: 14) 및 지연회로(15)를 경유하여 연산기(ALU1)의 「A」 입력에 입력된다.
셀렉터(11)에는 다른 디지탈 시그널 프로세서(DSP2)의 RAM2로부터 판독한 출력데이터#RAM2(특히 어태크 그라이드 데이터(AG)(AGu)와, 레지스터(REC1)의 출력데이터#REG1과, DSP1의 RAM1중 어느 하나의 기억영역으로부터 판독한 출력데이터#REG1과, 「O」 을 나타내는 데이터가 입력된다. 이들 입력데이터중 어느 하나의 데이터가 DSP1의 제어신호 발생부(6)로부터의 제어신호에 따라셀렉터(11)에서 선택된다. 선택된 데이터는 로그 리니어변환/± 부호기(16) 및 지연회로(17)를 경유하여 연산기(ALU1)의 「B」 입력에 입력된다.
로그 리니어변환/시프트기(14)는 콘트롤러(23)의 제어하에 입력된 데이터에 대해 로그 리니어 변환이든 시프트(자릿수 이송)이든 어느 하나의 처리를 행하는 것이다. 로그 리니어변환/시프트/± 부호기(16)는 콘트롤러(23)의 제어하에 입력된 데이터에 대해 로그 리니어변환이든 시프트이든 플러스· 마이너스부호의 반전이든 어느 하나의 처리 또는 시프트 및 플러스· 마이너스부호 반전의 양쪽 처리를 행하는 것이다. 팬제어 파라미터(PAN)는 PAN테이블(21)에 입력되고, 이것에 의거해서 PAN테이블(21)로부터 좌우의 음량레벨 제어데이터(사운드 시스템(SS) 좌우의 스피커로부터 출력되는 음량레벨을 각각 제어하는 데이터)가 출력된다. 이들 패닝용 좌우음량레벨 제어데이터와, 포먼트대역폭 지정파라미터(BW) 또는 주파수배수 지정파라미터(MULT1)(MULT2)중 어느 하나의 데이터가 셀렉터(22)에서 선택되어 콘트롤러(23)에 입력된다. 콘트롤러(23)는 이 데이터나 DSP1의 제어신호 발생부(6)로부터의 제어신호에 따라 로그 리니어변환/시프트기(14) 및 로그 리니어변환/시프트/± 부호기(16)를 제어한다.
연산기(ALU1)는 기본적으로는 「A」 입력 및 「B」 입력에 인가된 데이터를 가산하는 연산을 행한다. 연산기(ALU1)의 연산출력은 지연회로(18), 지연회로(19), 아웃풋 콘트롤러(20)를 경유한 후, 상술한 바와 같이 데이터#1로서 셀렉터(10)에 입력되고, 또 제어신호 발생부로부터의 제어신호에 따라 레지스터(REG1)에 기억되거나, 지연회로(24)를 경유하여 RAM1에 기입된다.
아웃풋 콘트롤러(20)는 DSP1의 제어신호 발생부(6)로부터의 제어신호에 따라 연산기(ALU1)의 연산출력 오버플로우를 관리하거나 발음개시시 RAM1내의 대응하는 위상데이터값을 초기화할 때의 초기치를 공급하는(또, 후술하는 바와 같이 포먼트음 합성시에는 음고주파수 위상데이터(PGp1)(PGp2)가 오버플로우되었을때 대응하는 계열의 포먼트 중심주파수 위상데이터(PGf1)(PGf2) 및 윈도우함수 위상데이터(PGw1)(PGw2)에 소정 리세트값을 공급한다) 콘트롤러이다.
레지스터(REG1)의 기억데이터는 상술한 바와 같이 셀렉터(10)(11)에 입력된다.
RAM1에 기입된 데이터는 DSP1의 제어신호 발생부(6)로부터의 제어신호에 따라 RAM1로부터 판독되며, 지연회로(25)를 경유하여 상술한 바와 같이 다시 셀렉터(11)에 입력된다. 또한, RAM1에 기입된 각 채널마다의 위상데이터는 필요에 따라 DSP4의 제어신호발생부(6)로부터의 제어신호에 따라 RAM1로부터 판독되며, 지연회로(25)를 경유하여 DSP4의 연산 및 기억부(7)로 이송된다. 또한, RAM1에 기억된 각 채널의 악음파형 데이터의 합계데이터는 지연회로(25) 및 오버플로우콘트롤러(도시생략)를 경유하여 DA변환기(DAC)(제1도)로 이송된다. 상기 오버플로우 콘트롤러는 RAM1로부터 판독한 각 채널의 악음파형 데이터의 합계데이터의 오버플로우를 관리하는 콘트롤러이다.
각 지연회로(15)(17)(18)(19)(24)(25)는 입력된 데이터를 각각 클록신호의 1클록분의 시간(D) 만큼 지연시켜 출력한다.
엔벨로프데이터 작성을 위한 연산을 실행하는 DSP2는 기존의 엔벨로프 발생기와 같은 주지의 연산을 실행함으로써, 상술한 바와 같이 어태크 그라이드 데이터(AG)(AGu), 레벨 데이터(LVL1)(LVL2)(LVLu) 들을 작성하며, 필요한 타이밍에서 데이터버스(DBUS)에 송출한다. 본 명세서에서는 이 DSP2의 연산 및 기억부(7)의 하드웨어구성의 상세한 설명은 생략한다.
다음에, DSP3의 연산 및 기억부(7)의 하드웨어 구성의 일예를 제6도에 도시했다. DSP3에는 버스(PBUS)를 통해 노이즈신호의 작성을 위한 파라미터 데이터로서 노이즈의 대역폭을 지정하는 파라미터(NBW)에 따른 데이터, 노이즈 스펙트럼의 예리함을 지정하는 파라미터(NRES) 데이터, 노이즈 스펙트럼의 스카토부분의 확산형상을 지정하는 파라미터(NSKT)가 인가된다.
셀렉터(30)에는 상기 파라미터(NBW)(NRES)에 따른 데이터와, 연산기(ALU3)로부터 지연회로(37), 오버플로우/언더플로우 콘트롤러(OF/UF)(38), 시프터(39)를 경유하여 인가되는 연산출력데이터#3과, 화이트 노이즈 발생회로(32)로부터 출력된 화이트 노이즈신호가 입력된다. 이들 입력데이터중 어느 하나의 데이터가 DSP3의 제어신호발생부(6)로부터의 제어신호에 따라 셀렉터(30)에서 선택된다. 선택된 데이터는 지연회로(33)를 경유하여 연산기(ALU3)의 A입력에 입력된다.
셀렉터(31)에는 RAM3의 출력데이터#RAM3와, 레지스터(REG3)의 출력데이터#REG3가 입력되며, 마이크로 프로그램의 명령에 의거한 제어신호에 따라 소정의 입력데이터가 선택출력된다. 선택된 데이터는 플러스 또는 마이너스의 부호를 나타낸 신호 「±」 를 최상위 비트에 부가하며, 게이트회로(34), 지연회로(35)를 경유하여 연산기(ALU3)의 B입력에 입력된다. 게이트회로(34)의 제어입력에는 병직렬 변환기(36)의 출력데이터가 입력된다. 병직렬 변환기(36)는 레지스터(AREG)의 출력데이터#AREG를 직렬로 변환시켜 출력한다. 게이트회로(34) 및 병직렬 변환기(36)는 시리얼승산을 위한 부분합을 연산하기 위한 것이다.
연산기(ALU3)는 A입력에 입력한 데이터와, B입력에 입력한 데이터를 가산하고, 그 연산출력이 지연회로(37), 오버플로우/언더플로우 콘트롤러(38), 시프터(39)를 경유한 데이터#3로서 셀렉터(30)에 입력됨과 동시에, 제어신호 발생부(6)로부터의 제어신호에 따라 레지스터(REG3)나 (AREG)에 기억되거나, 지연회로(40)를 경유하여 RAM3에 기입된다.
오버플로우/언더플로우 콘트롤러(38)는 연산기(ALU3)의 연산출력의 오버플로우나 언더플로우 콘트롤러를 관리하고, 연산의 유효자릿수를 임의의 자리수로 관리하는 것이다. 시프터(39)는 시리얼 승산시의 데이터 시프트 혹은 소정의 계수파라미터(예를 들면, 노이즈 스펙트럼 스카토 파라미터(NSK) 또는 보간계수 파라미터(IP)에 따른 데이터 시프트처리를 행하는 것이다.
레지스터(REG3), 레지스터(AREG)는 입력된 데이터를 제어신호에 따라 래치하는 것도, 그대로 통과시키는 것도 가능한 레지스터이다. 또한, 레지스터(REG3)는 기입타이밍과 출력타이밍에 시간적 편차가 없는 것으로 한다.
RAM3에 기입된 데이터는 DSP3의 제어신호 발생부(6)로부터의 제어신호에 따라 상기 RAM3로부터 판독되며, 지연회로(41)를 경유하여 데이터#RAM3으로서 셀렉터(31)에 입력된다. 또, RAM3에 기입된 데이터는 DSP4의 제어신호 발생부(6)로부터의 제어신호에 따라 RAM3로부터 판독될 수도 있다. 그 경우에는 지연회로(41)를 경유하여 리니어 로그변환기(42)에 의해 대수로 변환되며, 지연회로(43)를 경유하여 데이터#RAM3L로서 DSP4로 이송된다.
각 지연회로(33)(35)(37)(40)(41)는 입력된 데이터를 각각 클록신호의 1클록분의 시간(D)만큼 지연시켜 출력한다. 지연회로(43)는 입력된 데이터를 클록신호의 3클록분 시간(3D)만큼 지연시켜서 출력한다.
다음에, DSP4의 연산 및 기억부(7) 구성의 일예를 제7도에 도시한다. DSP4에는 버스(PBUS)를 통해 파라미터(RHY)(리듬음 생성모드의 온· 오프를 지정하는 파라미터), 파라미터(WF1)(포먼트음 합성시의 주기함수의 기본파형 또는 FM합성시의 오퍼레이터(OP1)의 기본파형을 지정하는 파라미터), 파라미터(WF2)(FM합성시의 오퍼레이터(OP2)의 기본파형을 지정), 파라미터(FBL)(FM합성시의 자기 피드백 레벨을 설정하는 파라미터), 파라미터(SKT)(포먼트음의 스카도부분의 특성을 설정하는 파라미터)(제19도참조)의 데이터가 인가된다.
셀렉터(50)에는 연산기(ALU4)로부터 지연회로(55), 오버플로우/언더플로우 콘트롤러(OF/UF)(56)를 경유하여 인가되는 연산출력데이터#4와, DSP2의 RAM2로부터 판독한 데이터#RAM2(각 채널의 레벨데이터(LVL1)(LVL2)(LVLu)와, DSP1의 RAM1로부터 판독한 데이터#RAM1(각 채널의 위상데이터 PGp1, PGp2, PGf1, PGf2, PGw1, PGw2, PGu)을 리듬음 발생기(52)를 경유시킨 것이 입력된다. 리듬음 발생기(52)는 버스(PBUS)로부터 인가된 파라미터(RHY)에 따라 입력된 위상데이터를 어지럽혀서 리듬음계의 위상데이터를 작성하기 위한 것이다. 이들 입력데이터중 어느 하나의 데이터가 DSP4의 제어신호 발생부(6)로부터의 제어신호에 따라 셀렉터(50)에서 선택된다. 선택된 데이터는 지연회로(53)를 경유하여 연산기(ALU4)의 A입력에 입력된다.
셀렉터(51)에는 RAM4로부터 판독한 데이터#RAM4와, 레지스터REG4의 출력 데이터#REG4와, DSP3로부터 판독한 상기 출력데이터#RAM3L이 입력된다. 이들 입력데이터중 어느 하나의 데이터가 DSP4의 제어신호 발생부(6)로부터의 제어신호에 따라 셀렉터(51)에서 선택된다. 선택된 데이터는 지연회로(54)를 경유하여 연산기(ALU4)의 B입력에 입력된다.
연산기(ALU4)는 A입력에 입력한 데이터와 B입력에 입력한 데이터를 가산하고, 그 연산출력이 지연회로(55), 오버플로우 콘트롤러(56)를 경유하여 출력데이터#4로서 셀렉터(50)에 입력됨과 동시에, 다음의 각 경로를 경유하여 셀렉터(64)에 입력된다. 그중 하나의 경로에서는 지연회로(57)를 경유하여 로그 리니어 변환기(58)에서 진수로 변환된 후, 지연회로(59)를 경유하여 셀렉터(64)의 「α」 입력에 입력된다. 다른 또하나의 경로에서는 웨이브 포옴 시프터(wave form shifter: 60), 지연회로(61)를 경유하며, 로그/사인 테이블(log/sin table:62)에서 대수의 사인파 데이터(sin waveform data)로 변환된 후, 지연회로(63)를 경유하여 셀렉터(64)의 「β」 입력에 입력된다. 또 다른 경로에서는 출력데이터#4가 그대로 셀렉터(64)의 「γ」 입력에 입력된다.
오버플로우/언더플로우 콘트롤러(56)는 연산기(ALU4)에 있어서 연산결과의 오버플로우나 언더플로우 콘트롤러를 관리(즉, 연산의 유효자리수를 관리한다)하는 것이다. 웨이브 포옴 시프터(60)는 버스(PBUS)로부터 인가되는 기본파형 선택지정파라미터(WF1)(WF2)에 따라, 입력된 위상데이터에 대해 위상치를 시프트하거나 특정구간만 상기 위상치를 제로로 하는 변경처리를 하는 것이다. 이와같은 처리에는 예를 들면 일본국 특공평6-44193호 공보에서 본 출원인이 이미 개시한 방식을 기본적으로 사용할 수 있다. 또한, 이 웨이브 포옴 시프터(60)는 포먼트음 윈도우함수파형의 발생시에 입력된 위상데이터에 대해 위상치를 1비트 시프트다운(즉, 위상치를 2분의 1로 한다)하는 처리를 행한다. 이에 따라 2분의 1 비율로 시프트다운된 위상데이터에 의해 로그/사인 테이블(62)로부터 입력위상데이터의 음고주기의 1주기에 대해 로그/사인 파형의 전반주기가 판독되게 된다.
셀렉터(64)의 출력은 시프트/로그 리니어 변환기(shifter and log/linear converter: 65)에 입력된다. 시프트/로그 리니어 변환기(65)는 입력된 데이터에 대해 시프트이든 로그 리니어변환이든 어느 하나의 처리를 제어신호에 따라 행하는 것이다. 버스(PBUS)를 통해 FM용 피드백 레벨파라미터(FBL) 또는 포먼트음 스카토특성 지정파라미터(SKT)가 콘트롤러(66)에 입력된다. 콘트롤러(66)는 이 파라미터에 따라 시프트/로그 리니어변환기(65)에 대해 시프트량 지정데이터를 인가한다. 여기서, 파라미터(SKT)는 포먼트음 윈도우함수 파형발생시에 시프트/로그 리니어변환기(65)로부터 사인파(정현파)의 「2 × SKT」 승의 파형을 출력시키도록 하기 위해 1비트 시프트업하여 (즉, 데이터의 값을 2배하여) 콘트롤러(66)에 입력된다. 예를 들면, SKT= 「1」 일 때에는 입력데이터를 1비트 시프트업함으로써 사인파의 전반파로 이루어진 대수표현의 사인파 데이리에 「2」 를 곱함으로써 진수표현으로 변환했을 때 sin의 2승의 함수치에 상당하는 파형이 되는 파형데이터를 생성하고,이것을 윈도우함수로서 이용할 수 있도록 한다. sin 2승의 함수치에 상당하는 파형은 사인파의 반파 파형의 저변에 확장을 주는 것으로 윈도우함수에 적합하다.
시프트/로그 리니어변환기(65)의 출력데이터는 제어신호 발생부(6)로부터의 제어신호에 따라 레지스터(REG4)에 일시 기억되거나, 지연회로(67)를 경유하여 RAM4에 기입된다. 레지스터(REG4)는 시프트 레지스터로서, 그 출력데이터 #REG4는 셀렉터(51)에 입력된다.
RAM4에 기입된 데이터는 DSP4의 제어신호 발생부(6)로부터의 제어신호에 따라 RAM4로부터 판독되며, 지연회로(68)를 경유하여 출력데이터#RAM4로서 셀렉터(51)에 입력된다. 또한, RAM4에 기입된 데이터는 DSP1의 제어신호 발생부(6)로부터의 제어신호에 따라 RAM4으로부터 판독되고, 지연회로(68)를 경유하여 DSPI로 이송된다.
[각 DSP의 협동에 의한 악음합성동작의 설명]
다음에, 디지탈신호 처리부(DSPS)내의 각 DSP1, DSP2, DSP3, D2P4가 각각의 마이크로 프로그램에 의거해서 병렬적으로 연산을 실행함으로써 악음파형이 합성되어 가는 과정을 설명한다.
제8도는 각 DSP1∼DSP4가 병행적으로 각 채널의 연산을 실행할 때의 채널 타이밍을 나타낸 타임챠트이다. 상기 도면에 있어서 1∼18은 각 채널(1∼18)의 시분할 연산 타이밍을 나타낸다. 동 도면에 도시한 바와 같이 각 DSP1∼DSP4는 각 채널의 연산을 시스템 클록 펄스가 21클록분 인가된 시간마다 순차로 채널을 바꾸면서 실행한다. 즉, 시스템 클록 펄스가 21 ×18=378 클록분 인가되는 시간을 1사이클로하여 18채널에서 시분할로 사용된다.
각 DSP1∼DSP4는 각각에 프로그램되어 있는 처리내용에 따라 상호 타이밍을 편의되게 하여 각 채널의 연산을 실행한다. 즉, 동 도면에 도시한 바와 같이, DSP2가 어떤 채널(예를 들떤 채널1)의 「엔벨로프연산」 을 실행하는 타이밍에 대해 DSP1이 당해 채널 1의 「위상연산」 을 실행하는 타이밍과, DSP3가 당해채널 1의 「노이즈연산」 을 실행하는 타이밍은 2채널 타임분(즉 42클록분) 지연되고 있으며, DSP4가 당해 채널(1)의 악음파형데이터의 「파형생성연산」 을 실행하는 타이밍은 그것보다 1채널 타임(21클록)분 더 지체되고 있고, DSP1이 상기 채널 1의 「믹싱연산」 을 실행하는 타이밍은 그것보다 1채널(21클록)분 더 지체되고 있다.
이에 따라 어느 채널의 엔벨로프 데이터는 DSP2에서 작성된 후, 2채널분 지체된 타이밍에서 그 엔벨로프 데이터를 이용하고, 상기 채널의 위상데이터 및 노이즈신호는 DSP1, DSP3에서 작성된다. 다음에, 1채널분 더 지연된 타이밍에서 이들 엔벨로프 데이터, 위상데이터, 노이즈신호를 이용하여 당해 채널의 악음파형 데이터가 DSP4에서 작성되고, 계속해서 1채널분 더 지체된 타이밍에서, DSP1에 있어서, 상기 채널의 악음파형데이터가 다른 채널의 악음파형데이터와 합쳐지게 된다.
이와 같이, 각 DSP1∼DSP4에 병행적으로 연산을 실행시키는데 추가하여 각각에 프로그램된 처리내용에 따라 각 DSP1∼SSP4에 채널타이밍을 서로 편의시켜서 각 채널의 연산을 실행시킴으로써 더한층 고속으로 악음파형데이터를 작성하는 것이 가능해진다.
다음에, 각 DSP1∼DSP4가 제8도에 도시한 시분할채널 타이밍에서 동작하는것을 전제로 하여 각 DSP의 협동에 의거한 악음파형의 합성동작을 설명한다. 제10도, 제12도 및 제14도는 각 DSP1∼DSP4내의 회로요소를 프로그램된 처리의 흐름을 따라 상호 조합하여 도시한 연산기능 전개블록도로서, 각 DSP1∼DSP4가 서로 관련되어 협동하고 있는 상태를 기능적으로 나타낸 것이다. 또한, DSP2의 회로요소에 대해서는 설명의 편의상 제10도, 제12도 및 제14도에는 도시하지 않았다.
우선, 각 DSP1∼DSP4의 협동에 의거해서 포먼트음 합성방식에 의한 악음파형의 합성을 행하는 동작예에 대해 설명하기로 한다. 이하에서는 2개열의 음고 주파수 위상데이터 및 포먼트 중심주파수 위상데이터에 의거해서 2계열의 포먼트음 파형을 구하고, 그들 포먼트음 파형을 가산함으로써 최종적인 포먼트음 파형을 얻는 방식에서의 악음파형의 합성동작을 설명하기로 한다. 이와 같이 2계열(또는 3계열 이상이어도 된다)의 위상데이터에 의거해서 2계열(또는 3계열 이상이어도 된다)의 포먼트음 파형을 합성하고, 그것들을 가산함으로써 최종적인 포먼트음 파형을 얻는 방식은, 예를 들면 일본국 특개평2-254497호 공보에 있어서 본 출원인이 이미 개시한 방식을 기본적으로 사용할 수 있다.
또, 각 DSP1∼DSP4가 「포먼트음 합성방식」 의 모드에서 연산처리를 행해야 하는 것은 조작자부 OPS(제1도) 또는 그밖의 적당한 수단에 의한 음색 등의 선택/설정조작에 따라 인가된 악음합성 알고리즘 파라미터(ALG)의 값에 의해 지시된다. 예를 들면, 상기 파라미터(ALG)가 "0"일 때 「포먼트음 합성방식」 의 모드에서 연산처리를 할 것을 지시한다.
-포먼트음 합성을 위한 DPS1의 동작예-
제9도는 포먼트음을 합성할 때의 DSP1의 「위상연산」 및 「믹싱연산」 의 마이크로 프로그램의 각 스텝마다의 동작예를 나타낸다. 마이크로 크로그램의 1사이클은 스텝S0∼스텝S20의 21스텝으로 이루어지며, 1스텝이 시스템 클록의 1주기에 대응한다. 이 1사이클은 제8도의 1채널 타이밍에 대응하고 있으며, 각 채널 마다의 프로그램 사이클이 제8도와 같이 18채널 시분할로 실행된다. 스텝S0∼스텝S10, 스텝S13∼스텝S18은 「위상연산」 을 위한 스텝이며, 스텝 S11,S12,S19,S20은 「믹싱연산」 을 위한 스텝이다. 제9도에 있어서 (a)는 연산기 ALU1의 「A」 입력에 입력하는 상태로 설정된 데이터를 나타내고, (b)는 연산기(ALU1)의 「B」 입력에 입력하는 상태로 설정된 데이터를 나타내고, (c)는 데이터#1의 내용을 나타내며, (d)는 레지스터(REG1)에 기입· 입력되는 데이터의 내용을 나타내고, (e)는 RAM1에 기입된 데이터입력의 내용을 나타낸다. 제10도는 DSP1에서의 위상데이터 작동동작의 과정을 도시한 기능블록도이다. 따라서, 동도면은 실제의 하드웨어 회로구성을 도시한 도면은 아니다.
(1) 스텝S0에 있어서의 DSP1의 동작
스텝S0에서는 포먼트음 2계열의 음고주파수 위상데이터(PGp1)(PGp2)를 작성하기 위해 사용되는 음고주파수 넘버(FNUM)의 값을 변조하기 위한 연산을 연산기(ALU1)(제5도)를 이용하여 행한다.
제9(a)(b)도에서는 연산기(ALU1)의 A입력 및 B입력에의 입력데이터를 간략하게 도시하고 있으며, 스텝S0에서는 연산기(ALU1)의 A입력으로서 음고주파수 넘버(FNUM)에 상당하는 위상증분치 데이터가 입력되고, 연산기(ALU1)의 B입력으로서 어태크 그라이드 데이터(AG)가 입력된 상태로 설정된다. 또한, 제9(a)도에서 FNUM과 함께 괄호로 쓰여진 n 또는 n-1의 의미에 대해서는 후술하겠다.
상세하게는, 제5도에 있어서 변조부(12)에 대한 입력 파라미터로서 음고 주파수 넘버(FNUM)와 비브라토용 파라미터(VIB)(DVB)가 인가되며, 또 셀렉터(10)에서는 리니어 로그변환기(13)로부터의 출력을 선택하는 상태가 된다. 이에 따라, 비브라토 변조제어된 음고주파수 넘버(FNUM)를 대수치로 변환한 레이터가 리니어로그변환기(13)로부터 출력되고, 이것이 셀렉터(10)에서 선택되어 로그리니어변환/시프트기(14) 및 지연회로(15)를 통해 연산기(ALU1)의 A입력에 입력된다. 또한, 이 스텝S0에서는 콘트롤러(23)의 제어에 의해 로그 리니어변환/시프트기(14) 및 로그 리니어변환/시프트/± 기(16)에서는 변환 또는 시프트동작의 어느 쪽도 행하지 않고 입력데이터를 그대로 통과시킨다.
한편, 소정의 타이밍에서 DSP2의 RAM2로부터 대응하는 채널의 대수표현의 어태크 그라이드 데이터(AG)가 판독되며, 이것이 데이터#RAM2로서 데이터버스(DBUS)를 통해 DSP1에 인가되어 셀렉터(11)에 입력된다. 셀렉터(11)에서는 이 데이터#RAM2 즉 AG를 선택하여 출력하고, 로그 리니어변환/시프트/± 기(16) 및 지연회로(17)를 통해 연산기(ALU1)의 B입력에 입력한다.
따라서, 대수표현으로 이루어진 비브라토 제어된 음고주파수 넘버(FNUM)와 어태크 그라이드 데이터(AG)가 연산기(ALU1)에서 가산된다. 주지한 바와 같이, 대수끼리의 가산은 그 대수의 진수(즉, 리니어수)끼리의 승산에 상당하므로, 진수의 레벨에서는 비브라토 제어된 음고주파수 넘버(FNUM)에 어태크 그라이드 데이터(AG)를 곱하여, 어태크 그라이드변조를 행하기 위한 연산처리를 하게 된다.
이렇게 해서, 스텝S0에서는 음고주파수 넘버(FNUM)의 값을 변조하기 위한 연산이 행해지며, 변조된 음고주파수 넘버(FNUM)가 대수치로 구해진다. 이 변조된 음고주파수 넘버(FNUM)는 각 지연회로(15)(17)(18)(19)에 의한 통간 3클록의 지연중 후술하는 스텝S3의 타이밍에 의해 아웃풋 콘트롤러(20)를 거쳐 출력데이터#1로서 출력된다.
참고로 하기 위해 이상의 연산처리를 제10도의 연산기능 전개도를 따라 정리한다. 제10도에서 제5도와 동일부호의 두문자가 붙여진 회로요소는 동일 또는 대응하는 것을 나타낸다. 또, 제10도에 있어서 각 회로요소의 부호 말미에 괄호쓰기로 기재된 스텝번호는 그 회로요소가 그 스텝에서 기능하는 것을 나타낸다. 예를 들면 「ALU1(S0)」 이라 부기되어 있는 것은 당해 회로요소가 스텝S0에서 기능하는 연산기(ALU1)에 대응하는 것을 나타낸다. 따라서, 스텝S0의 처리에 대해서는 제10도에서 (S0)의 표시가 붙여진 회로의 루트를 주목하기 바란다. 또한, 후술하는 제12도, 제14에서도 같은 표기법을 채용하고 있다.
제10도에서는 비브라토 데이터 발생기(12a)(S0), 앤드게이트(12b)(S0) 및 가산기(12c)(S0)가 변조부(12)(제5도)에 대응하고 있으며, 비브라토 깊이 및 속도 파라미터(DVB)에 따른 깊이와 빠르기를 가진 주기적인 비브라토 데이터가 비브라토 데이터 발생기(12a)(S0)로부터 발생되며, 앤트게이트(12b)(S0)에 입력된다. 앤드게이트(12b)(S0)는 비브라토 온/오프 파라미터(VIB)가 비브라토 온을 지정할 때 가능해지며, 상기의 주기적인 비브라토 데이터를 출력한다. 앤드게이트(12b)(S0)로부터출력된 비브라토 데이터가 가산기(12c)(S0)에서 음고주파수넘버(FNUM)에 가산되어 음고주파수 넘버(FNUM)를 비브라토 변조된 데이터가 출력된다. 이 가산기(12c)(S0)의 출력이 리니어 로그변환기(13)(S0)에서 대수치로 변환되고, 그리고 상술한 바와 같이 연산기(ALU1)(S0)에서 어태크 그라이드 데이터(AG)와 가산된다.
(채널 동기동작의 설명)
상기와 같이 스텝S0에서 음고주파수 넘버(FNUM)의 변조연산이 행해지는데 관련하여 이하 「채널 동기동작」 기능을 설명한다.
「채널 동기동작」 이란, 인접한 다수의 악음발생 채널에서 동일한 음고의 악음을 자동적으로 동시에 발음제어하는 기능이다. 이 기능을 위해 채널동기 동작 플래그(RBP)가 사용된다. 이 플래그(RBP)는 각 채널마다에 형성되어 있으며, 예를 들면 채널 1의 플래그(RBP)가 「0」 이고, 그 옆의 채널 2 및 채널 3의 플래그(RBP)가 각각 「1」 인 경우, 채널 2 및 3에서는 채널 1에 할당되어 있는 악음과 같은 음고의 악음을 채널 1의 키 온 타이밍(발음타이밍)과 같은 타이밍에서 자동적으로 발음하도록 제어된다. 이 채널 동기동작 플래그(RBP)는 음색설정 또는 선택조작 혹은 조작자부(OPS)에 있어서의 선택조작 등에 따라 마이크로 컴퓨터부(COM)로부터 각 채널마다에 인가된다.
따라서, 스텝S0의 처리에 있어서 현재처리중인 당해 채널(이 채널번호를 n으로 표시한다)의 채널 동기동작 플래그(RBP)가 「0」 이면 변조부(12)에 공급하는 음고주파수 넘버(FNUM)로서 당해 채널 n에 할당되어 있는 악음음고를 나타낸 음고주파수 넘버(FNUMn)를 인가하도록 한다. 그 경우에는 DSP2에 있어서의 엔벨로프 발생을 포함하고, 키 온/오프에 관련된 각종 처리는 당해 채널 n에 할당되어 있는 악음의 키 온 신호(KON)(즉 KONn)에 의거해서 행하도록 한다.
한편, 스텝S0의 처리에 있어서 현재 처리중인 당해 채널n의 채널 동기동작 플래그(RBP)가 「1」 이면 변조부(12)에 공급하는 음고주파수 넘버(FNUM)로서 당해 채널n의 하나 전의 채널 n-1(예를 들면 n=2이면 n-1=1)에 할당되어 있는 악음의 음고를 나타낸 음고주파수 넘버(FNUMn-1)를 주도록 한다. 그 경우에는 DSP2에 있어서의 엔벨로프 발생을 포함하여 키 온/오프에 관련된 각종 처리는 당해 하나 앞의 채널 n-1에 할당되어 있는 악음의 키 온신호(KON)(즉 KONn-1)에 의거해서 행하도록 한다.
또, 채널번호는 1을 최소라고 하고, n=1일 때에는 당해 채널 n=1의 채널 동기동작 플래그(RBP)의 값과는 관계없이 자기 채널의 음고주파수 넘버(FNUMn)와 키 온 신호(KON)(즉 KONn)를 사용하기로 한다.
따라서, 플래그(RBP)가 「1」 일 때에는 인접한 채널 n과 채널 n-1(채널 n-1에서도 RBP의 데이터가 「1」 일 때에는 RBP의 데이터가 「0」 인 번호가 가장 작은 채널까지의 인접한 모든 채널)에서 동일한 음고와 발음개시 타이밍에 의해 동기하여 악음파형 합성처리가 행해진다. 일예로, 채널 1의 플래그(RBP)가 「0」 이고, 채널 2, 3, 4의 플래그(RBF)가 각각 「1」 이고, 이하 채널 5부터 채널18까지의 플래그(RBP)가 각각 「0」, 「1」, 「1」, 「1」, 「0」, 「1」, 「1」, 「1」, 「1」, 「0」, 「0」, 「1」, 「0」, 「0」 일 경우에는 채널 1부터 4에서는 모두 채널 1에 할당된 악음과 같은 음고 및 발음개시 타이밍에서 동기하여 악음파형 합성처리가 행해지며, 채널 5 내지 8에서는 모두 채널 5에 할당된 악음과 같은 음고 및 발음개시 타이밍에서 동기하여 악음파형 합성처리가 행해지고, 채널 9 내지 13에서는 모두 채널 9에 할당된 악음과 같은 음고 및 발음개시 타이밍에서 동기하여 악음파형 합성처리가 행해지며, 채널 14에서는 상기 채널 14에 할당된 악음의 음고와 발음개시 타이밍에서 독립적으로 악음파형 합성처리가 행해지고, 채널 15 및 16에서는 채널 15에 할당된 악음과 같은 음고 및 발음개시 타이밍에서 동기하여 악음파형 합성처리가 행해지며, 채널 17 및 18에서는 각각의 채널에 할당된 악음의 음고와 발음개시 타이밍에서 독립적으로 악음파형 합성처리가 행해진다.
이와 같이, 인접한 다수의 채널에서 동일한 음고와 동일한 키 온 타이밍에 의거해서 악음파형 합성처리를 행함으로써, 악음의 음고는 동일하지만 각 채널마다에 독립된 포먼트 주파수 넘버(FORM)의 데이터에 따른 서로 다른 포먼트 중심주파수에서 포먼트음을 각각 합성하고, 또 그들 포먼트음의 발음 타이밍은 완전히 동기하므로, 서로 동기하고 있는 각 채널의 악음(포먼트음)은 외관상 하나의 악음신호로서 청취되어 결국 다수의 다른 포인트성분으로 이루어진 다봉 채널특성의 악음을 얻을 수 있게 된다.
(2) 스텝S2에 있어서의 DSP1의 동작
스텝S2에서는 포먼트음 2계열의 중심주파수 위상데이터(PGf1)(PGf2)를 작성하기 위해 사용되는 포먼트주파수 넘버(FORM)의 값을 변조하기 위한 연산을 연산기(ALU1)(제5도)를 이용해서 행한다.
제9(a)(b)도에 나타낸 바와 같이, 스텝S2에서는 연산기(ALU1)의 A입력으로서포먼트주파수 넘버(FORM)에 상당하는 위상증분치 데이터가 입력되면, 연산기(ALU1)의 B입력으로서 어태크 그라이드 데이터(AG)가 입력되는 상태로 설정된다.
상세하게는 제5도에서 변조부(12)에 대한 입력파라미터로서 포먼트주파수 넘버(FORM)와, 포먼트음 중심주파수 변조용 파라미터(DFM)(FOM)가 인가되고, 또 셀렉터(10)에서는 리니어 로그변환기(13)로부터의 출력을 선택하는 상태가 된다. 이에 따라, 주파수변조제어된 포먼트주파수 넘버(FORM)를 대수치로 변환한 데이터가 리니어 로그변환기(13)로부터 출력되고, 이것이 셀렉터(10)에서 선택되어 로그 리니어변환/시프트기(14) 및 지연회로(15)를 통해 연산기(ALU1)이 A입력에 입력된다. 또한, 이 스텝S2에서는 콘트롤러(23)의 제어에 의해 로그 리니어변환/시프트기(14) 및 로그 리니어변환/시프트/± 기(16)에서는 변환 또는 시프트동작의 어느쪽도 행하지 않고 입력데이터를 그대로 통과시킨다.
한편, DSP2의 RAM2로부터 판독된 출력데이터#RAM2로서 대응하는 채널의 대수표현의 어태크 그라이드 데이터(AG)가 셀렉터(11)에 입력되며, 이것이 셀렉터(11)에서 선택되어 로그 리니어변환/시프트/± 기(16) 및 지연회로(17)를 통해 연산기(ALU1)의 B입력에 입력된다.
따라서, 대수표현으로 이루어진 주파수변호제어된 포먼트주파수 넘버(FORM)와 어태크 그라이드 데이터(AG)가 연산기(ALU1)에서 가산된다. 이에 따라 진수의 레벨에서는 주파수변조제어된 포먼트주파수 넘버(FORM)에 어태크 그라이드 데이터(AG)를 곱하고, 어태크 그라이드변조를 하기 위한 연산처리를 하게 된다.
이와 같이 해서, 스텝S2에서는 포먼트주파수 넘버(FORM)의 짧을 변조하기 위한 연산이 행해지고, 변조된 포먼트주파수 넘버(FORM)가 대수치로 구해진다. 이 변조된 포먼트주파수 넘버(FORM)는 각 지연회로(15)(17)(18)(19)에 의해 통산 3클록의 지연중 후술하는 스텝S5의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐 출력 데이터#1로서 출력된다.
스텝S2에 있어서 이상의 연산처리를 제10도의 연산기능 전개도를 따라 정리하면, 제10도에서는 변조데이터 발생기(12d)(S2), 앤드게이트(12e)(S2) 및 가산기(12f)(S2)가 변조부(12)(제5도)에 대응하고 있으며, 주파수변조깊이 및 속도 파라미터(DFM)에 따른 깊이와 속도를 가진 주기적인 주파수변조 데이터가 변조데이터 발생기(12d)(S2)로부터 발생되고, 앤드게이트(12e)(S2)에 입력된다. 앤드게이트(12e)(S2)는 주파수변조 온/오프 파라미터(FOM)가 주파수변조 온을 지정할 때 가능해지고, 상기 주기적인 주파수변조 데이터를 출력한다. 앤드게이트(12e)(S2)로부터 출력된 주파수변조 데이터가 가산기(12f)(S2)에서 포먼트주파수 넘버(FORM)에 가산되고, 포먼트주파수 넘버(FORM)를 주파수 변조한 데이터가 출력된다. 이 가산기(12f)(S2)의 출력이 리니어 로그변환기(13)(S2)에서 대수치로 변환되고, 연산기(ALU1)(S2)에서 어태크 그라이드 데이터(AG)와 가산된다.
(3) 스텝S3에 있어서 DSP1의 동작
제9(a)(b)도에 나타낸 바와 같이, 스텝S3에서는 연산기(ALU1)의 A입력으로 데이터#1이 입력되고, 연산기(ALU1)의 B입력으로서 값 「0」 을 나타낸 데이터가 입력된 상태로 설정된다.
상세하게는 제5도에 있어서 셀렉터(10)에서는 데이터#1을 선택하는 상태가되며, 셀렉터(11)에서는 값 「0」 을 나타낸 데이터를 선택하는 상태가 된다. 데이터#1으로서는 스텝S0에서 변조가 끝난 음고주파수 넘버(FNUM)(대수치)가 3클록 지연된 이 스텝S3의 타이밍에서 인가된다(제9(c)도). 또한, 스텝S3에서는 콘트롤러(23)의 제어에 의해 로그 리니어변환/시프트기(14)는 셀렉터(10)로부터 출력되는 변조가 끝난 음고주파수 넘버(FNUM)의 대수치를 진수로 변환하지만, 로그 리니어변환/시프트/± 기(16)에서는 변환 또는 시프트 동작의 어느쪽도 행하지 않고, 셀렉터(11)로부터 출력되는 「0」 데이터를 그대로 통과시킨다. 따라서, 진수로 변환된 변조가 끝난 음고주파수 넘버(FNUM)와 「0」 이 연산기(ALU1)에서 가산되게 되지만, 이것은 단 진수치로 이루어진 음고주파수 넘버(FNUM)를 통과시키고 있는 것 뿐임을 의미한다.
이와 같이 해서, 스텝S3에서는 대수표현으로 이루어진 변조가 끝난 음고 주파수 넘버(FNUM)를 진수로 변환하기 위한 연산이 행해진다. 이렇게 해서 변환된 음고주파수 넘버(FNUM)의 진수치는 각 지연회로(15)(17)(18)(19)에 의한 통산 3클록의 지연중 후술하는 스텝S6의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐 레지스터 (REG1)에 기입된다.
스텝S3에 있어서의 상기 연산처리를 제10도의 연산기능 전개도로 나타내면, 제10도에서는 로그 리니어 변환기(14)(S3)가 스텝S3에 있어서의 로그 리니어변환/시프트기(14)(제5도)에 의한 연산기능에 대응하고 있으며, 스텝S0에서 실행된 연산기(ALU1)(S0)에 있어서의 연산결과, 즉 변조가 끝난 음고주파수 넘버(FNUM)가 로그 리니어 변환기(14)(S3)에 입력되어 진수로 변환된다.
(4) 스텝S4에 있어서의 DSP1의 동작
스텝S4에서는 무성 포먼트음의 중심주파수 위상데이터(PGu)를 작성하기 위해 사용되는 무성포먼트 주파수 넘버(UFORM)의 값을 변조하기 위한 연산을 연산기(ALU1)(제5도)를 이용해서 행한다.
제9(a)도, 제9(b)도에 나타낸 바와 같이, 스텝S4에서는 연산기(ALU1)의 A입력으로서 무성포먼트주파수 넘버(UFORM)에 상당하는 위상증분치 태이터가 입력되고, 연산기(ALU1)의 B입력으로서 어태크 그라이드 데이터(AGu)가 입력된 상태로 설정된다.
상세하게는 제5도에 있어서, 변조부(12)에 대한 입력파라미터로서 무성포먼트 주파수 넘버(UFORM)와, 무성포먼트음 중심주파수 변조용 파라미터(UDFM)(UFOM)가 인가되고, 또 셀렉터(10)에서는 리니어 로그변환기(13)로부터의 출력을 선택하는 상태가 된다. 이에 따라, 주파수변조제어된 무성포먼트주파수넘버(UFORM)를 대수치로 변환한 데이터가 리니어 로그변환기(13)로부터 출력되고, 이것이 셀렉터(10)에서 선택되고, 로그 리니어변환/시프트기(14) 및 지연회로(15)를 통해 연산기(ALU1)의 A입력에 입력된다. 또, 이 스텝S4에서는 콘트롤러(23)의 제어에 의해 로그 리니어변환/시프트기(14) 및 로그 리니어변환/시프트/± 기(16)에서는 변환 또는 시프트동작의 어느쪽도 행하지 않고 입력레이터를 그대로 통과시킨다.
한편, DSP2의 RAM2로부터 판독된 출력데이터#RAM2로서, 대응하는 채널의 대수표현의 어태크 그라이드 데이터(AGu)가 셀렉터(11)에 입력되고, 이것이 셀렉터(11)에서 선택되어 로그 리니어변환/시프트/± 기(16) 및 지연회로(17)를 통해 연산기(ALU1)의 B입력에 입력된다.
따라서, 대수표현으로 이루어진 주파수변조제어된 무성포먼트주파수 넘버(UFORM)와 어태크 그라이드 데이터(AGu)가 연산기(ALU1)에서 가산된다. 이에따라, 진수의 레벨에서는 주파수변조제어된 무성포먼트주파수 넘버(UFORM)에 어태크 그라이드 데이터(AGu)를 곱하여 어태크 그라이드변조를 하기 위한 연산처리를 하게 된다.
이렇게 해서 스텝S4에서는 무성포먼트주파수 넘버(UFORM)의 값을 변조하기 위한 연산이 행해지고, 변조된 무성포먼트 주파수 넘버(UFORM)가 대수치로서 구해진다. 이 변조된 무성포먼트 주파수 넘버(UFORM)는 각 지연회로(15)(17)(18)(19)에 의한 통산 3클록의 지연중 후술하는 스텝S7의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐 출력데이터#1로서 출력된다.
제10도의 연산기능 전개도에서는 변조데이터 발생기(12g)(S4), 앤드게이트(12h)(S4) 및 가산기(12i)(S4)가 변조부(12)(제5도)에 대응하고 있으며, 주파수변조 깊이 및 속도 파라미터(UDFM)에 따른 깊이와 속도를 가진 주기적인 주파수변조 데이터가 변조데이터 발생기(12g)(S4)로부터 발생되고, 앤드게이트(12h)(S4)에 입력된다. 앤드게이트(12h)(S4)는 주파수변조 온/오프 파라미터(UFOM)가 주파수변조 온을 지정할 때 가능해지고, 상기 주기적인 주파수변조 데이터를 출력한다. 앤드게이트(12h)(S4)로부터 출력된 주파수변조 데이터가 가산기(12i)(S4)에서 무성포먼트 주파수 넘버(UFORM)에 가산되어 무성포먼트 주파수 넘버(UFORM)를 주파수 변조한 데이터가 출력된다. 이 가산기(12i)(S4)의 출력이 리니어 로그변환기(13)(S4)에서 대수치로 변환되고, 연산기(ALU1)(S4)에서 어태크 그라이드 데이터(AGu)와 가산된다.
(5) 스텝S5에 있어서의 DSP1의 동작
제9(a)도, 제9(b)도에 나타낸 바와 같이, 스텝S5에서는 연산기(ALU1)의 A입력으로서 데이터#1이 입력되고, 연산기(ALU1)의 B입력으로서 값 「0」 을 나타내는 데이터가 입력된 상태로 설정된다.
상세하게는 제5도에 있어서, 데이터#1로서 스텝S2에서 변조가 끝난 포먼트주파수 넘버(FORM)(대수치)가 인가되고, 또 셀렉터(10)에서는 이 데이터#1을 선택하는 상태가 된다. 또, 이 스텝S5에서는 콘트롤러(23)의 제어에 의해 로그 리니어변환/시프트기(14)는 이 대수치를 진수로 변환하지만, 로그 리니어변환/시프트/± 기(16)에서는 변환 또는 시프트동작의 여느쪽도 행하지 않고 입력데이터를 그대로 통과시킨다.
한편, 값 「0」 을 나타낸 데이터가 셀렉터(11)에 입력되며, 이것이 셀렉터(11)에서 선택되고, 로그 리니어변환/시프트/± 기(16) 및 지연회로(17)를 통해 연산기(ALU1)의 B입력에 입력된다.
따라서, 진수로 변환된 변조가 끝난 포먼트주파수 넘버(FORM)와 「0」 이 연산기 (ALU1)에서 가산된다.
이와 같이 해서, 스텝S5에서는 변조가 끝난 포먼트주파수 넘버(FORM)를 진수로 변환하기 위한 연산이 행해진다. 이 변조가 끝난 음고주파수 넘버(FNUM)의 진수치는 각 지연회로(15)(17)(18)(19)에 의한 통산 3클록의 지연중 후술하는 스텝S8의타이밍에서 아웃풋 콘트롤러(20)를 거쳐 레지스터(REG1)에 기입된다.
제10도의 연산기능 전개도에서는 로그 리니어 변환기(14)(S5)가 로그 리니어변환/시프트기(14)(제5도)에 대응하고 있으며, 연산기(ALU1)(S2)로부터 출력된 변조가 끝난 포먼트 주파수 넘버(FORM)가 로그 리니어 변환기(14)(S5)에 입력되어 진수로 변환되는 것이 도시되어 있다.
(6) 스텝S6에 있어서의 DSP1의 동작
스텝S6에서는 2계열의 음고주파수 위상데이터(PGp1)(PSp2)를 작성하기 위해 사용되는 음고주파수 넘버(FNUM)의 값을 소정 배수의 크기로 하기 위한 연산을 연산기(ALU1)(제5도)를 이용해서 행한다.
이 스텝S6에서는 스텝S3의 처리에 의해 진수치로 변환된 음고주파수 넘버(FNUM)가 3클록 지연되어 레지스터(REG1)의 입력에 인가되고, 이것이 제9(d)도에 나타낸 바와 같이 레지스터(REG1)에 받아들여져서 기억된다. 레지스터(REG1)의 출력데이터#REG1에는 기입입력과의 사이에서 시간지연이 없도록 하여 받아들인 진수치의 음고주파수 넘버(FNUM)가 데이터#REG1으로서 바로 출력된다.
제9(a)(b)도에 나타낸 바와 같이, 스텝S6에서는 연산기(ALU1)의 A입력 및 B입력으로서 데이터#REG1를 처리한 데이터가 입력된 상태로 설정된다. 즉, 제5도에 있어서 데이터#REG1로서 스텝S3에서 진수로 변환된 음고주파수 넘버(FNUM)가 셀렉터(10)(11)에 인가되고, 또 셀렉터(10)(11)에서는 이 데이터#REG1을 선택하는 상태가 된다.
한편, 이 스텝S6에서는 주파수배수 파라미터(MULT1)가 셀렉터(22)를 통해 콘트롤러(23)에 인가되며, 상기 파라미터에 의거한 콘트롤러(23)의 제어에 의해 로그 리니어변환/시프트기(14)에서는 소정 자리수 만큼의 시프트동작(이 자리수에 대해서는 조금 후에 설명한다)을 행하고, 로그 리니어변환/시프트/± 기(16)에서는 소정 자리수 만큼의 시프트동작(이 자리수에 대해서도 조금 후에 설명한다) 및 플러스· 마이너스부호의 반전동작을 행한다(통상, 주파수 넘버의 플러스 부호를 마이너스부호로 반전한다). 또한, 이 플러스· 마이너스부호의 반전동작은 연산기(ALU1)를 인산기로서 기능시키기 위한 처리이다.
따라서, 소정 자리수 시프트한 음고주파수 넘버(FNUM)로부터 소정자리수 시프트한 음고주파수 넘버(FNUM)가 연산기(ALU1)에서 감산된다. 여기서, 이들 자리수는 이 감산결과가 최초의 음고주파수 넘버(FNUM) 값보다 파라미터(MULT1)가 나타낸 배수만큼 커지도록 설정된다. 예를 들면, 파라미터(MULT1)가 나타낸 배수가 「3」 인 경우에는 로그 리니어 변환/시프트기(14)에 있어서의 소정 시프트 자리수를 「2」 로 하고, 로그 리니어변환/시프트/± 부호기(16)에 있어서의 소정 시프트 자리수를 「0」 으로 한다. 이에 따라, 2비트 시프트업함으로써 4배만큼 커진 음고주파수 넘버(FNUM)에, 시프트하지는 않지만 부호가 마이너스로 반전된 음고주파수 넘버(FNUM)를 가산함으로써 「4×FNUM-FNUM=3×FNUM」의 뺄셈이 행해지게 되며, 그 결과 최초의 음고주파수 넘버(FNUM)의 값보다 3배만큼 커진 음고주파수 넘버 데이터를 구할 수 있다. 이와 같이, 파라미터(MULT1)가 나타낸 배수에 대해 2계열에서 각각 소정의 시프트수의 시프트연산(2의 n승연산)을 하는 것과 뺄셈을 조합함으로써 합계가 2의 n승배 이외의 임의의 배수(예를 들면, 3배, 5배, 6배, 7배 등)의 연산을 할 수 있다.
이 스텝S6에서 소망 배수의 크기로 변경된 음고주파수 넘버(FNUM) 데이터는 각 지연회로(15)(17)(18)(19)에 의한 통산 3클록 지연후, 후술하는 스텝S9의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐 레지스터(REG1)에 기입된다.
이 스텝S6에 대응하는 연산기는 전개도는 제10도에서는 로그 리니어변환기(14)(S3)에 이어진 경로에 도시되어 있으며, 거기에 도시된 시프터(14)(S6)가 로그 리니어변환/시프트기(14)(제5도)에 대응하고, 시프터(16a)(S6) 및 반전회로(16b)(S6)가 로그 리니어변환/시프트/± 기(16)(제5도)에 대응하고 있으며, 시프트 콘트롤러(23)(S6)는 콘트롤러(23)(제5도)에 대응하고 있다. 즉, 스텝S3에 있어서의 로그 리니어 변환기(14)(S3)에 의한 처리에 의해 진수치로 변환된 음고주파수 넘버(FNUM)(진수치)가 스텝S6에서는 시프터(14)(S6) 및 (16a)(S6)에 입력된다. 이 시프터(14)(S6) 및 (16a)(S6)는 파라미터(MULT1)에 따른 시프트 콘트롤러(23)(S6)의 제어하에 음고주파수 넘버(FNUM)를 상술한 바와 같이 각각 소정 자리수 만큼 시프트한다. 시프터(16a)(S6)의 출력은 파라미터(MULT1)에 따른 시프트 콘트롤러(23)(S6)의 제어하에 반전회로(16b)에서 플러스· 마이너스의 부호를 반전시켜 마이너스의 값이 된다. 그리고, 시프터(14)(S6)의 출력과 반전회로(16b)(S6)의 출력이 연산기(ALU1)(S6)에서 가산된다.
(7) 스텝S7에 있어서의 DSP1의 동작
스텝S7에서는 변조한 무성포먼트 주파수 넘버(UFORM)를 누산하여 순차적으로변화하는 프로그레시브 위상데이터(PGu)를 작성하는 연산을 연산기(ALU1)(제5도)를 이용하여 행한다.
제9(a),(b)도에 나타낸 바와 같이, 스텝S7에서는 연산기(ALU1)의 A입력으로서 데이터#1이 입력되고, 연산기(ALU1)의 B입력으로서 전회 사이클에서 요구된 위상데이터(PGu)가 입력된 상태로 설정된다.
상세하게는 제5도에 있어서, 스텝S4에서 처리된 무성포먼트 주파수 넘버(UFORM)(대수치)가 3클록 지연되어 스텝S7에서 데이터#1으로서 출력되며, 또 셀렉터(10)에서는 이 데이터#1을 선택한 상태가 된다. 또, 이 스텝S7에서는 콘트롤러(23)의 제어에 의해 로그 리니어변환/시프트기(14)는 이 대수치를 진수로 변환하지만, 로그 리니어변환/시프트/± 기(16)에서는 변환 또는 시프트 동작의 어느쪽도 행하지 않고, 입력데이터를 그대로 통과시킨다.
한편, 이 스텝S7에서는 RAM1으로부터 대응하는 채널의 위상데이터(PGu)가 판독되고, 출력데이터#RAM1으로서 셀렉터(11)에 입력된다. 또한, 셀렉터(11)에서는 이 RAM 판독데이터#RAM1을 선택하는 상태로 설정된다. 이 데이터#RAM1, 즉 노이즈 신호용 프로그레시브 위상데이터(PGu)는 로그 리니어변환/시프트/± 기(16) 및 지연회로(17)를 통과하여 연산기(ALU1)의 B입력에 입력된다. 이렇게 해서 연산기(ALU1)에서는 무성포먼트 주파수 넘버(UFORM)(진수치)가 RAM1으로부터 판독된 프로그레시브 위상데이터(PGu)에 가산된다. 이 가산결과는 각 지연회로(15)(17)(18)(19)(24)에 의한 통산 4클록의 지연중 후술하는 스텝S11의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐 RAM1의 위상데이터(PGu)의 기억영역에 기억된다. 이와 같이 해서, 스텝S7에서는 무성포먼트 주파수 넘버(UFORM)가 각 사이클마다 누산되고, 그 누산결과로 위상데이터(PGu)가 생성되어 RAM1에 기억된다.
이 스텝S7에 대응하는 누산기능 전개도는 제10도에서는 연산기(ALU1)(S4)에 이어진 경로에 표시되어 있으며, 거기에 표시된 로그 리니어 변환기(14)(S7)가 로그 리니어변환/시프트기(14)(제5도)에 대응하며, 위상발생기(ALU1 & RAM1)(S7)가 연산기(ALU1)와 (RAM1)(제5도)에 대응하고 있다. 스텝S4에 있어서의 연산기(ALU1)(S4)의 연산에 의해 구해진 무성포먼트 주파수 넘버(UFORM)(대수치)가 로그 리니어 변환기(14)(S7)에 입력되어 진수로 변환된 후, 위상발생기(ALU1 & RAM1(S7)에서 누산되어 위상데이터(PGu)가 작성된다.
(8) 스텝S8에 있어서의 DSP의 동작
게9(a),(b)도에 나타낸 바와 같이, 스텝S8에서는 연산기(ALU1)이 A입력으로서 데이터#REG1이 입력되고, 연산기(ALU1)의 B입력으로서 값 「0」 을 나타내는 데이터가 입력된 상태로 설정된다.
상세하게는 제5도에 있어서 스텝S5에서 진수로 변환된 변조가 끝난 포먼트 주파수 넘버(FORM)가 3클록 지연되어 이 스텝S8에서 레지스터(REG1)에 받아들여지며(제9(d)도 참조), 또 데이터#REG1)로서 레지스터(REG1)로부터 출력된다. 셀렉터(10)에서는 이 데이터#REG1를 선택하는 상태가 되고, 셀렉터(11)에서는 「0」 을 선택한다. 또, 콘트롤러(23)의 제어에 의해 로그 리니어변환/시프트기(14) 및 로그 리니어변환/시프트/± 기(16)에서는 변환 또는 시프트 동작의 어느쪽도 행하지 않고, 입력데이터를 그대로 통과시킨다. 따라서, 진수치로 이루어진 포먼트주파수 넘버(FORM)가 연산기(ALU1)를 통과할 뿐이다.
연산기(ALU1)로부터 출력된 포먼트 주파수 넘버(FORM)는 각 지연회로(15)(17)(18)(19)에 의해 통산 3클록의 지연중 후술하는 스텝S11의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐 레지스터(REG1)에 기입된다.
이 스텝S8에서는 스텝S11 이후의 타이밍에 있어서 데이터#REG1의 내용을 변조가 끝난 포먼트 주파수 넘버(FORM)(진수치)로 하기 위한 처리를 할 뿐이므로, 특별히 제10도에는 도시하지 않았다.
(9) 스텝S9에 있어서의 DSP1의 동작
스텝S9에서는 스텝S6에서 소정 배수의 크기로 한 음고주파수 넘버(FNUM)의 데이터를 이용하여 1계열의 음고주파수 위상데이터(PGp1)를 작성하는 연산을 연산기(ALU1)(제5도)를 이용해서 행한다.
제9(a),(b)도에 나타낸 바와 같이, 스텝S9에서는 연산기(ALU1)의 A입력으로서 데이터#REG1이 입력되며, 연산기(ALU1)의 B입력으로서 1계열째의 음고주파수 위상데이터(PGp1)가 입력된 상태로 설정된다.
상세하게는 제5도에 있어서, 스텝S6에서 처리한 음고주파수 넘버(FNUM)가 3클록 지연되어 이 스텝S9에서 레지스터(REG1)에 받아들여지며(제9(d)도 참조), 또 데이터#REG1으로서 레지스터(REG1)에서 출력된다. 셀렉터(10)에서는 이 데이터#REG1를 선택하는 상태로 된다. 또, 이 스텝S9에서는 콘트롤러(23)의 제어에 의해 로그 리니어변환/시프트기(14)에서는 이 음고주파수 넘버 데이터를 1비트 시프트 다운하지만(그 이유는 나중에 설명한다), 로그 리니어변환/시프트/± 기(16)에서는 변환 또는 시프트 동작의 어느쪽도 행하지 않고, 입력데이터를 그대로 통과시킨다.
한편, 이 스텝S9에서는 RAM으로부터 대응하는 채널의 위상데터(PGp1)가 판독되고, 출력데이터#RAM1으로서 셀렉터(11)에 입력된다. 또한, 셀렉터(11)에서는 이 RAM 판독데이터#RAM1을 선택하는 상태로 설정된다. 이 데이터#RAM1 즉 음고주파수용 프로그레시브 위상데이터(PGp1)는 로그 리니어변환/시프트/± 기(16) 및 지연회로(17)를 통과하여 연산기(ALU1)의 B입력에 입력된다.
따라서, 1비트 시프트 다운한 상기 음고주파수 넘버 데이터와, RAM1으로부터 판독된 위상데이터(PGp1)가 연산기(ALU1)에서 가산된다. 또, 로그 리니어변환/시프트기(14)에서 음고주파수 넘버 데이터를 1비트 시프트 다운한 것은 이 포먼트음 합성방식에 의한 파형합성동작의 설명 모두에서 설명한 바와 같이, 2계열의 포먼트음 파형을 가산함으로써 최종적인 포먼트음 파형을 얻도록 하고 있으므로, 각 계열의 음고주파수 위상데이터를 본래 크기의 2분의 1 크기로 해 두기 위함이다.
그리하여 연산기(ALU1)에서는 음고주파수 넘버의 1/2 값이 RAM1으로부터 판독된 프로그레시브 위상데이터(PGp1)에 가산된다. 이 가산결과는 각 지연회로(15)(17)(18)(19)(24)에 의한 통산 4클록의 지연중 후술하는 스텝S13이 타이밍에서 아웃풋 콘트롤러(20)를 거쳐 RAM1 위상데이터(PGp1)의 기억영역에 기억된다. 이와 같이 해서 스텝S9에서는 변조된 음고주파수 넘버(FNUM)의 값을 소정의 몇배 크기로 해서 얻은 음고수파주 넘버 데이터의 1/2 값이 각 사이클마다 누산되고, 그 누산결과로서 1계열째의 음고주파수 위상데이터(PGp1)가 얻어진다. 또, 전자악기의 연주조작자의 키 온(즉, 악음발음개시시)시에는 이 위상데이터(PGp1)는 아웃풋 콘트롤러(20)에 의해 소정치(예를 들면 「0」 )로 초기설정된다. 이렇게 작성된 1계열째의 음고주파수 위상데이터(PGp1)의 값 변화의 일예를 제11(a)도에 나타낸다.
이 스텝S9에 대응하는 연산기능 전개도는 제10도에서는 연산기(ALU1)(S6)에 이어진 경로에 나타나 있듯이, 거기에 나타난 위상발생기(ALU1 & RAM1(S9,S10))가 연산기 ALU1와 RAM1(제5도)에 대응하고 있다, 스텝S6에 있어서 연산기(ALU1)(S6)의 연산에 의해 얻어진 음고주파수 넘버 데이터가 위상발생기(ALU1 & RAM1(S9))에서 누산되어 음고주파수 위상데이터(PGp1)가 작성된다.
(10) 스텝S10에 있어서의 DSP1의 동작
스텝S10에서는 스텝S6에서 소정의 몇배의 크기로 한 음고주파수 넘버(FNUM)의 데이터를 이용해서 2계열째의 음고주파수 위상데이터(PGp2)를 작성하는 연산을 연산기(ALU1)(제5도)를 이용해서 행한다.
제9(a)(b)도에 나타낸 바와 같이, 스텝S10에서는 연산기(ALU1)의 A입력으로 데이터#REG1이 입력되고, 연산기(ALU1)의 B입력으로서 2계열째의 음고주파수 위상데이터(PGp2)가 입력된 상태로 설정된다.
상세하게는 제5도에 있어서 데이터#REG1로서 스텝S9에서와 같은 음고주파수 넘버 데이터가 인가되며, 또 셀렉터(10)에서는 이 데이터#REG1를 선택한 상태가 된다. 또, 이 스텝S10에서도 콘트롤러(23)의 제어에 의해 로그 리니어변환/시프트기(14)에서는 이 음고주파수 넘버 데이터를 1비트 시프트 다운하지만(그 이유는 스텝S9에서 설명한 바와 같다), 로그 리니어변환/시프트/± 기(16)에서는 변환 또는 시프트 동작의 어느쪽도 행하지 않고, 입력데이터를 그대로 통과시킨다.
한편, 이 스텝S10에서는 RAM1으로부터 대응하는 채널의 위상데이터(PGp2)가 판독되고, 출력데이터#RAM1으로서 셀렉터(11)에 입력되며, 이것이 셀렉터(11)에서 선택되어 로그 리니어변환/시프트/± 기(16) 및 지연회로(17)를 통해 연산기(ALU1)의 B입력에 입력된다. 따라서, 1비트 시프트 다운한 상기 음고주파수 넘버 데이터와, RAM1으로부터 판독된 위상데이터(PGp2)가 연산기(ALU1)에서 가산된다. 이 가산결과는 각 지연회의(15)(17)(18)(19)(24)에 의한 통산 4클록의 지연중 후술하는 스텝S14의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐 RAM1의 위상데이터(PGp2)의 기억영역에 기억된다.
이와 같이 해서, 스텝S10에서는 변조한 음고주파수 넘버(JNUM)의 값을 소정 몇배의 크기로 하여 얻은 음고주파수 넘버 데이터의 1/2 값이 각 사이클마다 누산되고, 그 누산결과로서 2계열째의 음고주파수 위상데이터(PGp2)가 얻어진다. 또, 전자악기의 연주조작자의 키 온시에는 이 위상데이터(PGp2)는 아웃풋 콘트롤러(20)에 의해 상기 위상데이터(PGp1)의 초기치에 대해 180도 위상이 편의된 값(즉, 위상데이터(PGpl)의 초기치가 「0」 일 때에는 최대위상치의 반분의 값 즉 180도 또는 π 에 대응하는 값)으로 초기설정된다. 이와 같이 해서 작성된 2계열째의 음고주파수 위상데이터(PGp2)의 일예를 제17(b)도에 나타냈다. 이 도면에도 나타나 있듯이 1계열째의 음고주파수 위상데이터(PGp1)와 2계열째의 음고주파수 위상데이터(PGp2)는 초기설정이 최대위상치의 반분만 편의됨으로써 상호 반주기 만큼 편의되어 발생한다.
이 스텝S10에 대응하는 연산기능 전개도는 스텝S9와 마찬가지로 제10도에서는 연산기(ALU1)(S6)에 이어진 경로에 나타나 있듯이, 거기에 나타난 위상발생기 ALU1 & RAM1(S9,S10)이 연산기(ALU1)와 RAM1(제5도)에 대응하고 있다. 스텝 S6에 있어서 연산기(ALU1)(S6)의 연산에 의해 얻어진 음고주파수 넘버 데이터가 위상발생기 ALU1 & RAM1(S10)에서 누산되어 음고주파수 위상데이터(PGp2)가 작성된다.
(11) 스텝S13에 있어서의 DSP1의 동작
스텝S11, 12는 「믹싱연산」 을 행하는 스텝이므로, 상세한 것은 DSP4의 동작 설명후에 설명하기로 하고, 스텝S13의 설명으로 넘어간다.
스텝S8에서 처리된 진수표현으로 이루어진 변조가 끝난 포먼트 주파수넘버(FORM)는 3클록후의 스텝S11에서 레지스터(REG1)의 입력에 인가되어 상기 레지스터(REG1)에 받아들여진다(제9(d)도 참조).
스텝S13에서는 레지스터(REG1)에 기억되어 있어 레지스터(REG1)로서 출력되는 상기 포먼트주파수 넘버(FORM)를 누산함으로써 1계열째의 중심주파수 위상데이터(PGf1)를 작성하는 연산을 연산기(ALU1)(제5도)를 이용해서 행한다.
제9(a)(b)도에 나타낸 바와 같이, 스텝S13에서는 연산기(ALU1)의 A입력으로서 데이터#REG1이 입력되고, 연산기(ALU1)의 B입력으로서 1계열째의 중심주파수 위상데이터(PGf1)가 입력된 상태로 설정된다.
상세하게는 제5도에 있어서, 셀렉터(10)에서는 데이터#REG1를 선택하는 상태가 되며, 레지스터(REG1)로부터 출력되는 포먼트주파수 넘버(FORM)를 선택한다. 또한, 콘트롤러(23)의 제어에 의해 로그 리니어변환/시프트기(14) 및 로그 리니어변환/시프트/± 기(16)에서는 변환 또는 시프트 동작의 어느쪽도 행하지 않고, 입력데이터를 그대로 통과시킨다.
한편, RAM1으로부터는 대응하는 채널의 1계열째의 중심주파수 위상데이터(FGf1)가 판독되어 데이터#RAM1으로서 셀렉터(11)에 입력되고, 이것이 셀렉터(11)에서 선택되어 로그 리니어변환/시프트/± 기(16) 및 지연회로(17)를 통해 연산기(ALU1)의 B입력에 입력된다. 따라서, 연산기(AU1)에서는 포먼트 주파수 넘버(FORM)가 RAM1으로부터 판독된 위상데이터(PGf1)에 가산된다. 이 가산결과는 각 지연회로(15)(17)(18)(19)(24)에 의한 통산 4클록의 지연중 후술하는 스텝S17의 타이밍에서 아웃중 콘트롤러(20)를 거쳐 RAM1 위상데이터(PGf1)의 기억영역에 기억된다.
이와 같이 해서, 스텝S13에서는 포먼트 주파수 넘버(FORM)가 각 사이클마다 누산되어 1계열째의 중심주파수 위상데이터(PGf1)가 작성된다. 또, 이 위상데이터(PGf1)는 전자악기의 연주조작자의 키 온시에는 아웃풋 콘트롤러(20)에 의해 소정의 초기치(예를 들면 「0」 )으로 초기설정되며, 또 1계열째의 음고주파수 위상데이터(PGp1)의 오버 플로우시에도 아웃풋 콘트롤러(20)에 의해 소정 초기치(예를 들면 「0」 으로 리세트된다. 이와 같이 해서 작성된 1계열째의 중심주파수 위상데이터(PGf1)의 1예를 제17(c)도에 나타냈다.
이 스텝S13에 대응하는 연산기능 전개도는, 제10도에서는 로그리니어변환기(14)(S5)에 연결된 셀렉터(SEL1)의 경로에 도시되어 있다. 이 셀렉터(SEL1)는 DSP1의 제어신호 발생부(6)(제3도)의 처리기능에 대응하여 위상발생기 ALU1 & RAM1(S13,S16)이 연산기(ALU1)와 RAM1(제5도)에 대응하고 있다. 스텝S5의 처리에 의해 로그 리니어변환기(14)(S5)에서 진수치로 변환된 포먼트주파수 넘버(FORM)는 포먼트음 합성모드일 때 셀렉터(SEL1)에서 선택되어 위상연산을 위해 이용가능해지며, 위상발생기 ALU1 & RAM1(S13, S15)에서 누산되어 1계열째의 중심주파수 위상데이터(PGf1)가 작성된다.
(12) 스텝S14에 있어서 DSP1의 동작
스텝S14에서는 포먼트 대역폭(=윈도우함수 시간폭) 지정파라미터(BW)에 의거해서 1계열째의 윈도우함수 위상데이터(PGw1)를 작성하기 위한 누산연산을, 연산기(ALU1)(제5도)를 이용해서 행한다.
제9(a)(b)도에 나타낸 바와 같이, 스텝S14에서는 연산기(ALU1)의 A입력으로서 포먼트 대역폭 지정 파라미터(BW)에 의거한 윈도우함수 주파수 넘버(편의상 BW로 나타낸다)가 입력되며, 연산기(ALU1)의 B입력으로서 1계열째의 윈도우함수 위상데이터(PGw1)가 입력된 상태로 설정된다.
상세하게는 제5도에 있어서 셀렉터(10)에서는 어떤 데이터도 선택하지 않은 상태가 된다. 그리고, 포먼트 대역폭 지정 파라미터(BW)가 셀렉터(22)를 통해 콘트롤러(23)에 입력되고, 그것에 따른 콘트롤러(23)의 제어하에서 로그 리니어변환/시프트기(14)로부터 파라미터(BW)에 따른 윈도우함수 주파수 넘버가 출력된다. 한편, 대응하는 채널의 윈도우함수 위상데이터(PGw1)가 RAM1으로부터 판독되고, 이것이데이터#RAM1으로서 셀렉터(11)에 입력되고, 상기 셀린터(11)에서 선택되어 로그 리니어변환/시프트/± 기(16)를 그대로 통과하여 지연회로(17)를 통해 연산기(ALU1)의 B입력에 입력된다. 따라서, 상기 윈도우함수 주파수 넘버와 RAM1으로부터 판독된 위상데이터(PGw1)가 연산기(ALU1)에서 가산된다.
이 가산결과는 각 지연회로(15)(17)(18)(19)에 의한 통산 3클록의 지연중 후술하는 스텝S17의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐 출력데이터#1로서 출력된다. 또한, 이 윈도우함수 데이터(PGw1)는 전자악기의 연주조작자의 키온시에는 아웃풋 콘트롤러(20)에 의해 소정치(예를 들면 「0」 )로 초기설정되며, 또 1계열째의 음고주파수 위상데이터(PGp1)의 오버 플로우시에도 아웃풋 콘트롤러(20)에 의해 소정치(예를 들면 「0」 )으로 리세트된다.
스텝S14에 대응하는 연산기능 전개도는, 제10도에서는 윈도우함수 주파수 넘버 발생기(14)(S14,S15)의 경로에 나타나 있다. 윈도우함수 주파수 넘버 발생기(14)(S14,S15)는 제5도의 로그 리니어 변환기/시프트기(14)에 대응하고, 윈도우함수용 위상발생기 ALU1 & RAM1(S14,S15)이 연산기(ALU1)와 RAM1에 대응하고 있다.
(13) 스텝S15에 있어서 DSP1의 동작
스텝S15에서는 스텝S14일 때와 거의 마찬가지로 포먼트대역폭 지정파라미터(BW)에 의거해서 2계열째의 윈도우함수 위상데이터(PGw2)를 작성하는 연산을, 연산기(ALU1)(제5도)를 이용해서 행한다.
스텝S15의 처리가 스텝S14일 때와 다른 점은 RAM1으로부터는 대응하는 채널의 2계열째의 윈도우함수 위상데이터(PGw2)가 판독되어 데이터#RAM1으로서 셀렉터(11)에 입력되고, 이것이 셀렉터(11)에서 선택되는 점이다. 따라서, 연산기(ALU1)에서는 윈도우함수 주파수 넘버(BW)가 RAM1으로부터 판독된 위상데이터(PGw2)에 가산된다. 이 가산결과는 각 지연회로(15)(17)(18)(19)에 의한 통산 3 클록의 지연중 후술하는 스텝S18의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐 출력 데이터#1로서 출력된다. 또한, 이 위상데이터(PGw2)는 전자악기의 연주조작자의 키 온시에는 아웃풋 콘트롤러(20)에 의해 위상데이터(PGw1)의 초기치에서 180도 편의된 값(PGw1의 초기치가 「0」 이면 최대 위상치의 반분의 값 즉 180도 또는 π )으로 초기 설정되며, 또 2계열째의 음고주파수 위상데이터(PGp2)의 오버 플로우시에도 아웃풋 콘트롤러(20)에 의해 소정의 초기치로 리세트된다.
스텝S15에 대응하는 연산기능 전개도는, 제10도에서는 윈도우함수 주파수 넘버 발생기(14)(S14,S15)의 경로에 나타나 있다. 윈도우함수 주파수 넘버 발생기(14)(S14,S15)는 제5도의 로그 리니어 변환/시프트기(14)에 대응하면, 윈도우함수용 위상발생기 ALU1 & RAM1(S14,S15)이 연산기(ALU1)와 RAM1에 대응하고 있다.
(14) 스텝S16에 있어서 DSP1의 동작
스텝S16에서는 스텝S13일 때와 거의 마찬가지로 레지스터(REG1)에 기억되어 있어서 데이터#REG1로서 출력되는 포먼트 주파수 넘버(FORM1)를 누산함으로써 2계열째의 중심주파수 위상데이터(PGf2)를 작성하는 연산을, 연산기(ALU1)(제5도)를 이용해서 행한다.
스텝S16 처리가 스텝S13일 때와 다른 점은 RAM1으로부터는 대응하는 채널의 2계열째의 중심주파수 위상데이터(PGf2)가 판독되어 데이터#RAM1으로서 셀렉터(11)에 입력되고, 이것이 셀렉터(11)에서 선택되는 점이다. 따라서, 연산기(ALU1)에서는 포먼트주파수 넘버(FORM)가 RAM1으로부터 판독된 2계열째의 중심주파수 위상데이터(PGf2)에 가산된다. 이 가산결과는 각 지연회로(15)(17)(18)(19)(24)에 의한 통산 4클록의 지연중 후술하는 스텝S20의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐 RAM1의 위상데이터(PGf2)의 기억영역에 기억된다.
이와 같이 해서, 스텝S16에서는 포먼트주파수 넘버(FORM)가 각 사이클마다 누산되어 2계열째의 중심주파수 위상데이터(PGf2)가 작성된다. 또, 이 위상데이터(PGf2)는 전자악기의 연주조작자의 키 온시에는 아웃풋 콘트롤러(20)에 의해 소정의 초기치(예를 들면 「0」 )으로 초기설정되며, 또 2계열째의 음고주파수 위상데이터(PGp2)의 오버 플로우시에도 아웃풋 콘트롤러(20)에 의해 소정치로 리세트된다. 이와 같이 해서 작성된 1계열째의 중심주파수 위상데이터(PGf1)의 1예를 제17(d)도에 나타낸다.
이 스텝S16에 대응하는 연산기능 전개도는, 제10도에서는 로그 리니어 변환기(14)(S5)에 연결된 셀렉터(SEL1)(S13,S16)의 경로로 도시되어 있다. 이 셀렉터(SEL1)(S13,S16)는 DSP1의 제어신호 발생부(6)(제3도)의 처리기능에 대응하여 위상발생기(ALU1 & RAM1)(S13,S16)가 연산기(ALU1)와 RAM1(제5도)에 대응하고 있다. 스텝S5의 처리에 의해 로그 리니어변환기(14)(S5)에서 진수치로 변환된 포먼트주파수 넘버(FORM1)가 포먼트음 합성모드일 때 셀렉터(SEL1)에서 선텍되어 위상연산을 위해 이용가능해지며, 위상발생기(ALU1 & RAM1)(S13, S16)에서 누산되어 2계열째의 중심주파수 위상데이터(PGf1)가 작성된다.
(15) 스텝S17에 있어서 DSP1의 동작
스텝 S17에서는 실제로 사용하는 1계열째의 윈도우함수 위상데이터(PGw1)로서 스텝S14의 처리에서 작성한 윈도우함수 위상데이터(PGw1)와 1계열째의 음고주파수 위상데이터(PGp1)중 어느 쪽이든 선택하는 처리를 한다.
제9(a)(b)도에 나타낸 바와 같이, 스텝S17에서는 연산기(ALU1)의 A입력으로서 데이터#1이 입력되고, 연산기(ALU1)의 B입력으로서 1계열째의 음고주파수 위상데이터(PGp1)가 입력된 상태로 설정된다.
상세하게는 제5도에 있어서, 스텝S14의 처리에서 얻은 윈도우함수 위상데이터(PGw1)가 3클록 지연되어 데이터#1로서 인가되고, 또 셀렉터(10)에서는 이 데이터#1를 선택하는 상태로 된다. 또한, RAM1부터는 대응하는 채널의 1계열째의 음고주파수 위상데이터(PGp1)가 판독되며, 이 판독출력이 데이터#RAM1로써 셀렉터(11)에 입력되고, 이것이 셀렉터(11)에서 선택된다. 또, 콘트롤러(23)의 제어에 의해 로그 리니어변환/시프트기(14)에서는 변환 또는 시프트동작의 어느쪽도 행하지 않으며, 입력데이터를 그대로 통과시키지만, 로그 리니어변환/시프트/± 기(16)에서는 플러스· 마이너스의 부호를 반전시켜 마이너스의 값으로 변환한다.
따라서, 연산기(ALU1)에서는 윈도우함수 주파수 넘버(BW)를 누산함으로써 스텝S14에서 얻은 윈도우함수 위상데이터(PGw1)(연산기(ALU1)의 A입력)로부터 음고주파수 위상데이터(PGp1)(연산기(ALU1)의 B입력)를 감산한다. 이 감산결과가 플러스(즉, 윈도우함수 주파수 넘버(BW)의 누산에 의해 구한 윈도우함수 위상데이터(PGw1)가 음고주파수 위상데이터(PGp1)보다 크다)인 경우에는 스텝S14의 처리에서 구해진 윈도우함수 위상데이터(PGw1)가 각 지연회로(15)(17)(18)(19)(24)에 의한 통산 4클록의 지연 및 아웃풋 콘트롤러(20)의 처리를 거쳐 다음 스텝S18의 타이밍에서 RAM1의 입력에 입력될 때, 이것이 RAM1의 위상데이터(PGw1) 기억영역에 기억되도록 제어된다. 한편, 이 감산결과가 마이너스 또는 제로(2즉, 윈도우함수 주파수 넘버(BW)의 누산에 의해 구한 윈도우함수 위상데이터(PGw1)가 음고주파수 위상데이터(PGp1)와 같거나 그것보다 작다)인 경우에는 음고주파수 위상데이터(PGp1)의 값이 RAM1의 위상데이터(PGw1) 기억영역에 기억된다. 또, 실제의 처리에 있어서는 스텝S13일 때에 음고주파수 위상데이터(PGp1)를 RAM1의 위상데이터(PGp1) 기억영역에 기억할 때, 상기 위상데이터(PGp1)를 RAM1이 위상데이터(PGw1) 기억영역에도 기억시켜 두고, 상기와 같이 감산결과의 플러스치에 따라 위상데이터(PGw1)의 기억영역의 기억이 다시 쓰여지지 않는 한, 위상데이터(PGp1)가 위상데이터(PGw1)로서 RAM1에 기억유지되도록 한다.
여기서, 아웃풋 콘트롤러(20)의 처리를 거쳐 RAM1에 입력되는 윈도우함수 위상데이터(PGw1)의 예를 제17(e)도에 나타낸다. 제17(e)도는 스텝S14에서 얻은 윈도우함수 위상데이터(PGw1)쪽이 음고주파수 위상데이터(PGp1)보다 큰 경우의 예이다. 이와 같이 스텝S14에서 얻은 스텝S14에서 얻은 윈도우함수 위상데이터(PGw1)쪽이 음고주파수 위상데이터(PGp1)보다 큰 경우에는 윈도우함수 위상데이터(PGw1)의 값은 음고주파수 위상데이터(PGp1)의 값보다 먼저 최대치에 도달한다. 아웃풋 콘트롤러(20)(제5도)에서는 윈도우함수 위상데이터(PGw1)의 값이 소정의 최대치를 초과했을 때, 상기 윈도우함수 위상데이터(PGw1)의 값을 상기 소정 최대치로 유지(슬라이스한다)하도록 출력제어한다. 따라서, 윈도우함수 위상데이터(PGw1)의 변화파형은 제17(e)도에 도시된 바와 같이 경사부와 슬래트한 부분을 가지게 된다.
한편, 스텝S14에서 구한 윈도우함수 위상데이터(PGw1)가 음고주파수 위상데이터(PGp1)와 같거나 그것보다 작은 경우에는 윈도우함수 위상데이터(PGw1)는 제17(a)도에 도시된 음고주파수 위상데이터(PGp1)와 같은 내용이 된다.
(16) 스텝S18에 있어서 DSP1의 동작
스텝S18에서는 스텝S17일 때와 거의 같은 순서에 따라 실제로 사용하는 2계열째의 윈도우함수 위상데이터(PGw2)로서 스텝S15의 처리에 의해 작성한 윈도우함수 위상데이터(PGw2)와 2계열째의 음고주파수 위상데이터(PGp2)중 어느쪽이든 선택하는 처리를 한다.
스텝S18의 처리가 스텝S17일 때와 다른 점은 스텝S15의 처리에서 구한 윈도우함수 위상데이터(PGw2)가 3클록 지연되어 데이터#1으로서 셀렉터(1l)에 인가되어 선택된다는 점과, RAM1로부터는 대응하는 채널의 2계열째의 음고주파수 위상데이터(PGp2)가 판독되고, 이 판독출력이 데이터#RAM1으로서 섹렉터(11)에 입력되고, 이것이 셀렉터(11)에서 선택된다는 점이다.
따라서, 스텝S17일 때와 마찬가지로, 연산기(ALU1)의 감산기능을 이용해서 스텝S15에서의 누산처리에 의해 구한 윈도우함수 위상데이터(PGw2)와 2계열째의 음고주파수 위상데이터(PGp2)의 비교를 행하고, 누산처리에 의해 구한위상데이터(PGw2)가 데이터(PGp2)보다 크면 이것이 다음 스텝S19의 타이밍에서 RAM1의 위상데이터(PGw2)의 기억영역에 기입되거나(제9(e)도), 그렇지 않으면 데이터 (PGp2)가 RAM1의 위상데이터(PGw2) 기억영역에 기입된다.
아웃풋 콘트롤러(20)의 처리를 거쳐 RAM1에 입력되는 윈도우함수 위상데이터(PGw2)의 예를 제17(f)도에 나타낸다. 제17(f)도는 스텝S15에서 구한 윈도우함수 위상데이터(PGw2)쪽이 음고주파수 위상데이터(PGp2)보다 큰 경우의 예이다. 이와 같이 스텝S15에서 구한 윈도우함수 위상데이터(PGw2)쪽이 음고주파수 위상데이터(PGp2)보다 큰 경우에는 윈도우함수 위상데이터(PGw2)의 값은 음고주파수 위상데이터(PGp2) 값보다 먼저 최대치에 도달한다. 아웃풋 콘트롤러(20)(제5도)에서는 상술한 바와 같이 윈도우함수 위상데이터(PGw2)의 값을 상기 소정의 최대치로 유지하도록(슬라이스하도록) 출력제어한다. 따라서, 윈도우함수 위상데이터(PGw2)의 변화파형은 제17(f)도에 도시된 바와 바와 같이 경사부와 슬래트한 부분을 가지게 된다.
한편, 스텝S15에서 구한 윈도우함수 위상데이터(PGw2)가 음고주파수 위상데이터(PGp2)와 같거나 그것보다 작은 경우에는 윈도우함수 위상데이터(PGw2)는 제17(b)도에 도시된 음고주파수 위상데이터(PGp2)와 같은 내용이 된다.
스텝S17 및 S18에 대응하는 연산기능 전개도는, 제10도에서는 컴퍼레이터(C1)(S17, S18) 및 셀렉터(SEL2)(S17,S18)의 경로에 도시되어 있다. 이 컴퍼레이터(C1)(S17, S18)가 연산기(ALU1)에서의 감산기능에 대응하고, 셀렉터(SEL2)(S17,S18)가 연산기(ALU1)의 감산결과에 따라 RAM1의 기입을 제어하는기능에 대응하고 있다. 윈도우함수 위상발생기 ALU1 & RMA1(S14,S15)로부터 출력된 데이터가 위상발생기 ALU1 & RAM1(S9,S10)으로부터의 위상데이터 PGp1 또는 PGp2 보다 큰 경우에는 컴퍼레이터(C1)의 출력에 따라 셀렉터(SEL2)(S17)(S18)에서는 윈도우함수 위상발생기 ALU1 & RAM1(S14,S15)의 출력을 윈도우함수 위상데이터 PGw1 또는 PGw2로서 선택하고, 그렇지 않을 때에는 컴퍼레이터(C1)의 출력에 따라 셀렉터(SEL2)(S17)(S18)에서는 위상발생기 ALU1 & RAM1(S9,S10)의 출력 PGp1 또는 PGp2를 윈도우함수 위상데이터 PGw1 또는 PGw2로서 선택한다.
이상과 같은 처리에 의해 윈도우함수 위상데이터 PGw1 또는 PGw2에 의거해서 후술한 바와 같이 작성되는 윈도우함수 파형의 반복주기가 반드시 악음의 음고와 동기화되고, 윈도우의 시간폭이 파라미터(BW)(즉, 윈도우함수 위상데이터 PGw1 또는 PGw2의 경사)에 의해 제어된다. 또한, 이와 같은 윈도우함수 위상데이터의 작성제어방식의 상세에 대해서는 예를 들면 일본국 특개평3-84596호 공보에서 본 출원인이 이미 제안한 것을 이용할 수 있다.
또한, 스텝S19,20은 「믹싱연산」 을 행하는 스텝이므로 DSP4의 동작 설명후에 설명하기로 한다.
또한, 제10도의 연산기능 전개도에 있어서, 변조부(12)의 내부처리기능예로서 부호(12)를 두문자로 하는 몇개의 회로요소가 도시되어 있다. 여기서 각 변조용 데이터발생기(12a)(S0), 12d(S2), 12g(S4)로부터 발생한 비브라토 등의 변조용 데이터에 의해 음고주파수 넘버(FNUM)를 변경/변조제어하기 위한 연산수단으로서 가산기(12c)(S0), 12f(S2), 12i(S4)가 이용되고 있다. 이 단계에서는 음고주파수 넘버(FNUM)는 진수이기 때문에 사실은 센트치에 비례하는 주파수 변경제어를 하기 위해서는 승산기를 이용하는 것이 바람직하다. 그러나, 이 변조부(12)에 있어서의 주파수 변경량은 최대라도 아주 적은 양이므로 제10도에 나타낸 바와 같이 가산기를 사용해도 악영향은 없으며, 오히려 코스트적으로 저렴한다. 그러나, DSP1의 구성 및 마이크로 프로그램을 변경하고, 이들 비브라토 등의 변조용 데이터를 대수치로 주고, 예를 들면 어태크 그라이드 데이터(AG)를 음고주파수 넘버(FNUM)에 가산(진수 레벨에서는 승산)할 때 함께 가산하도록 하면 진수레벨에서의 승산에 의해 센트치에 비례하는 주파수 변경제어를 하도록 할 수 있음은 물론이다.
-DSP3에 의한 노이즈신호 관련 동작예-
다음에, 제11도를 참조해서 제6도의 DSP3에 있어서의 「노이즈 포먼트음 합성연산」 에 관련된 마이크로 프로그램의 각 스텝마다의 동작예에 대해 설명한다. 제9도에 나타낸 DSP1의 마이크로 프로그램 동작예와 마찬가지로, 이 마이크로 프로그램의 1사이클도 스텝S0∼S20의 21스텝으로 이루어지며, 1스텝이 시스템 클록의 1주기에 대응한다. 이 1사이클도 제8도의 1채널 타이밍에 대응하고 있으며, 각 채널마다의 프로그램 사이클이 제8도와 같이 18채널 시분할로 실행된다. 제11도에 있어서 (a)는 제6도의 연산기(ALU3) 「A」 입력에 입력하는 상태로 설정되는 데이터를 나타내며, (b)는 제6도의 연산기(ALU3) 「B」 입력에 입력하는 상태로 설정된 데이터를 나타내고, (c)는 제6도의 시프터(39)로부터 출력되는 데이터#3의 내용을 나타내고, (d)는 제6도의 레지스터(REG3)에 기입입력된 데이터의 내용을 나타내고, (e)는 제6도의 레지스터(AREG)에 기입입력된 데이터의 내용을 나타내며, (f)는 제6도의 RAM3에 기입된 데이터입력의 내용을 나타낸다. 제12도는 제6도에 도시된 하드웨어구성으로 이루어진 DSP3에 있어서 노이즈신호 작성의 동작과정을 나타낸 연산기능전개 블록도로서, 제10도와 같이 실제의 하드웨어 회로구성을 나타낸 도면은 아니다.
(1)스텝S0에 있어서의 DSP3의 동작
스텝S0에서는 노이즈 포먼트음 합성용 변조신호로서 사용되는 상관노이즈신호를 작성하기 위해 사용되는 로퍼스 노이즈신호의 스펙트럼구성을 제어하기 위한 연산을 연산기(ALU3)(제6도)를 이용해서 행한다. 즉, 로퍼스 노이즈신호의 스펙트럼 레벨을 저역부에서 상대적으로 강화함으로써, 이 로퍼스 노이즈신호를 기초로 한 상관노이즈신호를 이용한 변조연산처리에 의해 작성된 노이즈 포먼트음에 있어서의 포먼트 피크부의 예리함을 제어하기 위한 처리이다.
제11(a)(b)도에서는 연산기(ALU3)의 A입력 및 B입력에의 입력레이터를 간략하게 도시하고 있으며, 이 스텝S0에서는 연산기(ALU3)의 A입력으로서 노이즈 포먼트의 예리함을 지정하는 파라미터(NRES)에 따른 데이터가 입력되고, 연산기(ALU3)의 B입력으로서 로퍼스 노이즈신호(LPF)가 입력된 상태로 설정된다.
상세하게는 제6도에서 셀렉터(30)에서는 파라미터(NRES)에 따른 데이터를 선택하는 상태가 되며, 상기 데이터가 지연회로(33)를 통해 연산기(ALU3)의 A입력에 입력된다. 또, RAM3로부터는 대응하는 채널의 로퍼스 노이즈신호(LPF)의 기억영역으로부터 로퍼스 노이즈신호(LPF)가 판독되고, 이것이 출력데이터#RAM3로서 셀렉터(31)에 입력된다. 상기 셀렉터(31)에서는 RAM3로부터의 출력데이터 #RAM3를선택한 상태로 설정되어 상기 로퍼스 노이즈신호(LPF)를 선택한다. 이때, 부호 부가데이터 +/-로서 플러스부호 +를 부가하는 데이터가 인가되고, 상기 로퍼스 노이즈신호에 플러스부호 +를 부가한 데이티가 게이트회로(34) 및 지연회로(35)를 통해 연산기(ALU3)의 B입력에 입력된다. 또한, 게이트회로(34)는 후술하는 시리얼 승산시에 개폐제어되는 것이며, 그 이외의 경우에는 상시 가능화되어 있어서 입력데이터를 그대로 통과시킨다.
따라서, 연산기(ALU3)에 있어서 파라미터(NRES)에 따른 데이터가 로퍼스 노이즈신호(LPF)에 대해 가산된다. 또, 로퍼스 노이즈신호(LPF)란 후술한 바와같이, 화이트 노이즈신호에 대해 로퍼스필터처리를 가한 신호이다. 이 로퍼스 노이즈신호(LPF)에 대해 파라미터(NRES)에 따른 데이터를 가산하는 것은 로퍼스 노이즈신호(LPF)에 대해 파라미터(NRES)에 대응하는 직류성분을 가산하는 것을 의미하며, 이에 따라 로퍼스 노이즈신호(LPF)의 스펙트럼구성에 있어서 저역부(주파수0의 직류부)의 레벨이 강화되어 결과적으로 합성되는 노이즈 포먼트음의 포먼트 엔벨로프의 예리함을 제어할 수 있다.
이와 같이 해서, 스텝S0에서는 로퍼스노이즈신호(LPF)의 저역 스펙트럼을 제어하기 위한 연산이 행해진다. 이 연산결과는 각 지연회로(33)(35)(37) 및 오버 플로우· 언더 플로우 콘트롤러(OF/W)(38) 및 시프터(39)를 거쳐서 통산 2클록의 지연중 후술하는 스텝S2의 타이밍에서 레지스터(AREG)에 기입된다(제11(e)도 참조). 오버 플로우· 언더 플로우 콘트롤러(OF/UF)(38) 는 스텝S0에서는 리미터로서 기능한다. 또한, 시프터(39)는 스텝S0에서는 시프트동작을 하지 않고 입력데이터를 그대로 통과시킨다.
참고로 이상의 연산처리를 제12도의 연산기능 전개도를 따라 정리한다. 제12에서도 제6도와 동일부호가 붙여진 회로요소는 동일함을 나타내며, 연산기(ALU3)(S0)와 같이 스텝번호를 괄호쓰기하여 부가한 회로요소는 그 스텝번호에 대응하는 스텝에서 기능함을 나타낸다.
제12도에서, 스텝S0에서의 처리에 대응하는 것은 연산기(ALU3)(S0)에 있어서 파라미터(NRES)에 따라 계수테이블(TB1)(S0)로부터 판독된 계수데이터를 연산기(ALU3)(S5)로부터 출력된 로퍼스 노이즈신호(LPF)에 가산하는 경로이다. 연산기(ALU3)(S0)의 연산결과는 리미터(38)(S0)에 입력되어 소정의 리미터처리가 가해진다. 이 리미터(28)(S0)는 제6도의 오버 플로우· 언더 플로우 콘트롤러(OF/UF)(38)에 의한 리미터기능에 대응하고 있다.
(2) 스텝S1에 있어서의 DSP3의 동작
스텝S1에서는 노이즈포먼트의 대역폭을 제어하기 위해 상관노이즈신호의 변화허용범위의 하한을 구하는 연산을 연산기(ALU3)(제6도)를 사용해서 행한다.
제11(a)(b)도에 나타낸 바와 같이, 스텝S1에서는 연산기(ALU3)의 A입력으로서 노이즈의 대역폭을 지정하는 파라미터(NRES)에 따른 데이터가 입력되고, 연산기(ALU3)의 B입력으로서 상관노이즈신호(BWR)가 입력된 상태로 설정된다.
상세하게는 제6도에서, 셀렉터(30)에서는 파라미터(NBW)에 따른 데이터를 선택한 상태가 되며, 상기 데이터가 지연회로(33)를 통해 연산기(ALU3)의 A입력에 입력된다. 또, RAM3로부터는 대응하는 채널의 상관노이즈신호(BWR)의 기억영역으로부터 상관노이즈신호(BWR)가 판독되고, 이것이 출력데이터#RAM3로서 셀렉터(31)에 입력된다. 상기 셀렉터(31)에서는 RAM3로부터의 출력데이터#RAM3를 선택하는 상태로 설정되어 상기 상관노이즈신호(BWR)를 선택한다. 이 때, 부호부가데이터 +/-로서 마이너스부호 -를 부가한 데이터가 인가되고, 상기 상관노이즈신호(BWR)에 마이너스부호 -를 부가한 데이터가 게이트회로(34) 및 지연회로(35)를 통해 연산기(ALU3)의 B입력에 입력된다.
따라서, 연산기(ALU3)에서는 파라미터(NBW)에 따른 데이터로부터 전회의 사이클에서 요구된 상관노이즈신호(BWR)를 감산한다. 이에 따라, 전회의 사이클에서 요구된 상관노이즈신호(BWR)와 노이즈 대역폭 지정치(NBW)와의 차이가 요구되며, 상관노이즈신호(BWR)의 변화허용범위의 하한치가 마이너스부호를 붙이며 산출된다. 실제의 상관노이즈신호(BWR)의 변화허용범위의 하한치는 플러스부호로 이루어진 것이지만, 연산처리의 사정상 이 스텝S1에서는 즉각 마이너스부호로 상기 차이를 구하며, 추후 플러스부호로 변환하도록 하였다.
이와 같이 해서, 스텝S1에서는 상관노이즈신호의 변화허용범위중 하한을 구하는 연산이 행해진다. 이 연산결과는 각 지연회로(33)(35)(37) 및 오버 플로우· 언더 플로우 콘트롤러(OF/UF)(38) 및 시프터(39)를 거쳐서 통산 2클록의 지연중 후술하는 스텝S3의 타이밍에서 레지스터(REG3)에 기입됨과 동시에, 지연회로(40)에서 1클록 더 지연되어 후술하는 스텝S4의 타이밍에서 RAM3의 당해 채널의 기억영역(TmpM)에 일시 기억된다(제11(d)도 및 (f)도 참조). 스텝S1에서도 오버 플로우· 언더 플로우 콘트롤러(OF/UF)(38)는 리미터로서 기능하고, 시프터(39)는 시프트동작을 하지 않고 입력데이터를 그대로 통과시킨다.
제12도의 연산기능 전개도에서는, 스텝S1에서의 처리에 대응하는 것은 연산기(ALU3)(S1)에 있어서 파라미터(NRW)에 따라 계수테이블(TB2)S1)로부터 판독된 계수데이터를 인버터(INV1)(S1)에서 플러스· 마이너스부호 반전된 전회의 상관노이즈신호(BWR)에 가산하는 경로이다. 연산기(ALU3)(S1)의 연산결과는 리미터(38)(S1)에 입력되어 소정의 리미터처리가 가해진다. 인버터(INV1)(S1)는 부호 부가데이터+/-에 의해 마이너스부호 -를 부가하는 기능에 대응하고 있다. 또, 인버터(INV1)(S1)의 입력측 시트프 레지스터(S/R)로서 기능하는 RAM3(S20)는 RAM3로부터 데이터#RAM3로서 전회의 상관노이즈신호(BWR)를 공급하는 기능에 대응하고 있다.
(3) 스텝S2에 있어서 DSP3의 동작
스텝S2에서는 노이즈포먼트의 대역폭을 제어하기 위해 상관노이즈신호의 변화허용범위의 하한을 구하는 연산을 연산기(ALU3)(제6도)를 사용해서 행한다.
제11(a)(b)도에 나타낸 바와 같이, 스텝S2에서는 스텝S1과 같이, 연산기(ALU3)의 A입력으로서 노이즈의 대역폭을 지정하는 파라미터(NBW)에 따른 데이터가 입력되고, 연산기(ALU3)의 B입력으로서 상관노이즈신호(BWR)가 입력된 상태로 설정된다. 스텝S1과 상위한 점은 셀렉터(31)의 출력데이터에 대해 부호 부가데이터+/-로서 플러스부호+를 부가하는 처리가 행해진다는 점이다. 이에 따라, 연산기(ALU3)에서는 파라미터(NBW)에 따른 데이터를 전회의 사이클에서 구해진 상관 노이즈신호(BWR)에 가산하고, 상관노이즈신호(BWR)의 변화허용범위의 상한치가 플러스부호를 붙이며 산출된다.
제12도의 연산기능 전개도에서는, 스텝S2에서의 처리에 대응하는 것은 연산기(ALU3)(S2)에 있어서, 파라미터(NRW)에 따라 계수테이블(TB2)(S1)로부터 판독된 계수데이터를 시프트 레지스터(RAM3)(S20)로부터 출력된 전회의 상관노이즈신호(BWR)에 가산하고, 이것을 리미터(38)(S2)에서 처리하는 경로이다.
(4) 스텝S3에 있어서 DSP3의 동작
스텝S3에서는 다음의 스텝S5와의 조합에 의해 화이트 노이즈신호(WN)에 대해 로퍼스필터 연산처리를 행함으로써 로퍼스 노이즈신호(LPF)를 구한다.
제11(a)(b)도에 나타낸 바와 같이, 스텝S3에서는 연산기(ALU3)이 A입력으로서 화이트 노이즈신호(WN)가 입력되고, 연산기(ALU3)의 B입력으로서 로퍼스 노이즈신호(LPF)가 입력된 상태로 설정된다.
상세하게는 제6도에서, 셀렉터(30)에서는 화이트 발생기(32)로부터 출력된 화이트 노이즈신호(WN)를 선택한 상태가 되며, 상기 신호(WN)가 지연회로(33)를 통해 연산기(ALU3)의 A입력에 입력된다. 또, RAM3로부터는 대응하는 채널의 로퍼스 노이즈신호(LPF)의 기억영역으로부터 로퍼스 노이즈신호(LPF)가 판독되고, 이것이 출력데이터#RAM3로서 셀렉터(31)에 입력된다. 상기 셀렉터(31)에서는 RAM3로부터의 출력데이터#RAM3를 선택하는 상태로 설정되어 상기 로퍼스 노이즈신호(LPF)를 선택한다. 이 때, 부호 부가데이터 +/-로서 QN부호 -를 부가하는 데이터가 인가되고, 상기 로퍼스 노이즈신호에 마이너스부호 -를 부가한 데이터가 게이트회로(34) 및 지연회로(35)를 통해 연산기(ALU3)와 B입력에 입릭된다.
따라서, 연산기(ALU3)에서는 화이트 노이즈신호(WN)로부터 전회의 사이클에서 요구된 로퍼스 노이즈신호(LPF)를 감산한다. 이 감산결과는 각 지연회로(33)(35)(37) 및 오버 플로우· 언더 플로우 콘트롤러(OF/UF)(38) 및 시프터(39)를 거쳐서 통산 2클록의 지연중 후술하는 스텝S5에 있어서 데이터#3로서 출력된다. 오버플로우· 언더플로우 콘트롤러(OF/UF)(38)는 스텝 S3에서는 리미터로서 기능한다. 또, 오버 플로우· 언더 플로우 콘트롤러(OF/UF)(38)는 스텝S3에서는 노이즈 스펙트럼의 확대형상을 지정하는 파라미터(NSKT)에 의거하여 시프트다운 처리를 행한다. 파라미터(NSKT)는 로퍼스 필터 계수에 상당하며, 이 시프트다운 처리는 계수승산처리에 상당한다.
제12도의 연산기능 전개도에서는, 스텝S3의 처리에 대응하는 것은 화이트 노이즈 발생기(32)(S3)로부터의 화이트 노이즈신호(WN)를 연산기(ALU3)(S3)에서, 인버터(INV2)(S3)에서 플러스· 마이너스부호 반전된 1샘플전의 로퍼스 노이즈신호(LPF)에 가산하는 경로이다. 연산기(ALU3)(S3)의 연산결과는 리미터(38)(S3)에 입력되어 소정의 리미터처리가 가해진다. 또, 인버터(INV1)(S3)의 입력측인 시프트 레지스터(S/R)로서 기능하는 RAM3(S5)는 RAM3로부터 데이터#RAM3로서 전 샘플의 로퍼스 노이즈신호(LPF)를 공급하는 기능에 대응하고 있다.
(5) 스텝S4에 있어서 DSP3의 동작
스텝S4에서는 노이즈포먼트의 대역폭을 제어하기 위해 상관노이즈신호의 변화허용폭을 구하는 연산을 연산기(ALU3)(제6도)를 사용해서 행한다.
제11(a)(b)도에 나타낸 바와 같이, 스텝S4에서는 연산기(ALU3)의 A입력으로서 데이터#3가 입력되고, 연산기(ALU3)의 B입력으로서 데이터#REG3가 입력된 상태로 설정된다.
상세하게는 제6도에서, 셀렉터(30)에서는 데이터#3으로서 스텝S2의 연산결과 데이터(상관노이즈신호(BWR)의 변화허용범위의 상한치)가 입력되고, 이것이 셀렉터(30)에서 선택되어 지연회로(33)를 통해 연산기(ALU3)의 A입력에 입력된다. 한편, 셀렉터(31)에는 데이터#REG3로서 스텝S1의 연산결과 데이터(상관노이즈신호(BWR)의 변화허용범위의 하한치에 마이너스부호를 부가한 값)가 입력되고, 이것이 셀렉터(31)에서 선택된다. 마이너스부호가 부가된 상관노이즈신호(BWR)의 변화허용범위의 하한치는 게이트회로(34) 및 지연회로(35)를 통해 연산기(ALU3)의 B입력에 입력된다.
따라서, 상관노이즈신호(BWR)의 변화허용범위의 상한절대치로부터 변화허용범위의 하한절대치가 연산기(ALU3)에서 감산된다. 이에 따라, 상관노이즈신호(BWR)의 상한치와 하한치 사이의 변화허용폭이 구해진다.
이와 같이 해서, 스텝S4에서는 상관노이즈신호(BWR)의 변화허용폭을 구하는 연산이 행해진다. 이 연산결과는 각 지연회로(33)(35)(37)에 의한 통산 2클록의 지연중 시프터(39)에서 1비트 시프트다운되며. 후술하는 스텝S6에서 레지스터(REG3)에 기입된다(제9(d)도 참조).
제12도의 연산기능 전개도에서는 스텝S4의 처리에 대응하는 것은 연산기(ALU3)(S4) 부분이다.
(6) 스텝S5에 있어서 DSP3의 동작
제11(a)(b)도에 나타낸 바와 같이, 스텝S5에서는 연산기(ALU3)의 A입력으로서 데이터#3가 입력되고, 연산기(ALU3)의 B입력으로서 로퍼스 노이즈신호(LPF)가 입력된 상태로 설정된다.
상세하게는 제6도에서, 셀렉터(30)에서는 데이터#3으로서 스텝S3의 연산결과데이터(입력화이트 노이즈신호(WN)로부터 전 샘플의 로퍼스 노이즈신호(LPF)를 감산한 후, 파라미터(NSKT)에 따른 계수연산처리를 가한 값)이 입력되고, 이것이 셀렉터(30)에서 선택되어 지연회로(33)를 통해 연산기(ALU3)의 A입력에 입력된다. 한편, 셀렉터(31)에는 RAM3로부터의 출력데이터#RAM3로서 당해 채널의 로퍼스 노이즈신호(LPF)의 기억영역으로부터 판독한 전 샘플의 로퍼스 노이즈신호(LPF)가 입력되고, 이것이 셀렉터(31)에서 선택되어 플러스부호를 부가한 후 앤드게이트회로(34) 및 지연회로(35)를 통해 연산기(ALU3)의 B입력에 입력된다.
따라서, 연산기(ALU3)에서는 계수연산처리가 끝난 데이터가 전 샘플의 로퍼스 노이즈신호(LPF)에 부가된다. 이 가산결과는 각 지연회로(33)(35)(37) 및 오버 플로우· 언더 플로우 콘트롤러(OF/UF)(38), 시프터(39)를 거쳐서 통산 2클록의 지연중 지연회로(40)에서 1클록 더 지연되며, 후술하는 스텝S8의 타이밍에서 RAM3의 당해 채널의 로퍼스 노이즈신호(LPF)의 기억영역에 기억된다. 이리하여, 스텝S3와 S5 처리의 조합에 의해 화이트 노이즈신호(WN)에 대해 로퍼스필터 연산처리가 가해지며, 얻어진 로퍼스필터 출력 즉 로퍼스 노이즈신호(LPF)가 RAM3에 기억된다. 이 경우, RAM3는 로퍼스 노이즈신호(LPF)를 1샘플시간 지연하는 기능 즉 12도의 시프트 레지스터(RAM3)(S5)의 기능을 다한다.
제12도의 연산기능 전개도에서는, 스텝S5의 처리에 대응하는 것은 연산기(ALU3)(S5)와 시프트 레지스터(RAM3)(S5)의 부분이다.
(7) 스텝S6-S17에 있어서 DSP3의 동작
스텝S6∼S17에서는 스텝S4에서 구한 상관노이즈신호(BWR)의 변화허용폭 데이터를 스텝S2일 때 레지스터(AREG)에 기억된 로피스 노이즈신호(LPF)(이하에서는 12비트의 데이터라고 한다)에 의해 스켈링하기 위해 상기 변화허용폭과 로퍼스 노이즈신호(LPF)를 시리얼연산에 의해 승산하는 처리를 한다.
상술한 대로 스텝S0에서 처리된 로퍼스 노이즈신호(LPF)가 스텝S2일 때에 레지스터(AREG)에 기억되고, 이것이 병직렬 변환기(37)에서 병렬/직결변환되며, 12비트 직렬의 시리얼 로퍼스 노이즈신호(SLPF)로서, 스텝S6에서 스텝S17까지의 12클록 사이에서 순차로 하위 비트에서부터 시리얼 출력된다.
먼저, 스텝S6에서는 제11(a)(b)도에 나타낸 바와 같이, 연산기(ALU3)의 「A」 입력에는 아무것도 입력되지 않고, 연산기(ALU3)의 B입력으로서 부분적데이터#REG3· SLPF가 입력된 상태로 설정된다.
상세하게는 제6도에 있어서, 셀렉터(31)에는 데이터#REG3로서 스텝S4의 연산결과 데이터(즉, 상관노이즈신호(BWR)의 변화허용폭을 나타낸 데이터, 이하 간단히 「변화허용폭 데이터」 라 부른다)가 입력되고, 이것이 셀렉터(31)에서 선택되어 플러스부호를 부가한 후 게이트회로(34)에 입력된다. 게이트회로(34)의 제어입력에는 병직렬 변환기(37)로부터 시리얼 로퍼스 노이즈신호(SLPF)의 최초의 1비트(상기로퍼스 노이즈신호(LPF)의 최하위 비트의 값)를 나타낸 신호가 인가된다. 따라서, 게이트회로(34)로부터는 상기 SLPF의 비트가 「0」 일 경우에 부분적 출력데이터로서 「0」 을 출력하고, 상기 SLPF의 비트가 「1」 인 경우에는 데이터#REG3의 값을 그대로 출력한다. 이에 따라, 상기 변화허용폭 데이터와 상기 로퍼스 노이즈신호(LPF)의 최하위 비트값의 부분적을 구하는 승산이 행해진다. 이 승산결과는 지연회로(35)를 통해 연산기(ALU3)의 B입력에 입력된다.
연산기(ALU3)는 시리얼승산에 의해 구한 부분적을 가산하기 위해 기능한다. 최초의 2스텝 즉, 스텝S6과 S7에서는 연산기(ALU3)의 A입력에는 데이터가 입력되지 않고, 연산기(ALU3)의 B입력에 인가된 부분적데이터가 그대로 통과한다. 이것은 부분적데이터가 지연회로(35)(37)에 의해 통산 2클록 지연되기 때문이다.
따라서, 이 스텝S6에서는 상기 부분적데이터가 연산기(ALU3)로부터 그대로 출력되고, 각 지연회로(35)(37)에 의한 통산 2클록의 지연중 오버 플로우· 언더 플로우 콘트롤러(38)를 경유하여 시프터(39)에서 2비트 시프트 다운되고, 후술하는 스텝S8의 타이밍에서 데이터#3으로서 출력된다(제11(c)도 참조). 스텝 S8 이후에는 이 테이터#3가 셀렉터(30)에서 선택되어 연산기(ALU3)의 A입력에 인가된다. 연산기(ALU3)의 출력을 시프터(39)에서 2비트 시프트 다운하는 이유는 2비트 상위의 부분적 연산결과(즉 연산기(ALU3)의 B입력)에 가산하므로, 데이터의 중량을 합하기 위함이다.
다음의 스텝S7에서는 변화허용폭 데이터#REG3와 시리얼 로퍼스 노이즈신호(SLPF)의 하위에서 2비트째 데이터와의 승산이 게이트회로(34)에서 행해진다. 그 승산결과가 2클록 지연되고, 또 2비트 시프트 다운되어 스텝S9에서 데이터#3으로서 출력된다(제11(c)도 참조).
스텝S8에서는 변화허용폭#REG3와 시리얼 로퍼스 노이즈신호(SLPF)의 하위에서 3비트째 데이터와의 승산이 게이트회로(34)에서 행해진다. 이 스텝S8 내지 스텝S18 사이에는 제11(a)도에 나타낸 바와 같이, 시프터(39)의 출력데이터3가 셀렉터(30)에서 선택되어 연산기(ALU3)의 A입력에 인가되게 된다. 따라서, SLPF의 최하위 비트에 관한 부분적(연산기(ALU3)의 A입력)과, SLPF의 하위에서 3비트째에 관한 부분적(연산기(ALU3)의 B입력)이 연산기(ALU3)에서 가산되어 부분적화가 구해진다. 연산기(ALU3)로부터 출력되는 부분적화는 각 지연회로(33)(35)(37)에 의한 통산 2클록의 지연중 오버 플로우· 언더 플로우 콘트롤러(38)를 경유하여 시프터(39)에서 2비트 시프트 다운되고, 후술하는 스텝S10의 타이밍에서 데이터#3로서 출력된다(제11(c)도 참조).
스텝S9에서는 변화허용폭#REG3와 시리얼 로퍼스 노이즈신호(SLPF)의 하위에서 4비트째 데이터와의 승산이 게이트회로(34)에서 행해진다. 이 때, SLPF의 하위에서 2비트째에 관한 부분적에 대응하는 데이터#3가 셀렉터(30)에서 선택되어 연산기(ALU3)의 A입력에 인가되게 된다. 따라서, SLPF의 하위에서 2비트째에 관한 부분적(연산기(ALU3)의 A입력)과, SLPF의 하위에서 4비트째에 관한 부분적(연산기(ALU3)의 B입력)이 연산기(ALU3)에서 가산제어 부분적화가 구해진다. 연산기(ALU3)로부터 출력되는 부분적화는 각 지연회로(33)(35)(37)에 의한 통산 2클록의 지연중 오버 플로우· 언더 플로우 콘트롤러(38)를 경유하여 시프터(39)에서 2비트 시프트 다운되고, 후술하는 스텝S11의 타이밍에서 데이터#3로서 출력된다(제11(c)도 참조).
이하, 마찬가지로 스텝S10,S12,S14,S16에서, 신호SLPF의 하위에서 기수 비트째에 관한 부분적이 순차로 구해짐과 동시에, 그때까지 구해진 상기 기수 비트째에 관한 부분적 끼리의 합이 구해진다. 스텝S16의 처리에 의해 구해진 상기 기수 비트째에 관한 부분적 끼리의 총합은 통산 2클록 지연되어 스텝S18의 타이밍에서 데이터#3으로서 시프터(39)로부터 출력된다(제11(c)도 참조).
또한, 마찬가지로, 스텝S11,S13,S15,S17에서, 신호SLPF의 하위에서 짝수 비트째에 관한 부분적이 순차로 요구됨과 동시에, 그때까지 구해진 상기 짝수 비트째에 관한 부분적 끼리의 합이 구해진다. 스텝S17의 처리에 의해 구해진 상기 짝수 비트째에 관한 부분적끼리의 총합은 통산 2클록 지연되어 스텝S19의 타이밍에서 시프터(39)로부터 출력되고, 레지스터(REG3)에 기입된다(제11(c)도 참조).
이상에 의해, 변화허용폭 데이터와 로퍼스 노이즈신호(LPF)가 시리얼 승산됨으로써, 상관노이즈신호(BWR)의 변화허용폭 데이터를 램덤으로 변화하는 로퍼스 노이즈신호(LPF)에 의해 스켈링하기 위한 승산이 행해진다. 단, 스텝S17까지의 처리에서는 기수비트째에 관한 부분적 끼리의 총합과 짝수비트째에 관한 부분적끼리의 총합이 별도로 구해지고 있으며, 최종적인 스켈링결과(승산결과)를 얻기 위해서는 양자를 좀더 가산할 필요가 있다. 또한, 스텝S6∼S17의 처리는 제12도에서는 승산기(ALU3)(S6∼S17)의 부분에 대응한다.
(8) 스텝S18∼S20에 있어서 DSP3의 동작
제9(a)(b)도에 나타낸 바와 같이, 스텝S18에서는 연산기(ALU3)의 A입력으로서 데이터#3가 입력되며, 연산기(ALU1)의 B입력으로서 RAM3의 일시기억영역 데이터(TmpM)가 입력된 상태로 설정된다.
상세하게는 제6도에 있어서, 셀렉터(31)에는 데이터#3로서 상술한 스텝 S16의 연산결과(즉, 기수 비트째에 관한 부분적 끼리의 총합)가 입력되고, 이것이 셀렉터(31)에서 선택되어 지연회로(33)를 통해 연산기(ALU3)의 A입력에 입력된다. 또한, RAM3로부터는 당해 채널의 일시기억영역(TmpM)의 기억데이터(즉, 스텝S4에 있어서 영역(TmpM)에 받아들인 스텝S1의 연산결과인 상관노이즈신호(BWR)의 하한치에 마이너스부호를 부가한 값)이 판독되어 데이터#RAM3로서 출력된다. 셀렉터(31)에서는 이 RAM3로부터 판독한 데이터#RAM3 즉 「상관노이즈신호(BWR)의 하한치에 마이너스부호를 부가한 값」 을 선택한다. 이 셀렉터(31)의 출력데이터는 플러스· 마이너스 부호데이터(+/-)로서 플러스부호 +가 부가되고(즉 마이너스 부호를 플러스부호로 반전한다), 게이트회로(34) 및 지연회로(35)를 통해 연산기(ALU3)의 B입력에 입력된다.
따라서, 연산기(ALU3)에 있어서, 「상관노이즈신호(BWR)의 하한치(플러스부호붙임)」 (B입력)에 대해 「상관노이즈신호(BWR)의 변화허용폭 데이터를 로퍼스 노이즈신호(LPF)에 의해 스켈링한 값의 일부값(기수 비트째에 관한 부분적끼리의 총합;A입력)이 가산된다. 이 가산결과는 통산 2클록 지연되어 스텝S20의 타이밍에서 시프터(39)로부터 출력되고, 데이터#3으로서 셀렉터(30)에 입력된다.
다음의 스텝S19에서는 상술한 바와 같이 스텝S17의 처리에 의해 구해진 짝수비트째에 관한 부분적 끼리의 총합이 통산 2클록 지연되어 시프터(39)로부터 출력되고, 레지스터(REG3)에 기입된다(제11(c)도 참조).
다음의 스텝S20에서는 제11(a)(b)도에 나타낸 바와 같이, 연산기(ALU3)의 A입력으로서 데이터#3가 입력되고, 연산기(ALU3)의 B입력으로서 데이터#REG3가 입력된 상태로 설정된다. 즉, 제6도에 있어서, 셀렉터(30)에서는 데이터#3을 선택하고, 상기 스텝S18의 연산결과가 연산기(ALU3)의 A입력에 입력된다. 또한, 셀렉터(31)에서는 레지스터(REG3)의 출력데이터#RAM3를 선택하고, 상기 스텝17의 처리에 의해 구해진 짝수 비트째에 관한 부분적 끼리의 총합이 연산기(ALU3)의 B입력에 입력된다.
따라서, 스텝S20에서는 연산기(ALU3)에 있어서, 「상관노이즈신호(BWR)의 하한치(플러스부호붙임)」 에 대해 「상관노이즈신호(BWR)의 변화허용폭 데이터를 로퍼스 노이즈신호(LPF)에 의해 스켈링한 값의 일부값(기수 비트째에 관한 부분적 끼리의 총합)을 가산한 값(A입력)에 대해, 「상관노이즈신호(BWR)의 변화 허용폭 데이터를 로퍼스 노이즈신호(LPF)에 의해 스켈링한 값의 나머지 값(짝수 비트째에 관한 부분적끼리의 총합;B입력)이 가산된다. 이리하여, 「상관노이즈신호(BWR)의 변화허용폭 데이터를 로퍼스 노이즈신호(LPF)에 의해 스켈링한 값」 이 「상관노이즈신호(BWR)의 하한치」 에 가산되고, 새로운 「상관노이즈신호(BWR)」 가 구해진다. 연산기(ALU3)로부터 출력되는 「상관노이즈신호(BWR)」 는 지연회로(33)(35)(37)(40)에 의한 통산 3클록 지연으로 다음 채널을 위한 스텝S2의 타이밍에서 RAM3가 대응하는 채널의 「상관노이즈신호(BWR)」 의 기억영역에 기입된다.
이상과 같이 작성되어 RAM3에 기입된 상관노이즈신호(BWR)는 다음의 사이클에 있어서의 대응하는 채널에 관한 DSP3의 상기 스텝S1,S2에서 판독되며, 갱신을 위해 이용된다. 또한, RAM3에 기입된 상관노이즈신호(BWR)는 다른 DSP4에 있어서의 노이즈 포먼트음 합성연산에서 이용되기 때문에 소정의 타이밍에서 상기 DSP3의 RAM3로부터 판독되며, 지연회로(41)를 거쳐 리니어 로그 변환기(42)에서 대수치로 변환된 후, 지연회로(43)를 거쳐 데이터#RAM3L로서 버스(DBUS)에 송출되어 DSP4에 인가된다.
이상의 스텝S18-S20의 연산처리를 제12도를 따라 나타내면, 가산기(ALU3)(S4)의 출력(즉, 「상관노이즈신호(BWR)의 하한치(마이너스부호붙임)」 을 인버터(INV3)(S18)에서 플러스부호로 되돌리고, 이것을 연산기(ALU3)(S18,20)에서 승산기(MULT)(S6∼S7)의 출력에 가산하여 시프트 레지스터(S/R)로서 기능하는 RAM3(S20)에 기억하도록 한 경로에 대응하고 있다. 시프트 레지스터(S/R)로서 기능하는 RAM3(S20)으로부터 다음의 샘플링 사이클에서 판독된 상관노이즈신호(BWR)는 리니어 로그 변환기(42)에서 대수치로 변환되어 외부 데이터버스(DBUS)에 출력됨과 동시에, 자기의 데이터 갱신을 위해 DSP3의 내부에서 이용된다.
또한, 상술한 바와 같은 노이즈 포먼트 제어용 각 파라미터(NRES, NSKT, NBW) 등을 사용하여 노이즈 포먼트의 스카토 부분과 대역폭을 독립적으로 제어할 수 있도록 한 노이즈 포먼트음 합성방식의 구체예에 대해서는, 예를 들면 일본국특개평4-346502호 공보에서 본 출원인이 이미 개시한 방식을 기본적으로는 사용할 수 있으므로, 상기 방식 그 자체의 상세는 필요에 따라 상기 공보를 참조하기 바란다.
-DSP4에 의한 포먼트음 합성에 관련된 동작예-
다음에, 제13도를 참조해서 제7도의 DSP4의 마이크로 프로그램의 각 스텝마다의 동작예에 대해 설명한다. DSP4의 마이크로 프로그램의 1사이클도 스텝S0∼S20의 21스텝으로 이루어지며, 1스텝이 시스템 클록의 1주기예 대응한다. 이 사이클도 제8도의 1채널 타이밍에 대응하고 있으며, 각 채널마다의 프로그램 사이클이 제8도와 같이 18채널시분할에 의해 실행된다. 제13도에 있어서 (a)는 제7도의 연산기(ALU4)의 「A」 입력에 입력하는 상태로 설정된 데이터를 나타내며, (b)는 제7도의 연산기(ALU4)의 「B」 입력에 입력하는 상태로 설정된 데이터를 나타내며, (c)는 제7도의 오버플로우/언더 플로우 콘트롤러(OF/UF)(56)로부터 출력되는 데이터#4의 내용을 나타내고, (d)는 제7도의 레지스터(REG4)에 기입된 데이터입력의 내용을 나타내고, (e)도는 제7도의 RAM4에 기입입력되는 데이터의 내용을 나타낸다. 제14도는 제7도에 도시된 하드웨어구성으로 이루어진 DSP4에 있어서의 파형합성 연산처리(단, 디지탈 믹서(ALU1 & RAM1)(S11,S12,S19,S20)만은 DSP1에서의 동작이 된다)를 나타낸 연산기능전개 블록도이며, 제10도, 제12와 마찬가지로 실제의 하드웨서 회로구성을 나타낸 도면은 아니다.
(1)스텝S0에 있어서의 DSP4의 동작
스텝S0에서는 1계열째의 포먼트음 파형을 생성하기 위해 주기함수파형을 작성하는 연산의 일과정을 실행한다.
제13(a)(b)도에 나타낸 바와 같이, 스텝S0에서는 연산기(ALU4)의 A입력으로서 1계열째와 중심주파수 위상데이터(PGf1)가 입력되고, 연산기(ALU4)의 B입력에는 아무것도 입력되지 않은 상태로 설정된다.
상세하게는 소정의 타이밍에서 DSP1의 RAM1으로부터 당해 채널의 1계열째의 중심주파수 위상데이터(PGf1)가 판독되고, 상기 판독된 데이터(PGf1)가 데이터#RAM로서 제5도의 DSP1으로부터 데이터버스(DBUS)로 송출되고, 상기 데이터 버스(DBUS)를 경유하여 제7도의 DSP4에 입력되어 리듬음 발생기(52)에 입력된다. 리듬음 발생기(52)에서는 리듬음 생성 온/오프 파라미터(RHY)에 따라 리듬음(즉 타악기음)을 생성하는 모드일 때에는 상기 위상데이터(PGf1)의 위상을 혼란시켜 출력하고, 그렇지 않을 때에는 상기 위상데이터(PGf1)의 위상을 혼란시키지 않고 그대로 출력한다. 리듬음 발생기(52)에서 제어된 위상데이터(PGf1)는 셀렉터(50)에 입력된다. 스텝S0의 처리에서는, 셀렉터(50)에서는 이 리듬음 발생기(52)의 출력데이터를 선택한 상태로 설정된다. 한편, 셀렉터(51)에서는 어느쪽의 데이터도 선택되지 않는다.
따라서, 리듬음 생성온/오프 파라미터(RHY)에 따라 위상을 혼란시키거나 또는 혼란시키지 않은 제어가 이루어진 1계열째의 중심주파수 위상데이터(PGf1)가 지연회로(53)를 거쳐 연산기(ALU4)를 그대로 통과하고, 지연회로(55) 및 오버 플로우/언더플로우 콘트롤러(56)를 경유하고, 거기부터 웨이브 포옴 시프터(60), 지연회로(61), 로그/사인 테이블(62) 및 지연회로(63)를 경유하여 셀렉터(64)의 「β」 입력측에 인가된다.
즉, 이 스텝 S0에서의 처리에 대응하여 실렉터(64)에서는 「β」 입력이 입력된다. 따라서, 스텝 S0에서의 처리에 의해 연산처리되어 오버플로우/언더플로우(OF/UF)(56)를 경유한 상기 위상데이터(PGf1)가 웨이브 포옴 시프터(60), 지연회로(61), 로그/사인 테이블(62) 및 지연회로(63)를 경유하여 셀렉터(64)의 「β」 입력에 이르는 경로에서 처리되고, 상기 셀렉터(64)에서 선택되어 출력된다.
웨이브 포옴 시프터(60)에서는 기본파형 선택지정 파라미터(WF1)에 따라, 상기 위상데이터(PGf1)의 위상치를 시프트하거나, 특정구간만 상기 위상치를 제로로 하거나 하는 위상조작처리를 한다. 이에 따라 위상데이터(PCf1)의 시간대 위상치의 변화특성을 완전히 바꾸고, 상기 변경된 위상데이터에 의거해서 후술한 바와 같이 로그/사인 테이블(62)로부터 판독된 파형데이터의 기본적 파형형상을 단순한 사인파로부터 복잡한 파형까지 임의로 변경한다. 즉, 위상데이터가 시간에 대해 단순히 리니어로 변화되면 단순한 사인파가 판독되지만, 단속적으로 변화하는 등의 특수한 변화를 나타나게 하면 특수한 경시용 파형이 판독되게 된다. 로그/사인 테이블(62)에서는 웨이브 포옴 시프터(60)에서 처리된 위상데이터를 입력하여 이 위상치에 대응하는 대수표현의 사인파형 진폭치 데이터를 판독한다. 이리하여 포먼트 중심주파수의 위상데이터에 대응하는 주기함수 파형데이터가 대수치로 출력된다.
셀렉터(64)에서 출력된 대수치의 파형데이터는 시프트/로그 리니어변환기(65)를 그대로 통과하고, 상기 각 지연회로(53)(55)(61)(63)에 의한 통산 4클록의 지연중 후술하는 스텝S4의 타이밍에서 레지스터(REG4)에기입된다(제13(d)도 참조).
스텝S0에 대응하는 연산기능 전개도는 제14도에서는 노이즈 부여기(52)(S0,S10)로부터 시작되는 경로에 나타나 있으며, 노이즈 부여기(52)(S0,S10)는 리듬음 발생기(52)(제7도)에 대응하고, 연산기(ALU4)(S0,S10)는 연산기(ALU4)(제7도)에 대응하고, 시프트· 리니어 로그/사인 변환기(60 & 62)(S0,S10)는 웨이브 포옴 시프터(60) 및 로그/사인 테이블(62)(제7도)에 대응하고 있다. DSP1으로부터의 중심주파수 위상데이터(PGf1)가 파라미터(RHY)에 따라 노이즈 부여기(52)(S0,S10)에서 위상을 혼란시키거나/혼란시키지 않는 제어가 이루어진 후, 연산기(ALU4)(S0,S10)를 그대로 통과하고, 시프트· 리니어 로그/사인 변환기(60 & 62)(S0,S10)에서 파라미터(WF1)에 따른 상술한 처리를 행하며, 최종적으로 제어된 위상데이터(PGf1)에 대응하여 대수표현의 사인파 데이터가 판독된다.
(2) 스텝S2에 있어서 DSP4의 동작
스텝S1에 있어서의 동작은 하나 앞의 채널로부터의 계속된 동작이므로, 스텝S20에 있어서의 동작설명후에 설명을 하기로 한다.
스텝S2에서는 1계열째의 포먼트음 파형을 생성하기 위해 윈도우함수 파형을 작성하는 연산을 실행한다.
제13(a)(b)도에 나타낸 바와 같이, 스텝S2에서는 연산기(ALU4)니 A입력으로서 1계열째의 윈도우함수파형 위상데이터(PGw1)가 입력되고, 연산기(ALU4)의 B입력에 아무것도 입력되지 않은 상태로 설정된다.
상세하게는 소정의 타이밍에서 DSP1의 RAM1로부터 당해 채널의 1계열째의 윈도우 함수파형 위상데이터(PGw1)가 판독되고, 상기 데이터(PGw1)가 데이터 #RAM1로서 제5도의 DSP1으로부터 데이터버스(DBUS)에 송출되고, 상기 데이터버스(DBUS)를 경유하여 제7도의 DSP4에 입력되고, 리듬음 발생기(52)에 입력된다. 이 경우 리듬음 생성 온/오프 파라미터(RHY)는 오프이고, 윈도우함수파형 위상데이터(PGw1)는 리듬음 발생기(52)에서 아무 변경도 해지지 않고 그대로 셀렉터(50)에 입력된다. 셀렉터(50)에서는 이 데이터#RAM1 즉 데이터(PGw1)를 선택한 상태로 설정된다. 한편, 셀렉터(51)에서는 어느 데이터도 선택되지 않는다.
따라서, 윈도우함수파형 위상데이터(PGw1)가 지연회로(53)를 거쳐 연산기(ALU4)를 그대로 통과하고, 지연회로(55) 및 오버플로우/언더플로우 콘트롤러(56)를 경유하고, 거기서부터 웨이브 포옴 시프터(60), 지연회로(61), 로그/사인 테이블(62) 및 지연회로(63)를 경유하여 셀렉터(64)의 「β」 입력 쪽에 인가된다.
즉, 이 스텝S2에서의 처리에 대응하여 셀렉터(64)에서 「β」 입력이 선택된다. 따라서, 상기 위상데이터(PGw1)가 웨이브 포옴 시프터(60), 지연회로(61), 로그/사인 테이블(62) 및 지연회로(63)를 경유하여 셀렉터(64)로부터 출력된다. 스텝S2에 대응하는 처리에서는, 웨이브 포옴 시프터(60)에서는 윈도우함수 파형 위상데이터(PGw1)의 사이클에 대응하여 로그/사인 테이블(62)로부터 사인파형의 전반의 한 고비(즉 반파)를 윈도우함수파형으로 출력시키도록 하기 위해, 상기 윈도우함수파형 위상데이터(PGw1)의 위상치를 1비트 시프트 다운한다. 로그/사인 테이블(62)에서는 시프트다운된 윈도우함수파형 위상데이터(PGw1)의 위상치에 대응하는 사인파형 진폭치의 대수치를 판독한다. 그리하여 1계열째의 윈도우함수파형 위상데이터가 대수치에 의해 구해진다.
한편, 포먼트의 스카토 특성지정 파라미터(SKT)가 콘트롤러(66)에서 1비트 시프트업되고, 이것이 시프트/로그 리니어 변환기(65)에 입력된다. 상술한 바와 같이 셀렉터(64)로부터 출력된 1계열째의 윈도우함수 파형의 대수치 데이터 「log sin(PGw1)」 는 시프트/로그 리니어 변환기(65)에 입력되고, 상기 스카토특성지정 파라미터(SKT)를 1비트 시프트업한 데이터(즉 2×SKT)에 따라 2×SKT 비트만큼 시프트업된다. 즉, 「(2×SKT)· log sin(PGw1)」 이 되며, 이것은 진수로 표현하면 sin(PGw1)의 2×SKT승의 파형으로 변환되는 것을 의미한다. 이것은 사인파형의 반파로서 판독된 윈도우함수 파형 sin(PGw1)이 2의 n승으로 파형변환되고, 저변(스카토부)에 확장이 있는 윈도우함수파형으로 변환되는 것을 의미한다. 이렇게 해서 얻어진 사인파의 2×SKT승의 반파 파형으로 이루어진 윈도우함수 파형의 대수표현 데이터는 상기 각 지연회로(53)(55)(61)(63)에 의한 통산4클록의 지연중 후술하는 스텝S6의 타이밍에서 레지스터(REG4)에 기입된다(제13(d)도 참조). 또, 이 스텝S2에서는 시프트/로그 리니어 변환기(65)는 상기와 같이 시프터로서 기능하고, 로그 리니어 변환기로는 기능하지 않는다.
스텝S2에 대응하는 연산기능 전개도는 제14도에서는 연산기(ALU4)(S2,S12)로부터 시작되는 경로에 나타나 있으며, 연산기(ALU4)(S2,S12)는 제7도의 연산기(ALU4)에 대응하고, 시프트· 리니어 로그/사인 2승 변환기(60 & 62)(S2,S12)는 제7도의 웨이브 포옴 시프터(60)와 로그/사인 테이블(62)에 대응하고, 시프터(65)(S2,S12)는 시프트/로그 리니어 변환기(65)에 대응하고 있다. DSP1으로부터의 중심주파수 위상데이터(PGf1)가 연산기(ALU4)(S2,S12)를 그대로 통과하고, 시프트· 리니어 로그/사인 2승 변환기(60 & 62)(S2,S12)에서 1비트 시프트 다운되거나 또 사인파형의 대수치로 변환된 후, 파라미터(SKT)의 데이터에 따라 시프터(65)(S2,S12)에서 소정 비트 시프트업된다.
(3) 스텝S5에 있어서 DSP4의 동작
스텝S5에서는 1계열째의 포먼트 중심주파수에 대응하는 주기함수파형 데이터의 음량레벨을 제어하는 연산을 실행한다.
제13(a)(b)도에 도시된 바와 같이 스텝S5에서는 연산기(ALU4)의 A입력으로서 음량레벨 데이터(LVL1)가 입력되고, 연산기(ALU4)의 B입력으로서 데이터 #REG4가 입력된 상태로 설정된다.
상세하게는 소정의 타이밍에서 DSP2의 RAM2로부터 당해 채널의 대수표현의 음량레벨데이터(LVL1)가 판독되고(상술한 바와 같이 이 데이터(LVL1)는 엔벨로프파형이 가미되어 있다), 상기 데이터(LVL1)는 데이터버스(DBUS)에 송출되고, 상기 데이터버스(DBUS)를 통해 제7도의 DSP4에 받아들여지며, 데이터#RAM2로서 셀렉터(50)에 입력된다. 스텝S5에서는, 셀렉터(50)에서는 데이터#RAM2 즉 음략레벨 데이터(LVL1)를 선택한 상태로 설정된다.
한편, 1계열째의 중심주파수 위상데이터(PGf1)에 의거해서 스텝S0에서 구한 주기함수파형의 대수치 데이터가 4클록 지연되어 스텝S4에서 레지스터(REG4)에 받아들여진 후, 스텝S5에 레지스터(REG4)에서 데이터#REG4로서 출력되고, 또셀렉터(51)에서는 이 데이터#REG4를 선택한 상태로 설정된다.
따라서, 상기 포먼트 중심주파수의 주기함수파형의 대수치와 상기 음량 레벨 데이터(LVL1)가 연산기(ALU4)에서 가산된다. 이에 따라, 진수 레벨에서는 음량레벨 데이터(LVL1)를 곱함으로써 상기 주기함수 파형에 음량엔벨로프를 부여하는 처리를 하게 된다.
이 연산결과는 각 지연회로(53)(54)(55)에 의한 통산 2클록의 지연중 오버플로우/언더 플로우 콘트롤러(56)를 거쳐서 후술하는 스텝S6의 타이밍에서 데이터#4로서 출력된다(제13(c)도 참조).
스텝S5에 대응하는 연산기능 전개도는 제14도에서는 시프트· 리니어 로그/사인 2승 변환기(60 & 62)(S0,S10)로부터의 주기함수파형의 대수치와, DSP2로부터의 대수표현의 음량레벨 데이터(LVL1)가 연산기(ALU4)(S5,S15)에서 가산되는 경로에 도시되어 있다.
(4) 스텝S7에 있어서 DSP4의 동작
스텝S7에서는 1계열째의 포먼트음 파형을 생성하기 위해 포먼트 중심주파수에 대응하는 상기 음량 엔벨로프제어가 끝난 주기함수파형과 비트에 대응하는 상기 윈도우함수 파형을 승산하는 연산을 실행한다.
제13(a)(b)도에 도시된 바와 같이, 스텝S7에서는 연산기(ALU4)의 A입력으로서 데이터#4가 입력되고, 연산기(ALU4)의 B입력으로서 데이터#REG4가 입력된 상태로 설정된다.
상세하게는 스텝S5에서 처리한 음량 엔벨로프제어가 끝난 포먼트 중심주파수에 대응하는 상기 주기함수파형의 대수치데이터가 2클록 지연되어 스텝S7에서 데이터#4로서 출력되고, 또 셀렉터(50)에서는 이 데이터#4를 선택한 상태로 설정된다.
한편, 1계열째의 윈도우함수파형 위상데이터(PGw1)에 의거해서 스텝S2에서 구한 윈도우함수 파형의 대수치 데이터가 4클록 지연되어 스텝S6에서 레지스터(REG4)에 받아들여진 후, 스텝S7에 레지스터(REG4)로부터 데이터#REG4로서 출력되고, 또 셀렉터(51)에서는 이 데이터#REG4를 선택한 상태로 설정된다.
따라서, 상기 주기함수 파형의 대수치와 상기 윈도우함수 파형의 대수치가 연산기(ALU4)에서 가산된다. 이에 따라, 진수 레벨에서는 포먼트 장신 주파수에 대응하는 주기함수파형과 음고에 대응하는 윈도우함수 파형을 승산함으로써 1 계열째의 포먼트음 파형신호를 합성하는 진폭변조 연산처리를 하게 된다.
이 스텝S7의 처리에 대응하여 셀렉터(64)에서는 「α」 입력이 선택된다. 따라서, 상기 진폭변호 연산결과인 연산기(ALU4)의 출력데이터(대수치)는 지연회로(55) 및 오버플로우/언더 플로우 콘트롤러(56)를 경유한 후, 지연회로(57)를 거쳐 로그 리니어 변환기(58)에서 진수로 변환되고, 지연회로(59)를 거쳐서 셀렉터(64)로부터 출력된다.
셀렉터(64)로부터 출력된 상기 진폭변조 연산결과인 진수데이터는 시프트/로그 리니어 변환기(65)를 그대로 통과하고, 지연회로(67)를 경유하여 RAM4에 입력된다. 따라서, 상기 진폭변조 연산결과인 진수데이터 즉 합성된 1계열째의 포먼트음의 파형데이터는 상기 각 지연회로(53)(54)(55)(57)(59)(67)에 의한 통산 5클록의 지연중 후술하는 스텝S12의 타이밍에서 RAM4의 당해 채널의 1계열째 포먼트음 파형데이터(TR1)의 기억영역에 기입된다(제13(e)도 참조).
1계열째의 포먼트 중심주파수 위상데이터(PGf1)에 의거한 1계열째의 주기함수파형의 일예를 도시하면 제18(a)도와 같이 되며, 1계열째의 윈도우함수파형 위상데이터(PGw1)에 의거한 1계열째의 윈도우함수 파형의 일예를 도시하면 제 18(c)도와 같이 되고, 이들을 승산하여 생성되는 1계열째의 포먼트음 파형의 일예를 도시하면 제18(e)도와 같이 된다. 이 1계열째의 포먼트음 파형의 음고는 음고주파수 넘버 데이터에 따른 정규 음고(f0)의 1/2(주기로는 2배)이다. 또, 제18(e),(d)도의 윈도우함수 파형에 있어서 각 윈도우파형 사이의 레벨 0의 구간은 제17(e)(f)도의 위상데이터(PGw1)(PGw2)에 있어서 최대위상치의 평탄부에 대응하고 있다.
스텝S7에 대응하는 연산기능 전개도는 제14도에서는 연산기(ALU4)(S7,S17)로부터 시작되는 경로에 나타나 있으며, 연산기(ALU4)(S7,S17)는 제7도의 연산기(ALU4)에 대응하고, 리미터(56)(S7,S17)는 제7도의 오버· 플로우· 언더 플로우 콘트롤러(56)에 대응하고, 로그 리니어 변환기(58)(S7,S17)는 제7도의 로그 리니어 변환기(58)에 대응하고, 레지스터(RAM4)(S7)가 제7도의 RAM4에 대응하고 있다. 게이트(G1)는 포먼트음 합성모드일 때에만 그 경로가 가능화되는 것을 나타낸다. 연산기(ALU4)(S5,S15)로부터의 주기함수 파형의 대수치와, 포먼트음 합성모드일 때에 게이트(G1)를 경유하여 시프터(65)(S2,S12)로부터 인가된 윈도우함수 파형의 대수치가 연산기(ALU4)(S7,S17)에서 가산된 후, 리미터(56)(S7,S17)를 경유하고, 로그 리니어 변환기(58)(S7,S17)에서 진수로 변환되어 레지스터(RAM4)(S7)에 기록된다.
(5) 스텝S10에 있어서 DSP4의 동작
스텝S10에서는 스텝S0과 마찬가지로, 2계열째의 포먼트음 파형을 생성하기 위해 주기함수 파형을 작성하는 연산의 일과정을 실행한다.
스텝S0과 다른 점은 DSP1의 RAM1(제5도)로부터 당해 채널의 2계열째 중심주파수 위상데이터(PGf2)가 판독되고, 상기 데이터(PGf2)가 데이터#RAM1으로서 리듬음 발생기(52)를 거쳐서 셀렉터(50)에서 선택된다는 점이다.
이 2계열째의 중심주파수 위상데이터(PGf2)도 상기 제1계열째의 데이터(PGf1)와 마찬가지로, 지연회로(53), 연산기(ALU4), 지연회로(55), 오버플로우/언더플로우 콘트롤러(56), 웨이브 포옴 시프터(60), 지연회로(61), 로그/사인 테이블(62), 지연회로(63), 셀렉터(64), 시프트/로그 리니어 변환기(65)를 경유하여 상술한 바와 같이 처리된다(단, 웨이브 포옴 시프터(60)에서는 2계열째용 기본파형 선택지정 파리미터(WF2)에 따른 위상조작처리가 가해진다). 그리고, 통산 4클록의 지연중 후술하는 스텝S14의 타이밍에서 레지스터(REG4)에 기입된다(제 13(d)도 참조).
스텝S10에 대응하는 연산기능 전개도는 제14도에서는 상술한 노이즈부호기(52)(S0,S10)로부터 시작되는 경로에 나타나 있다.
(6) 스텝S12에 있어서 DSP4의 동작
스텝S12에서는 스텝S2와 마찬가지로, 2계열째의 포먼트음 파형을 생성하기 위해 윈도우함수 파형을 작성하는 연산을 실행한다.
스텝S2와 다른 점은 DSP1의 RAM1(제5도)로부터 당해 채널의 2계열째 윈도우함수파형 위상데이터(PGw2)가 판독되고, 상기 데이터(PGw2)가 리듬음 발생기(52)를 거쳐서 셀렉터(50)에서 선택된다는 점이다.
이 2계열째의 윈도우함수파형 위상데이터(PGw2)도 상기 제1계열째의 데이터(PGw1)와 마찬가지로, 지연회로(53), 연산기(ALU4), 지연회로(55), 오버플로우/언더플로우 콘트롤러(56), 웨이브 포옴 시프터(60), 지연회로(61), 로그/사인 테이블(62), 지연회로(63), 셀렉터(64), 시프트/로그 리니어 변환기(65)를 경유하며, 통산 4클록의 지연중 후술하는 스텝S16의 타이밍에서 레지스터(REG4)에 기입된다(제13(d)도 참조).
스텝S12에 대응하는 연산기능 전개도는 제14도에서는 상술한 노이즈부호기(52)(S2,S12)로부터 시작되는 경로에 나타나 있다.
(7) 스텝S13에 있어서의 DSP4의 동작
스텝S13에서는 무성포먼트음의 중심주파수에 대응하는 주기함수파형을 작성하는 연산을 실행한다.
제13(a)(b)도에 나타낸 바와 같이, 스텝S13에서는 연산기(ALU4)의 A입력으로서 무성포먼트음의 중심주파수 위상데이터(PGu)가 입력되고, 연산기(ALU4)의 B입력에는 아무것도 입력되지 않은 상태로 설정된다.
상세하게는 소정의 타이밍에서 DSP1의 RAM1으로부터 당해 채널의 위상데이터(PGu)가 판독되고, 상기 위상데이터(PGu)가 데이터#RAM1으로서 데이터버스(DBUS)로 송출된다(제5도). 이 데이터#RAM1 즉 PGu가 데이터버스(DBUS)로부터 DSP4(제7도)에 받아들여지고, 리듬음 발생기(52)를 그대로 통과하여 셀렉터(50)에입력된다. 셀렉터(50)에서는 이 데이터 #RAM1 즉 PGu를 선택한 상태로 설정된다. 한편, 셀렉터(51)에서는 어떤 데이터도 선택되지 않는다.
따라서, 무성포먼트음의 중심주파수 위상데이터(PGu)가 지연회로(53)를 거쳐 연산기(ALU4)를 그대로 통과하고, 지연회로(55) 및 오버플로우/언더플로우 콘트롤러(56)를 경유하고, 거기서부터 웨이브 포옴 시프터(60), 지연회로(61), 로그/사인 테이블(62) 및 지연회로(63)를 경유하여 셀렉터(64)의 「β」 입력측에 인가된다.
즉, 이 스텝S13에서의 처리(64)에서는 「β」 입력이 선택된다. 따라서, 스텝S13에서의 처리에 의해 상기와 같이 연산처리되어 오버플로우/언더플로우 콘트롤러(56)를 경유한 상기 위상데이터(PGf1)가 웨이브 포옴 시프터(60), 지연회로(61), 로그/사인 테이블(62)및 지연회로(63)를 경유하여 셀렉터(64)의 「β」 입력에 이르는 경로에서 처리되며, 상기 셀렉터(64)에서 선택되어 출력된다. 이렇게 해서, 무성포먼트음의 중심주파수 위상데이터(PGu)에 대응하는 주기함수파형의 대수치 데이터가 로그/사인 테이를로부터 판독된다.
셀렉터(64)에서 출력된 대수치데이터는 시프트/로그 리니어변환기(65)를 그대로 통과하고, 상기 각 지연회로(53)(55)(61)(63)에 의한 통산 4클록의 지연중 후술하는 스텝S17의 타이밍에서 레지스터(REG4)에 기입된다(제13(d)도 참조).
스텝S13에 대응하는 연산기능 전개도는 제14도에서는 로그/사인 테이블(62)(S13)의 경로에 나타나 있으며, DSP1로부터 인가된 위상데이터(PGu) 값에 따라 로그/사인 테이블(62)(S13)에서 사인파형의 대수치 데이터가 판독된다.
또한, 마이크로 컴퓨터부(COM)(제1도)로부터 인가된 파라미터중 포먼트 추종제어 플레그(URVF)가 "1"인 경우에는 노이즈 포먼트음 합성을 위한 중심주파수로서 무성포먼트 주파수(UFORM)를 사용하지 않고, 포먼트 주파수(FORM)를 사용하는 모드를 지시한다. 그런 경우에는 DSP4의 제어신호 발생부(6)에서는 공급된 상기 포먼트 추종제어 플래그(URVF)가 "1"이면 이 스텝S13의 처리를 위해 DSP1의 RAM1로부터 판독되는 중심주파수 위상데이터로서 상기 무성포먼트음의 중심주파수 위상데이터(PGu)가 아니라 포먼트음의 중심주파수 위상데이터(PGf1) 또는 PGf2를 판독한다. 따라서, 포먼트 추종제어 플래그(URVF)가 "1"인 경우 이 스텝 S13에서는 포먼트음의 중심주파수 위상데이터PGf1 또는 PGf2에 따라 무성포먼트음 합성용 중심주파수에 대응하는 주기함수파형 데이터를 작성하는 연산을 행한다.
(8) 스텝S15에 있어서 DSP4의 동작
스텝S15에서는 스텝S5와 마찬가지로, 2계열째의 포먼트 중심주파수에 대응하는 주기함수파형 데이터의 음량레벨을 제어하는 연산을 실행한다.
제13(a)(b)도에 도시된 바와 같이, 스텝S15에서는 연산기(ALU4)의 A입력으로서 음량레벨 데이터(LVL2)가 입력되고, 연산기(ALU4)의 B입력으로서 데이터 #REG4가 입력된 상태로 설정된다.
상세하게는 소정의 타이밍에서 DSP2의 RAM2로부터 당해 채널의 대수표현인 음량레벨데이터(LVL2)가 판독되고(상술한 바와 같이 이 데이터(LVL2)는 엔벨로프파형이 가미되어 있다), 상기 데이터(LVL2)가 데이터버스(DBUS)에 송출되고, 상기 데이터버스(DBUS)를 통해 제7도의 DSP4에 받아들여져서 데이터#RAM2로서 셀렉터(50)에 입력된다. 스텝S15에서는, 셀렉터(50)에서, 데이터#RAM2 즉음략레벨데이터(LVL2)를 선택한 상태로 설정된다.
한편, 2계열째의 중심주파수 위상데이터(PGf2)에 의거해서 스텝S10에서 구한 주기함수파형의 대수치 데이터가 4클록 지연되어 스텝S14에서 레지스터(REG4)에 받아들여진 후, 스텝S15에 레지스터(REG4)로부터 데이터#REG4로서 출력되고, 또 셀렉터(51)에서는 이 데이터#REG4를 선택한 상태로 설정된다.
따라서, 상기 2계열째의 포먼트 중심주파수의 주기함수파형 대수치와 상기 음량레벨 데이터(LVL2)가 연산기(ALU4)에서 가산된다. 이에 따라, 진수 레벨에서는 음량레벨 데이터(LVL2)를 곱함으로써 상기 주기함수 파형에 음량엔벨로프를 부여하는 처리를 하게 된다.
이 연산결과는 각 지연회로(53)(54)(55)에 의한 통산 2클록의 지연중 오버플로우/언더 플로우 콘트롤러(56)를 거쳐서 후술하는 스텝S17의 타이밍에서 데이터#4로서 출력된다(제13(c)도 참조).
스텝S15에 대응하는 연산기능 전개도는 스텝S5와 마찬가지로 제14도의 연산기(ALU4)(S5,S15)를 통과하는 경로에 대응하고 있다.
(9) 스텝S16에 있어서 DSP4의 동작
스텝S16에서는 상관노이즈신호(BWR)의 음량레벨을 제어하는 연산을 실행한다.
제13(a)(b)도에 도시된 바와 같이, 스텝S16에서는 연산기(ALU4)의 A입력으로서 노이즈용 음량레벨 데이터(LVLu)가 입력되고, 연산기(ALU4)의 B입력으로서 상관노이즈신호(BWR)가 입력된 상태로 설정된다.
상세하게는 소정의 타이밍에서 DSP2의 RAM2로부터 당해 채널의 대수표현인 음량레벨데이터(LVLu)가 판독되고, 상기 데이터(LVLu)가 데이터버스(DBUS)에 송출되고, 상기 데이터버스(DBUS)를 통해 제7도의 DSP4에 받아들여져서 데이터#RAM2로서 셀렉터(50)에 입력된다. 스텝S16에서는, 셀렉터(50)에서 데이터#RAM2 즉 노이즈용 음량레벨 데이터(LVLu)를 선택한 상태로 설정된다.
한편, 소정의 타이밍에서 DSP3의 RAM3로부터 당해 채널의 상관노이즈신호(BWR)가 판독되고, 이것이 리니어 로그변환기(42)(제6도)에서 대수치로 변환되어 지연회로(43)(제6도)에서 적절히 지연된 후, 데이터#RAM3L로서 데이터버스(DBUS)로 송출되고, 상기 데이터버(DBUS)를 통해 제7도 DSP4에 받아들여져서 셀렉터(51)에 입력된다. 스텝S16에서는 셀렉터(51)에서 데이터#RAM3L 즉 당해 채널의 상관노이즈신호(BWR)를 선택한 상태로 설정된다.
이렇게 해서 연산기(ALU4)에서는 대수표현으로 이루어진 상관노이즈신호(BWR)에 음량레벨 데이터(LVLu)를 가산한다. 이것은 진수 레벨에서는 음량레벨 데이터(LVLu)를 곱함으로써 상관노이즈신호(BWR)예 음량엔벨로프를 부여하는 처리를 한 것이 된다.
연산기(ALU4)의 출력은 지연회로(55)에서 1클록분 지연되고, 오버플로우 콘트롤러(56)를 경유하여 제13(c)도에 나타낸 바와 같이 스텝S18에 데이터#4로서 셀렉터(50)에 입력된다.
스텝S16에 대응하는 연산기능 전개도는 제14도에서는 DSP3로부터의 상관노이즈신호(BWR)와 DSP2로부터의 음량레벨 데이터(LVLu)가 연산기(ALU4)(S16)에서 연산되는 경로에 나타나 있다.
(10) 스텝S17에 있어서 DSP4의 동작
스텝S17에서는 스텝S7과 마찬가지로, 2계열째의 포먼트음 파형을 생성하기 위해 포먼트 중심주파수에 대응하는 상기 음량 엔벨로프제어가 끝난 주기함수파형과 음고에 대응하는 상기 윈도우함수 파형을 승산하는 연산을 실행한다.
제13(a)(b)도에 도시된 바와 같이, 스텝S17에서는 연산기(ALU4)의 A입력으로서 데이터#4가 입력되고, 연산기(ALU4)의 B입력으로서 데이터#REG4가 입력된 상태로 설정된다.
상세하게는 스텝S15에서 처리한 2계열째용 음량 엔벨로프제어가 끝난 포먼트 중심주파수에 대응하는 상기 주기함수파형의 대수치데이터가 2클록 지연되어 스텝S17에서 데이터#4로서 출력되어 셀렉터(50)에서 선택된다. 또한, 2계열째의 윈도우함수파형 위상데이터(PGw2)에 의거해서 스텝S12에서 구한 윈도우함수파형의 대수치 데이터가 4클록 지연되어 스텝S16에서 레지스터(REG4)에 받아들여진 후, 스텝S17에 레지스터(REG4)로부터 데이터#REG4로서 출력되고, 셀렉터(51)에서 선택된다.
따라서, 2계열째에 관한 상기 주기함수 파형의 대수치와 상기 윈도우함수 파형의 대수치가 연산기(ALU4)에서 가산된다. 이에 따라, 진수 레벨에서는 포먼트 장신 주파수에 대응하는 주기함수파형과 음고에 대응하는 윈도우함수 파형을 승산함으로써 2계열째의 포먼트음 파형신호를 합성하는 진폭변조 연산처리를 하게 된다.
이 스텝S17의 처리에 대응하여 셀렉터(64)에서는 「α」 입력이 선택된다.따라서, 상기 진폭변조 연산결과인 연산기(ALU4)의 출력데이터(대수치)는 지연회로(55) 및 오버플로우/언더 플로우 콘트롤러(56)를 경유한 후, 지연회로(57)를 거쳐 로그 리니어 변환기(58)에서 진수로 변환되고, 지연회로(59)를 거쳐서 셀렉터(64)로부터 출력된다. 이 셀렉터(64)의 출력은 시프트/로그 리니어 변환기(65)를 그대로 통과하고, 통산 4클록의 지연중 다음 채널의 스텝S0의 타이밍에서 레지스터(REG4)에 기입된다(제13(d)도 참조).
2계열째의 포먼트 중심주파수 위상데이터(PGf2)에 의거한 2계열째의 주기함수파형의 일체를 도시하면 제18(b)도와 같이 되며, 2계열째의 윈도우함수파형 위상데이터(PGw2)에 의거한 2계열째의 윈도우함수 파형의 일예를 도시하면 제 18(d)도와 같이 되고, 이들을 승산하여 생성된 2계열째의 포먼트음 파형의 일예를 도시하면 제18(f)도와 같이 된다. 이 포먼트음 파형의 음고도 음고주파수 넘버 데이터에 따른 음고(1/f0)의 1/2(주기에서는 2배)이 된다.
스텝S17에 대응하는 연산기능 전개도는 S7과 같이 제14도에서는 연산기(ALU4)(S7,S17)로부터 시작되는 경로에 나타나 있다.
(11) 스텝S18에 있어서의 DSP4의 동작
스텝S18에서는 노이즈 포먼트음 파형을 생성하기 위해 중심주파수에 대응하는 주기함수 파형과 상기 음량 엔벨로프제어가 끝난 상관노이즈신호(BWR)를 승산하는 연산을 실행한다.
제13(a)(b)도에 도시된 바와 같이, 스텝S18에서는 연산기(ALU4)이 A입력으로서 데이터#4가 입력되고, 연산기(ALU4)의 B입력으로서 데이터#REG4가 입력된 상태로 설정된다.
상세하게는 스텝S16에서 처리한 상관노이즈신호(BWR)의 대수치데이터가 2클록 지연되어 스텝S18에서 데이터#4로서 출력되고, 또 셀렉터(50)에서는 이 데이터#4를 선택한 상태로 설정된다. 한편, 스텝S13에서 구한 노이즈합성용 중심주파수에 대응하는 주기함수파형의 대수치 데이터가 4클록 지연되어 스텝S17에서 레지스터(REG4)에 받아들여진 후, 스텝S18에 레지스터(REG4)로부터 데이터#REG4로서 출력되고, 또 셀렉터(51)에서는 이 데이터#REG4를 선택한 상태로 설정된다.
따라서, 노이즈합성용 중심주파수에 대응하는 주기함수 파형의 대수치와 상기 상관노이즈신호(BWR)의 대수치 데이터가 연산기(ALU4)에서 가산된다. 이에따라, 진수 레벨에서는 상기 중심주파수에 대응하는 주기함수파형에 상관노이즈신호(BWR)를 승산함으로써 상기 주기함수파형을 상관노이즈신호(BWR)에 의해 진폭변조한 신호를 구하는 처리를 하게 된다. 이렇게 해서 노이즈 포먼트음이 합성된다.
이 스텝S18의 처리에 대응하여 셀렉터(64)에서는 「α」 입력이 선택된다. 따라서, 상기 진폭변호 연산결과인 연산기(ALU4)의 출력데이터(대수치)는 지연회로(55) 및 리미터로서 기능하는 오버플로우/언더 플로우 콘트롤러(56)를 경유한 후, 지연회로(57)를 거쳐 로그 리니어 변환기(58)에서 진수로 변환되고, 지연회로(59)를 거쳐서 셀렉터(64)로부터 출력된다. 이 셀렉터(64)의 출력은 시프트/로그 리니어 변환기(65)를 그대로 통과하고, 또 지연회로(67)를 풀어 RAM4에 입력되고, 통산 5클록의 지연중 다음 채널의 스텝S2의 타이밍에서 RAM4의 당해 채널의 노이즈 포먼트 파형데이터(TRu) 기억영역에 기입된다(제13(e)도 참조).
스텝S18에 대응하는 연산기능 전개도는 제14도에서는 연산기(ALU4)(S18)을 통과하는 경로에 나타나 있으며, 연산기(ALU4)(S8)는 제7도의 연산기(ALU4)에 대응하고, 리미터(56)(S18)는 제7도의 오버플로우/언더 플로우 콘트롤러(56)에 대응하고, 리니어 로그 변환기(58)는 제7도의 리니어 로그변환기(58)에 대응하고, 레지스터RAM4)(S18)는 제7도의 RAM4에 대응하고 있다. 셀렉터(SEL1)는 상기 포먼트 추종제어 플래그(URVF)의 값에 따른 중심주파수에 대응하는 주기함수파형의 선택기능에 대응하고 있다. 즉, 플래그(URVF)가 "0"이면 로그/사인 테이블(62)(S13) 경로로부터의 무성포먼트 주파수 위상데이터(PGu)에 대응하는 주기함수파형 데이터를 선택하여 연산기(ALU4)(S18)에 인가하지만, 플래그(URVF)가 "1"일 때에는 시프트· 리니어 로그/사인 변환기(60 & 62)(SO,S10)로부터의 포먼트주파수 위상데이터PGf1 또는 PGf2에 대응하는 주기함수 파형데이터를 선택하여 연산기(ALU4)(S18)에 인가한다.
(12) 스텝S20에 있어서 DSP4의 동작
이 스텝S20에서는 다음 채널의 스텝S1의 처리와의 조합에 의해 1계열째의 포먼트음 파형과 2계열째의 포먼트음 파형을 가산함으로써 최종적인 포먼트음 파형데이터를 생성하는 연산을 실행한다.
제13(a)(b)도에 나타낸 바와 같이, 스텝S20에서는 연산기(ALU4)의 A입력에는 아무것도 입력되지 않은 상태로 설정되고, 연산기(ALU4)의 B입력으로서 1계열째의 파형데이터(TR1)가 입력된다.
상세하게는 소정의 타이밍에서 DSP4로부터 당해 채널의 파형데이터(TR1)(즉,1계열째의 포먼트음 파형데이터)가 판독되고, 상기 데이터(TR1)가 지연회로(68)를 경유하여 데이터#RAM4로서 셀렉터(51)에 입력된다. 셀렉터(51)에서는 이 데이터#RAM4를 선택한 상태로 설정된다. 셀렉터(50)에서는 어떤 데이터도 선택되지 않는다.
따라서, 상기 1계열째의 포먼트음 파형데이터(TR1)가 지연회로(54)를 거쳐 연산기(ALU4)를 그대로 통과한다. 이 데이터(TR1)는 각 지연회로(54)(55)에 의한 통산 2클록의 지연중 오버플로우/언더플로우 콘트롤러(56)를 거쳐 다음 채널의 스텝S1의 타이밍에서 데이터#4로서 출력된다(제13(c)도 참조).
(13) 다음 채널의 스텝S1에 있어서의 DSP4의 동작
제13(a)(b)도에 도시된 바와 같이, 스텝S1에서는 연산기(ALU4)의 A입력으로서 데이터#4가 입력되고, 연산기(ALU4)의 B입력으로서 데이터#REG4가 입력된 상태로 설정된다.
상세하게는 앞 채널의 스텝S20에서 판독한 파형데이터(TR1)(1계열째의 포먼트음 파형데이터)가 2클록 지연되어 스텝S1에서 데이터#4로서 출력되고, 또 셀렉터(50)에서는 이 데이터#4를 선택한 상태로 설정된다. 한편, 앞 채널의 스텝 S17에서 구한 2계열째의 포먼트음 파형데이터가 4클록 지연되어 스텝S0에서 레지스터(REG4)에 받아들여지고(제13(d)도), 그 다음의 스텝S1에서 레지스터(REG4)로부터 데이터#REG4로서 출력되고, 또 셀렉터(51)에서는 이 데이터#REG4를 선택한 상태로 설정된다.
따라서, 1계열째의 포먼트음 파형데이터와 2계열째의 포먼트음 파형데이터가연산기(ALU4)에서 가산된다. 이에따라 최종적인 포먼트음 파형이 생성된다.
이 스텝S1의 처리에 대응하여 셀렉터(64)에서는 「γ」 입력이 선택된다. 따라서, 오버플로우/언더 플로우 콘트롤러(56)는 리미터로서 기능하고, 시프트/로그 리니어 변환기(65)는 입력을 그대로 통과시키는 상태로 설정된다. 따라서, 연산기(ALU4)로부터 출력된 최종적으로 합성된 포먼트음 파형데이터는 지연회로(55), 오버플로우/언더 플로우 콘트롤러(56) 및 셀렉터(64)를 경유하여 시프트/로그 리니어 변환기(65)를 그대로 통과하고, 통산 3클록의 지연중 스텝S4의 타이밍에서 RAM4의 당해 채널의 파형데이터(TR2) 기억영역에 기입된다(제13(e)도 참조).
이렇게 해서 최종적으로 2계열분의 포먼트음 파형을 가산한 합성포먼트음 파형의 일예를 제18(g)도에 나타낸다. 동 도면에도 나타나 있듯이, 번갈아서 거의 180도 편의된 윈도우함수 파형에 의한 변조에 의해 합성된, 각각이 1.2f0의 주파수를 가진 1계열째와 2계열째의 포먼트음 파형(제18도의 (e),(f)가 가산 합성됨으로서 음고주파수 넘버 데이터에 따른 정규 음고(1/f0)에 대응하는 음고를 가진 합성포먼트음 파형을 얻을 수 있다. 이 합성포먼트음 파형이 RAM4의 파형데이터(TR2)의 기억영역에 기억된다.
또한, 상기 스텝S20 및 S1 처리의 변형예로서 1계열째의 포먼트음 파형데이터와 2계열째의 포먼트음 파형데이터를 가산하지 않고, 2계열째의 포먼트음 파형데이터만을 RAM4의 파형데이터(TR2) 기억영역에 기입하도록 해도 된다. 그 경우에는 RAM4에 있어서의 파형데이터(TR1) 기억영역에는 1계열째의 포먼트음 파형데이터와2계열째의 포먼트음 파형데이터가 기억되게 된다.
스텝S20 및 S1에 대응하는 연산기능 전개도는, 제14도에서는 레지스터(ALU4 & RAM4)(S17,S20,S1)의 경로에 나타나 있으며, 로그 리니어변환기(58)(S7,S17)로부터의 1계열째의 포먼트음 파형데이터와 2계열째의 포먼트음 파형데이터가 레지스터(ALU4 & RAM4)(S17,S20,S1)에서 가산되어 유지된다. 이 레지스터(ALU4 & RAM4)(S17,S20,S1)의 경로는 제7도의 ALU4와 RAM4의 처리에 대응하고 있다.
-DSP1에 의한 포먼트음 믹싱연산의 동작예-
다음에, 제5도 및 제9도로 돌아가 DSP1의 「믹싱연산」 의 동작예를 설명한다.
(1) 스텝 S11에 있어서 DSP1의 동작
스텝 S11에서는 각 채널의 합성포먼트음 파형데이터를 사운드시스템(SS) 좌측의 스피커용으로 합계하는 연산을 실행한다.
제13(a)(b)도에 도시된 바와 같이, 스텝S11에서는 제5도의 연산기(ALU4)의 A입력으로서 데이터(TR2)가 입력되고, 연산기(ALU4)의 B입력으로서 데이터(MIXL)가 입력된 상태로 설정된다.
상세하게는 소정 타이밍에서 DSP4의 RAM4(제7도)로부터 당해 채널의 파형데이터(TR2)(1계열째의 포먼트음 파형데이터와 2계열째의 포먼트음 파형데이터를 가산한 최종적인 포먼트음 파형데이터)가 판독되고, 상기 데이터(TR2)가 데이터버스(DBUSO)를 통해 DSP1에 인가되고, 제5도에 있어서의 데이터#RAM4로서 셀렉터(10)에 입력된다. 셀렉터(10)에서는 이 데이터#RAM4를 선택한 상태로 설정된다. 또한, 포먼트음의 패닝을 지정하는 파라미터(PAN)에 따라 PAN테이블(21)로부터 판독된 좌측레벨 제어데이터가 셀렉터(22)를 거쳐 콘트롤러(23)에 인가된다. 셀렉터(10)로부터 출력된 상기 파형데이터(TR2)가 파라미터(PAN)에 대응하는 좌측레벨 제어데이터에 따른 콘트롤러(23)의 제어에 의해 로그 리니어변환/시프트기(14)에서 시프트되고(즉, 좌측레벨 제어데이터에 따라 레벨제어되고), 지연회로(15)를 거쳐서 연산기(ALU1)의 「A」 입력에 입력된다.
한편, DSP1의 RAM1로부터 좌측악음 혼합데이터(MIXL)가 판독되고, 상기 데이터(MIXL)가 데이터#RAM1로서 제5도의 셀렉터(11)에 입력되어 상기 셀렉터(11)에서 선택된다. 이 데이터(MIXL)는 로그 리니어변환/시프트/± 부호기(16)를 그대로 통과하고, 지연회로(17)를 거쳐서 연산기(ALU1)의 「B」 입력에 입력된다.
따라서, 좌측레벨 제어데이터에 따라 레벨제어된 상기 당해 채널의 합성 포먼트음 파형데이터(TR2)와 상기 좌측악음 혼합데이터(MIXL)가 연산기(ALU1)에서 가산된다. 이 가산결과는 각 지연회로(15)(17)(18)(19)(24)에 의한 통산 4클록의 지연중 제9도의 스텝S15의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐서 RAM1의 좌측악음 혼합데이터(MIXL)의 기억영역에 기억된다(제9(e)도). 이와 같이 해서 각 채널마다 제9도의 스텝S11 처리에 의해 팬용으로 좌측레벨제어된 각 채널의 합성포먼트음 파형데이터의 샘플치가 순차로 합해져서 RAM1의 좌측악음 혼합데이터(MIXL) 기억영역에 기억된다.
(2) 스텝S12에 있어서의 DSP1의 동작
스텝S12에서는 스텝S11과 마찬가지로 각 채널의 합성포먼트음 파형데이터를사운드 시스템(SS)의 우측 스피커용으로 합계하는 연산을 실행한다.
스텝S11과 다은 점은 포먼트음의 패닝을 지정하는 파라미터(PAN)에 따라 PAN테이블(21)로부터 우측레벨 제어데이터를 판독하고, 셀렉터(22)를 거쳐 콘트롤러(23)에 인가하도록 하는 점과, RAM1으로부터 데이터#RAM1로서 우측악음 혼합데이터(MIXR)를 판독하고, 상기 데이터(MIXR)를 셀렉터(11)에서 선택한다는 점이다.
따라서, 우측레벨 제어데이터에 따라 레벨제어된 합성포먼트음 파형데이터(TR2)와 상기 우측악음 혼합데이터(MIXR)가 연산기(ALU1)에서 가산된다. 이 가산결과는 각 지연회로(15)(17)(18)(19)(24)에 의한 통산 4클록의 지연중 스텝S16의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐서 RAM1의 우측악음 혼합데이터(MIXR)의 기억영역에 기억된다(제9(e)도). 이와 같이 해서 각 채널마다 제9도의 스텝 S12 처리에 의해 팬용으로 우측레벨 제어된 각 채널의 합성포먼트음 파형데이터의 샘플치가 순차적으로 더해져서 RAM1의 우측악음 혼합데이터(MIXR) 기역영역에 기억된다.
(3) 스텝S19에 있어서의 DSP1의 동작
스텝S19에서는 각 채널의 노이즈 포먼트음 파형데이터를 대상으로 하여 좌측레벨제어를 하고, 스텝S11과 마찬가지로 사운드 시스템(SS)의 좌측 스피커용으로 합하는 연산을 실행한다.
스텝S11과 다른 점은 DSP4의 RAM4로부터 당해 채널의 노이즈 파형데이터(노이즈 포먼트음 파형데이터)(TRu)가 판독되어 데이터버스(DBUS)를 통해 DSP1에 인가되고, 상기 데이터(TRu)가 셀렉터(10)에서 선택된다는 점과, 무성포먼트음의 패닝을 지정하는 파라미터(uPAN)에 따라 PAN테이블(21)로부터 노이즈용 좌측레벨 제어데이터가 판독되고, 셀렉터(22)를 거쳐서 콘트롤러(23)에 인가된다는 점이다. 또, 스텝S15에 있어서 RAM1에 기입된 좌측악음 혼합데이터(MIXL)가 판독되어 데이터#RAM1로서 셀렉터(11)에 입력된다.
따라서, 파라미터(uPAN)에 따라 좌측레벨제어된 노이즈 파형데이터(TRu)와 상기 좌측악음 혼합데이터(MIXL)가 연산기(ALU1)에서 가산된다. 이 가산결과는 각 지연회로(15)(17)(18)(19)(24)에 의한 통산 4클록의 지연중 다음 채널의 스텝S3의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐서 RAM1의 우측악음 혼합데이터(MIXR) 기억영역에 기억된다(제9(e)도).
(4) 스텝 S20에 있어서 DSP1의 동작
스텝 S20에서는 스텝 S19와 마찬가지로 각 채널의 노이즈포먼트음 파형데이터를 대상으로 하여 우측레벨 제어를 행하며, 스텝 S12와 마찬가지로 사운드시스템(SS)의 우측 스피커용으로 합하는 연산을 실행한다.
스텝 S19와 다른 점은 RAM1로부터 우측 악음 혼합데이터(MIXR)가 판독되고, 상기 데이터(MIXR)가 셀렉터(11)에서 선택된다는 점이다.
따라서, 파라미터(uPAN)에 따라 우측 레벨 제어된 파형데이터(TRu)와 상기 우측 악음 혼합데이터(MIXR)가 연산기(ALU1)에서 가산된다. 이 가산결과는 각 지연회로(15)(17)(18)(19)(24)에 의한 통산 4클록의 지연중 다음 채널인 스텝 S4의 타이밍에서 아웃풋 콘트롤러(20)를 거쳐 RAM1의 우측 악음 혼합데이터(MIXR)의 기억영역에 기억된다(제9(e)도).
또한, 좌측악음 혼합데이터(MIXL) 및 우측악음 혼합데이터(MIXR)의 값은 전체 채널의 포먼트음 파형데이터 및 노이즈 파형데이터에 대한 각 1샘플 데이터값의 합계누산을 완료할 때마다 각각 갱신된다.
또한, 상기에서는 1계열째와 2계열째의 포먼트음 파형데이터를 가산한 합성포먼트음 파형데이터가 RAM4의 파형데이터(TR2) 기억영역에 기억되어 있는 것으로 설명했으나, 상술한 변형예와 같이 2계열째의 포먼트음 파형데이터만을 RAM의 파형데이터(TR2) 기억영역에 기억한 경우에는 파형데이터(TR1)와 파형데이터(TR2)와 파형데이터(TRu) 3자의 각각에 대해 팬용 레벨제어를 한 후에 합하도록 하면 된다.
제9도의 스텝S11, S12, S19, S20에 대응하는 연산기능 전개도는 제14도에서는 디지탈 믹서(14 & ALU1 & RAM1)(S11,S12,S19,S20)의 경로에 나타나 있다. 제14도에 도시된 셀렉터(SEL2)는 레지스터(ALU4)(S17,S20,S1) 즉 DSP4의 RAM4에 기억된 파형데이터(TR2)를 선택적으로 판독하여 상기 믹싱처리를 위해 DSP1에 송출하는 기능에 대응하고 있다.
이상과 같이, DSP1, DSP2, DSP3, DSP4의 협동에 의거해서 포먼트음 합성방식에 이해 악음파형데이터(좌측 및 우측악음 혼합데이터(MIXL,MIXR)가 작성되고, DSP1의 RAM1에 기억된다. 이렇게 해서 작성된 악음파형데이터(MIXL,MIXR)가 소정 타이밍에서 DSP1의 RAM1으로부터 판독되고, 데이터버스(DBUS) 및 인터페이스(DIF)를 통해 DA변환기(DACO)로 이송된다.
-FM합성에 관련된 DSP1의 동작예-
다음에, 각 DSP1-DSP4의 협동에 의거해서 FM합성방식에 의한 악음파형의 합성연산을 행하는 경우의 동작예에 대해 설명한다. 또한, DSP2 및 DSP3는 상술한 포먼트음 합성방식과 이 FM합성방식에 있어서 공통의 마이크로 프로그램을 실행하므로, 그들 동작예의 설명은 생략한다. 또한, 이하의 예에서는 FM(주파수변조)용 파형연산요소로서 2개의 연산요소를 사용하는 것이며, 각 연산요소를 오퍼레이터 OP1 및 OP2라 부르기로 한다.
예를 들면, 어떤 FM연산 알고리즘에서는, 오퍼레이터(OP1)에서 변조파신호를 발생하고, 오퍼레이터(OP2)에서는 상기 변조파신호에 의한 반송파신호의 위상변조 즉 주파수변조연산과 그 결과에 의거한 변조된 파형신호의 생성연산을 행한다. 그래서, 설명의 편의상 이하에서는 오퍼레이터(OP1)에서 생성하는 파형을 변조파라 부르고, 오퍼레이터(OP2)에서 생성하는 파형을 반송파라 부르기로 한다. 그러나, 이 말의 의미는 엄밀한 것은 아님에 유의하기 바란다. 즉, 다른 FM연산 알고리즘에서는 어떤 오퍼레이터출력도 다른 오퍼레이터의 발생파형의 위상을 변조하지 않는 경우도 있으며, 또 다른 FM연산 알고리즘에서는 어떤 오퍼레이터의 출력파형 데이터에 의해 스스로의 위상을 변조하는 경우도 있다. 또한, 경우에 따라서는 오퍼레이터(OP2)의 출력파형에 의해 오퍼레이터(OP1)의 발생파형의 위상을 변조하도록 해도 된다.
대체로 DSP1에서는 오퍼레이터 OP1 및 OP2의 위상데이터 발생연산을 행하고, DSP4에서는 오퍼레이터 OP1 및 OP2에 있어서의 발생위상데이터에 의거한 변조파 파형발생과 반송파의 위상변조연산 및 변조된 위상데이터에 의거한 파형발생연산처리를 행한다.
실행해야 할 FM연산 알고리즘은 상술한 악음합성 알고리즘 파라미터(ALG)에 의해 지정된다. 예를 들면, 상기 파라미터(ALG)의 값이 "0"이외일 때, FM합성방식의 모드에서 악음합성연산을 할 것을 지시하고, 그 때의 ALG값 「1」 또는 「2」 등에 따라 소정의 FM연산 알고리즘이 선택된다. 또한, 이하 설명한 예에서는 각 FM연산 알고리즘은 공통의 FM합성용 마이크로 프로그램을 사용하여 실현할 수 있으며, 나중에는 일부의 소정스텝에서의 처리에 사용하는 데이터를 선택적으로 변경하는 처리를 하는 것 만으로 각각의 FM연산 알고리즘을 실현할 수 있다.
제15도는 FM합성방식에 의거해서 악음합성을 할 때의 DSP1에 있어서의 마이크로 프로그램 각 스텝마다의 동작예를 나타낸 것으로, 제9도의 예와 마찬가지로 DSP1에서는 「위상연산」 및 「믹싱연산」 을 행한다. 따라서, 이 제15도의 동작예를 이해하려면 이미 상세하게 설명한 포먼트음 합성방식을 위한 제9도의 동작예를 참조할 수 있으므로, 중복된 설명은 생략한다. 또한, 이 제15도의 프로그램에 의거해서 DSP1이 실행하는 처리의 연산기능 전개도는 제10도에 도시된 것에 대응하고 있다. 단, 제10도의 각 회로기능요소의 번호 말미에 괄호쓰기로 붙여진 스텝번호는 제9도의 프로그램에 대응하는 것이므로, 반드시 제15도의 스텝이 대응하고 있다고 한할 수는 없음을 미리 알아두기 바란다.
제15도에 있어서 스텝S0, 스텝S3, 스텝S6에서는 음고주파수 넘버(FNUM)의 변경제어처리를 행하고, FM용 제1오퍼레이터(OP1)를 위한 주파수 넘버 즉 변조파 주파수 넘버를 작성한다. 스텝S9에서는, 스텝S0∼스텝S6에서 구한 오퍼레이터(OP1)의주파수 넘버의 누산연산을 행함으로써 상기 오퍼레이터(OP1)의 프로그레시브 위상데이터(즉 변조파 위상데이터)(PGf1)를 작성한다.
또, 스텝S2, 스텝S5, 스텝S8에서는 음고주파수 넘버(FNUM)에 의거한 주파수 넘버의 변경처리를 행하고, FM용 제2의 오퍼레이터(OP2)를 위한 주파수 넘버 즉 반송파주파수 넘버를 작성한다. 그리고, 스텝S16에서는 스텝S2∼스텝S8에서 구한 오퍼레이터(OP2)의 주파수 넘버의 누산연산을 행함으로써 상기 오퍼레이터(OP2)의 프로그레시브 위상데이터 (즉 반송파 위상데이터)(PGf2)를 작성한다. 또, 설명의 편의상 각 오퍼레이터(OP1),(OP2)에 있어서의 위상데이터(PGf1, PGf2)는, 상술한 포먼트음합성처리시의 중심주파수 위상데이터(PGf1),(PGf2)와 같은 부호를 사용하지만 그 내용은 전혀 다른 것이다.
제15도에 있어서 상기 스텝이외의 [위상연산] 스텝의 처리 순서는 제9도의 동일 스텝과 대체로 동일하며(단 FM합성 연산에 있어서는 불필요한 데이터를 작성하는 스텝도 존재하지만, 그 결과는 FM합성 연산에서는 사용되지 않으므로 문제없다) 또, [믹싱 연산]의 스텝처리 순서도 제9도의 동일 스텝과 대체로 같다.
그래서, 이하에서는 스텝S0, 스텝S3, 스텝S6에서의 처리 및 그 처리 결과에 의거한 스텝S9의 처리와, 스텝S2, 스텝S5, 스텝S8에서의 처리 및 그 처리결과에 의거한 스텝S16의 처리에 관해 특별히 설명하기로 한다.
(1) 스텝S0, 스텝S3, 스텝S6에 있어서의 DSP1의 동작
제15도에 있어서 스텝S0, 스텝S3, 스텝S6에서는 제9도의 스텝S0, 스텝S3, 스텝S6과 거의 같은 처리 순서에 의해 음고주파수 넘버(FNUM)의 변경제어처리를 행한다. 그러나, 처리순서는 같아도 그 처리에 사용되는 파라미터의 구체적 내용이 FM합성과 포먼트음합성에서는 전혀 다르기 때문에, 결과적으로 작성된 데이터가 전혀 다른 것임은 말할 것도 없다. 즉, 제15도의 스텝(S0, S3, S6)에서는 제9도의 스텝(S0, S3, S6)과 거의 같은 처리순서를 실행함으로써, 음고주파수 넘버 (FNUM)에 의거한 주파수 넘버의 변경처리를 행하지만, 변경된 음고주파수 넘버로써 오퍼레이터(OP1)를 위한 주파수 넘버 즉 변조파 주파수 넘버가 생성된다.
우선, 스텝S0에서는 발생해야 하는 악음의 음고를 나타내는 음고주파수 넘버(FNUM)를 어태크 그라이드 데이터(AG)에 따라 변경 제어하는 처리를 행한다. 이 경우 상술한 바와 같이 채널 동기동작 플래그(RBP)의 내용에 따라 [채널 돌기 동작]처리도 행해진다(즉, 음고주파수 넘버(FNUM)로써 FNUMn 또는 FNUMn-1이 사용된다).
다음 스텝S3에서는 제9도와 마찬가지로 변경제어된 음고주파수 넘버(FNUM)의 대수치를 진수치로 변환하는 처리를 로그리니어변환/ 시프터기(14)(제5도)을 통하여 행한다. 이 변환결과는 스텝S6시에 아웃풋 컨트롤러(20)(제5도)로부터 출력되고, 레지스터(REG1)에 받아들여진다. 레지스터(REG1)에 받아들여진 데이터는 시간지연없이 출력되어 데이터(#REG1)로서 셀렉터(10,11)에 입력된다.
이리하여 스텝S6에 있어서는 스텝S3의 처리에 의해 진수치로 변환된 음고주파수 넘버(FNUM)가 데이터(#REG1)로써 셀렉터(10) 및 셀렉터(11)에 입력되고, 이것이 각각 선택되어 연산기(ALU1)의 A입력 및 B입력에 인가된다. 한편, 이 스텝S6에서는 FM변조파용의 주파수 배수 파라미터(MULT1)가 셀렉터(22)를 통하여컨트롤러(23)에 인가되고, 상기 파라미터에 의거한 컨트롤러(23)의 제어에 의해 로그 리니어 변환/시프터기(14) 및 로그 리니어 변환/시프터/± 기(16)에서는 각각 소정 자리수만큼의 시프터 동작과 플러스, 마이너스 부호의 반전 동작을 행한다. 이것은 상술한 대로 2의 n승배 이외의 임의의 배수(예를 들면 3배,5배,6배,7배 등)의 연산을 하기 위함이다.
이리하여 악음의 음고주파수를 파라미터(MULT1)에 의해 설정된 소망하는 배수만큼 배승한 주파수로 이루어진 주파수 넘버데이터가 변조파주파수 넘버로서 생성된다. 이 스텝S6에서 음고주파수의 소망 배수의 크기로 변경된 변조파주파수넘버 데이터는, 각 지연회로(15),(17),(18),(19)에 의한 통산 3클록 지연 후 후술하는 스텝S9의 타이밍에서 아웃풋 컨트롤러(20)를 거쳐 레지스터(REG1)에 기입된다.
스텝S0,S3,S6에 대응하는 연산 처리는 제10도에 있어서의 비브라토 데이터 발생기(12a)(S0)로부터 연산기(ALU1)(S6)에 이르는 경로에 대응하고 있다.
(2) 스텝S9에 있어서의 DSP1의 동작
제15(a),(b)도에 도시한 바와 같이, 스텝S9에서는 연산기(ALU1) 의 A입력으로써 데이터#REG1가 입력되고, 연산기(ALU1)의 B입력으로써 변조파 위상데이터PGf1의 현재치(즉 전회까지의 누산결과)가 입력된 상태로 설정된다.
상세하게는, 제5도에 있어서 스텝S6의 처리로 얻어진 변조파주파수 넘버 데이터가 3클록 지연되어 이 스텝S9에서 레지스터(REG1)에 기억되고 (제15(d)도 참조), 또 데이터#REG1으로써 상기 레지스터(REG1)로부터 바로 출력된다. 또 셀렉터(10)에서는 이 데이터#REG1을 선택한다. 이 데이터#REG1은 로그 리니어변환/시프터기(14)를 그대로 통과하고, 지연회로(15)를 거쳐 연산기(ALU1)의 A입력에 입력된다. 한편, RAM1로부터 당해 채널의 변조파 위상데이터(PGf1)의 현재치(즉 전회까지의 누산결과)가 판독되고, 데이터#RAM1으로써 셀렉터(11)에 입력된다. 또, 셀렉터(11)에서는 이 데이터를 선택한 상태로 설정된다. 이 데이터#RAM11은 로그 리니어 변환/시프터/± (16)를 그대로 통과하고 지연회로(17)를 거쳐 연산기(ALU1)의 B입력에 입력된다.
따라서, 연산기(ALU1)에서는 상기 변조파주파수 넘버가 변조파위상데이터(PGf1)의 현재치에 가산되며, 변조파 위상데이터(PGf1)의 값이 변조파 주파수 넘버값의 분량만큼 증가된다. 이 가산결과는 각 지연회로(15),(17),(18),(19),(24)에 의한 통산 4클록의 지연 후 후술하는 스텝S13의 타이밍에서 아웃풋 컨트롤러(20)를 거쳐 RAM1의 당해 채널의 변조파 위상데이터(PGf1) 기억영역에 기억된다.
이 스텝S9에 대응하는 연산처리는 제10도에 있어서의 연산기(ALU1)(S6)로부터 셀렉터(SEL1)를 거쳐 위상발생기(ALU1 & RAM1)(S13,S16)에 이르는 경로에서 위상데이터(PGf1)를 생성하는 부분에 대응하고 있다. 또, 셀렉터(SEL1)는 FM합성모드일 때 연산기(ALU1)(S6)의 출력을 선택하여 위상 발생기(ALU1 & RAM1)(S13,S16)에서 누산되도록 하는 선택 기능을 나타내고 있다.
(3) 스텝S2, S5, S8에 있어서의 DSP1의 동작
제15도에 있어서 스텝S2, S5, S8에서는 상기 스텝S0,S3,S6과 거의 같은 처리 순서에 의해 음고주파수 넘버(FNUM)의 변경제어처리를 행한다. 그러나, 처리 순서는 같아도 그 처리에 사용되는 파라미터의 구체적 내용이 다르기 때문에, 결과적으로 작성되는 데이터는 다르다. 즉, 제15도의 스텝S2, S5, S8에서는 스텝 S0,S3,S6과 거의 같은 처리 순서를 실행함으로써, 음고주파수 넘버(FNUM)에 의거한 주파수 넘버의 변경처리를 행하지만, 변경된 음고주파수 넘버로써 오퍼레이터(OP2)를 위한 주파수 넘버 즉 반송파 주파수 넘버가 생성된다.
스텝S2, S5의 처리에서는 스텝S0, S3과 마찬가지로 발생해야 하는 악음의 음고를 나타내는 음고주파수 넘버(FNUM)를 어태크 그라이드 데이터(AG)에 따라 변경제어한다.
스텝S8에서는 스텝S6과 마찬가지로, 스텝S5의 처리에 의해 진수치로 변환된 음고주파수 넘버(FNUM)가 데이터#REG1으로써 셀렉터(10)(11)에 입력되고, 이것이 선택되어 연산기(ALU1)의 A입력 및 B입력에 인가된다. 한편, 이 스텝S8에서는 FM반송파용 주파수배수파라미터(MULT2)가 셀렉터(22)를 통하여 컨트롤러(23)에 인가되고, 상기 파라미터에 의거한 컨트롤러(23)의 제어에 의해 로그 리니어 변환/시프터기(14) 및 로그리니어 변환/시프터/± 기(16)에서는 각각 소정자리수 만큼의 시프터 동작과 플러스,마이너스 부호의 반전동작을 행한다. 이것은 상술한 대로 2의 n승배 이외의 임의 배수의 연산을 행하기 위함이다.
이리하여 악음의 음고주파수를 파라미터(MULT2)에 의해 설정된 소정의 배수만큼 배증한 주파수로 이루어진 주파수 넘버 데이터가 반송파 주파수 넘버로서 생성된다. 이 스텝S8에서 음고주파수의 원하는 배수의 크기로 변경된 반송파 주파수 넘버데이터는, 각 지연회로(15),(17),(18),(19)에 의한 통산 3클록의 지연 후스텝S11의 타이밍에서 아웃풋 컨트롤러(20)를 거쳐 레지스터(REG1)에 기입된다(제15(d)도 참조).
스텝S2, S5, S8에 대응하는 연산 처리도 제10도에 있어서는 비브라토데이터 발생기(12a)(S0)로부터 연산기(ALU1)(S6)에 이르는 경로에 대응하고 있다.
(4) 스텝S16에 있어서의 DSP1의 동작
제15(a),(b)도에 도시한 바와 같이, 스텝S16에서는 연산기(ALU1)의 A입력으로써 데이터#REG1이 입력되고, 연산기(ALU1)의 B입력으로써 반송파 위상데이터(PGf2)의 현재치(즉 전회까지의 누산결과)가 입력된 상태로 설정된다.
상세하게는, 제5도에 있어서 상기 스텝S11에서 레지스터(REG1)에 받아들여진 반송파 주파수 넘버데이터가, 데이터#REG1로써 레지스터(REG1)로부터 출력되고 셀렉터(10)에 입력되고 있다. 스텝S16에 대응하는 처리에 있어서, 셀렉터(10)에서는 이 데이터#REG1를 선택한 상태가 된다. 이 데이터#REG1는 로그 리니어 변환/시프터기(14)를 그대로 통과하고, 지연회로(15)를 거쳐 연산기(ALU1)의 A입력에 입력된다. 한편 RAM1에서 당해 채널의 반송파 위상데이터(PGf2)의 현재치(즉 전회까지의 누산 결과)가 판독되고, 데이터#RAM1으로써 셀렉터(11)에 입력되며, 상기 셀렉터(11)에서 선택된다. 셀렉터(11)로부터 출력된 반송파 위상데이터(PGf2)는 로그 리니어 변환/시프터/± (16)를 그대로 통과하고 지연회로(17)를 거쳐 연산기(ALU1)의 B입력에 입력된다.
따라서, 연산기(ALU1)에서는 상기 반송파 주파수 넘버가 반송파 위상데이터(PGf2)의 현재치에 가산되고, 반송파 위상데이터(PGf2)값은 반송파 주파수 넘버값의 분량만큼 증가된다. 이 가산 결과는 각 지연회로(15),(17),(18),(19),(24)에 의한 통산 4클록의 지연 중 후술하는 스텝S20의 타이밍에서 아웃풋 컨트롤러(20)를 거쳐 RAM1의 당해 채널의 반송파 위상데이터(PGf2) 기억영역에 기억된다.
이 스텝S16에 대응하는 연산처리는 제10도에서의 연산기(ALU1)(S6)에서 셀렉터(SEL1)를 거쳐 위상발생기(ALU1 & RAM1)(S13,S16)에 이르는 경로에 있어서 위상데이터(PGf2)를 생성하는 부분에 대응하고 있다.
(5) 스텝S4, S7에 있어서의 DSP1의 동작
제15도의 스텝S4, S7에 있어서의 처리 동작은 제9도에서 대응하는 스텝과 같고, 노이즈 포먼트음용 중심주파수에 대응하는 위상데이터(PGu)를 작성하는 처리를 행한다. FM합성 모드에 있어서도 노이즈 포먼트음합성 즉 노미즈 파형데이터(TRu)의 합성을 행하는 것이 가능하다. 스텝S7에서 구해진 노이즈용 위상데이터(PGu)는 스텝S11에서 RAM1의 데이터(PGu)의 기억 영역에 기억되고, 상술한 바와 같이 DSP4의 처리에 의해 노이즈 포먼트음합성을 위해 이용된다.
스텝S4, S7에 대응하는 연산 처리는 제10도에 있어서의 변조 데이터 발생기(12g)(S4)로부터 위상 발생기(ALU1 & RAM1)(S7)에 이르는 경로에 대응하고 있다.
(6) 스텝S11, S12, S19, S20에 있어서 DSP1의 동작
제15도에 있어서 스텝S11, S12, S19, S20의 처리 동작은 기본적으로는 제9도에서 대응하는 스텝과 같으며, 패닝용 파라미터(PAN),(uPAN)에 따른 좌우의 레벨제어 데이터를 각 채널마다의 RAM1의 파형데이터(TR1),(TR2),(TRu)에 승산하고, 레벨 제어가 끝난 파형데이터를 전체 채널분 합하여 좌우의 악음 혼합데이터(MIXL), (MIXR)를 구한다.
이들 스텝S11, S12, S19, S20에 있어서의 [믹싱연산]처리는 상술한 바와 마찬가지로 제14도의 기능도에 있어서 디지탈 믹서(ALU1 & RAM1)(S11,S12,S19,S20)의 경로에 대응한다.
(7) 다른 스텝의 동작
제15도의 스텝S10, S13∼S15, S17, S18에 있어서의 연산기(ALU1)의 처리동작은 기본적으로는 제9도에서 대응하는 스텝과 같고, 대체로 위상데이터(PGp1),(PGp2),(PGw1),(PGw2)의 연산처리에 관련되어 있다. 단, FM합성시에는 이들 위상데이터는 전혀 사용하지 않으므로 무의미한 처리이다. 프로그램 작성의 간략화라는 사정상, 포먼트음합성 프로그램과 일부 중복되어 있을 뿐이기 때문에 이들 스텝의 동작 내용을 모두 없앤 프로그램을 사용해도 된다. 또, 제15도에 있어서 스텝S17에서 스텝S13의 결과를 RAM1의 데이터(PGp1) 기억영역에 기억하도록 한다는 점이 제9도에 있어서 스텝S17의 처리와는 다르다. 이것은 FM합성시에는 스텝S13에 있어서의 연산기(ALU1) 연산처리는 무의미하기 때문에 이 연산 결과를 제9도에 있어서 스텝S17의 처리와 동일하게 데이터(PGf1)의 기억영역에 기입한 것은 스텝S13에 있어서의 RAM기입처리에 의해 RAM의 데이터PGf1의 기억영역에 기입한 바른 변조파 위상데이터(PGf1)를 손상시키게 되므로, 그것을 막기 위해서 FM합성시에는 사실상 사용되지 않는 RAM1의 데이터(PGp1) 기억영역에 기입하도록 하고있다. 즉, 있으나 없으나한 FM합성 처리에 실질적 영향을 미치지 않는 스텝에서는 포먼트음합성 처리의 프로그램이 일부 남겨져 있지만, 그와 같은 스텝에서도 FM합성 처리에 영향을 미치는 경우가 있는 일부 처리는 별도의 무의미한 처리로 다시 고치는 것이다.
-DSP4에 의한 FM합성에 관련된 동작예-
제16도는 FM합성 방식에 의거한 악음합성을 행할 때의 DSP4에 있어서 마이크로 프로그램의 각 스텝마다의 동작예를 도시한 것이고, 제13도의 예와 마찬가지로 DSP4에서는 [파형생성연산]을 위한 처리를 행한다. 따라서, 이 제16도의 동작예를 이해하려면 이미 상세하게 설명한 포먼트음 합성방식을 위한 제13도의 동작예를 참조할 수 있으므로 중복된 설명은 생략한다. 또, 이 제16도의 프로그램에 의거한 DSP4가 실행하는 처리의 연산기능 전개도는 제14도에 도시한 것에 대응하고 있다. 단, 제14도의 각 회로 기능 요소의 번호 말미에 괄호쓰기로 붙여진 스텝 번호는 제13도의 프로그램에 대응하는 것이므로 반드시 제16도와 스텝에 대응하고 있다고 한정하지는 않는다. 그러나, 제14도에 있어서 제16도에 도시된 FM합성용 스텝에만 대응하고 있는 부분에는 스텝 번호와 함께 [FM]이라고 부기되어 있고, 이것은 제16도의 스텝에 대응하고 있다.
제16도에 있어서 스텝S0, S4, S5, S9, S11, S14에서는, 주로 오퍼레이터(OP1)에 있어서 자기 피드백 FM연산을 포함하는 파형데이터의 생성처리를 행한다. 스텝S10, S14, S15, S19, S20, S1, S4에서는 주로 오퍼레이터(OP3)에 있어서의 FM연산을 포함하는 FM합성된 파형데이터의 생성처리를 행한다. 스텝S13,S16, S18, S2에서는 제13도와 마찬가지로 노이즈 포먼트음 파형데이터의 작성처리를 행한다. 또, 자기 피드백 FM연산이란 공지된 바와 같이 어느 위상데이터의 입력에 따라 발생한 파형데이터를 위상 입력측으로 피드백하여 상기 입력위상데이터 자체를 변조하는 연산을 행하는 것이다. 본 실시예에서는 오퍼레이터(OP1)에 있어서 자기 피드백 FM연산을 할 수 있도록 되어 있다.
(1) 스텝S0, S4에 있어서의 DSP4의 동작
스텝S0에서는 오퍼레이터(OP1)의 파형데이터 생성처리가 행해진다.
제16(a),(b)도에 도시한 바와 같이 스텝S0에서는 연산기(ALU4)의 A입력으로써 OP1의(변조파) 위상데이터(PGf1)가 입력되고, 연산기(ALU4)의 B입력으로써 피드백 파형데이터(FR)가 입력된 상태로 설정된다.
상세하게는, 소정 타이밍에서 DSP1의 RAM1(제5도)으로부터 당해 채널에 관한 오퍼레이터(OP1)의 위상데이터(PGf1)가 판독되고, 이것이 데이터(#RAM1)로써 데이터버스(DBUS)를 통과하며 제7도의 DSP4에 인가되고 제7도에 있어서의 리듬음 발생기(52)를 통과하여 셀렉터(50)에 입력되고 선택된다. 한편, 제7도의 RAM4로부터 당해 채널의 피드백 파형데이터(FR)가 판독되고, 상기 데이터(FR)가 데이터#RAM4로써 셀렉터(51)에 입력되고, 선택된다. RAM4에서는 자기 피드백 FM연산에 사용하기 위하여 오퍼레이터(OP1)에서 생성한 파형데이터를 피드백 파형데이터(FR)로써 기억해 두는 기억영역을 가지고 있다. 또, 통상 FM합성 모드에서는 리듬음 발생기(52)는 사용되지 않고, 데이터#RAM1로 인가된 데이터는 아무것도 변경하지 않고 통과하여 셀렉터(50)에 입력된다.
이리하여 연산기(ALU4)에서는 OP1의 위상데이터(PGf1)에 피드백 파형데이터(FR)가 가산된다. 이것에 의해 오퍼레이터(OP1)의 파형 발생용 위상데이터(PGf1)가 자기의 발생 파형에 의해 자기 피드백 변조되게 된다.
스텝S0의 처리에 대응하여 제7도의 셀렉터(64)에서 β입력이 선택된다. 따라서, 연산기(ALU4)의 상기 연산 결과 데이터가 지연회로(55) 및 오버 플로우/언더 플로우 컨트롤러(56)를 경유한 후, 웨이브 포옴 시프터(60), 지연회로(61), 로그/사인 테이블(62) 및 지연회로(63)를 거쳐 셀렉터(64)로부터 출력된다. 웨이브 포옴 시프터(60)에서는 파라미터(WF1)에 따라 상술한 것과 마찬가지로 특정위상구간에서의 위상치 변환처리를 행한다. 단, 이 때 공급되는 파라미터(WF1)는 FM합성용 오퍼레이터(OP1)를 위해 준비된 것이다. 로그/사인 테이블(62)에서는 상기와 같이 자기 피드백 변조되고 또 필요에 따라 위상치 변환 처리가 가해진 OP1용의 위상데이터(PGf1)에 따라 대수치로 표현된 사인파 데이터를 판독한다.
이리하여 스텝S0의 처리에 의해 오퍼레이터(OP1)에 있어서의 자기 피드백 FM연산과 파형데이터의 생성처리가 행해진다.
셀렉터(64)의 β입력을 통하여 선택된 대수표현으로 이루어진 오퍼레이터(OP1)의 파형데이터(예를 들면 변조파 파형데이터)는 시프터/로그 리니어 변환기(65)를 그대로 통과하고, 상기 각 지연회로(53),(55),(61),(63)에 의한 통산 4클록의 지연후 스텝S4의 타이밍에서 레지스터(REG4)에 기입된다(제16(d)도 참조).
물론 실현하고자 하는 FM연산 알고리즘에 따라서는 오퍼레이터(OP1)에서 자기 피드백 FM을 행하지 않는 것이 있다. 그 경우는 상기 스텝S0에 있어서 RAM4로부터의 피드백 파형데이터(FR)의 판독을 하지 않거나 또는 셀렉터(51)에서 어떤 입력데이터도 선택하지 않도록 제어한다. 이에 따라 연산기(ALU4)에서는 OP1의 위상데이터(PGf1)를 변경하지 않은채로 출력하며, 자기 피드백(FM)되지 않는 파형데이터가 로그/사인 테이블(62)로부터 판독된다.
(2) 스텝S5에 있어서의 DSP4의 동작
스텝S5에서는 오퍼레이터(OP1)의 파형데이터 진폭레벨을 제어하는 연산을 행한다.
제16(a),(b)도에 도시한 바와 같이, 스텝S5에서는 연산기(ALU4)의 A입력으로써 진폭레벨데이터(LVL1)가 입력되고, 연산기(ALU4)의 B입력으로써 데이터 #REG4가 입력된 상태로 설정된다.
상세하게는, DSP2의 RAM2에서 당해 채널에 관한 오퍼레이터(OP1)의 진폭레벨을 설정하는 대수 표현의 진폭레벨데이터(LVL1)가 판독되며, 상기 데이터(LVL1)가 데이터#RAM2로써 데이터버스(DBUS)를 통하여 DSP4에 인가되고, 제7도의 셀렉터(50)에 입력된다. 셀렉터(50)에서는 이 데이터(#RAM2) 즉 LVL(1)을 선택한다. 한편, 상기 스텝S4에서 레지스터(REG4)에 입력된 오퍼레이터(OP1)의 파형데이터 대수치 데이터가 레지스터(REG4)에서 데이터(#REG4)로써 출력되고 셀렉터(51)에서 선택된다.
따라서, 대수 표현으로 이루어지는 OP1의 파형데이터와 진폭 레벨 데이터(LVL1)가 연산기(ALU4)에서 가산되고, 진수레벨에서는 진폭 레벨 데이터(LVL1)를 OP1의 파형데이터에 곱하는 처리를 행하게 된다. 진폭레벨데이터(LVL1)는 시간적으로 변화하는 엔벨로프 데이터로 이루어지고 있고, 오퍼레이터(OP1)에서 발생하는 파형데이터가 변조파 파형데이터인 경우에는 변조파 신호의 진폭제어계수 즉 변조지수로써 기능한다.
이 스텝S5의 처리에 대응하여 제7도의 셀렉터(64)에서는 α입력이 선택된다. 따라서, 지연회로(55) 및 오버 플로우/언더 플로우 컨트롤러(56)를 경유한 연산기(ALU4)의 연산결과가 지연회로(57)를 거쳐 로그 리니어 변환기(58)에 인가되어 진수로 변환되고, 지연회로(59)를 거쳐 셀렉터(64)에 출력된다.
셀렉터(64)에서 출력된 진수 표현으로 이루어진 진폭레벨제어가 끝난 OP1의 파형데이터는 상기 각 지연회로(53),(55),(57),(59)에 의한 통산 4클록의 지연 중 시프트/로그 리니어 변환기(65)를 그대로 통과하고 후술하는 스텝S9의 타이밍에서 레지스터(REG4)에 기입(제16(d)도 참조)됨과 동시에 지연회로(67)를 거쳐 다시 1클록 지연된 스텝S10의 타이밍에서 RAM(4)의 당해 채널의 OP1 파형데이터(TR1)의 기억 영역에 기억된다(제16(e)도 참조). 스텝S10의 타이밍에서 RAM(4)의 소정 기억영역에 기억된 파형데이터(TR1)는 당해 채널의 오퍼레이터(OP1)에서 생성 출력하는 파형데이터에 상당한다.
(3) 스텝S9, S11, S14에 있어서의 DSP4의 동작
이들 스텝S9, S11, S14에서는 오퍼레이터(OP1)의 자기 피드백 레벨 제어를 행함과 동시에 자기 피드백에 의한 헌팅(혹은 발진)현상을 방지하기 위한 처리를 행한다.
우선, 스텝S9에서는 RAM(4)의 소정 기억영역에 기억되어 있는 당해 채널의오퍼레이터(OP1)의 파형데이터(TR1)(전회의 샘플링 싸이클로 생성된 파형데이터에 상당한다)가 판독되고, 데이터#RAM4로서 셀렉터(51)에 입력되어 선택된다. 셀렉터(50)에서는 어느 하나의 데이터도 선택되지 않는다. 따라서, 전회의 샘플링 사이클에서 생성된 OP1의 파형데이터(TR1)가 지연회로(54)를 거쳐 연산기(ALU4)를 그대로 통과하고, 지연회로(55) 및 오버 플로우/언더 플로우 컨트롤러(56)를 경유하여 통산 2클록의 지연후, 스텝S11의 타이밍에서 데이터#4로써 출력된다(제16(c)도 참조).
스텝S11에서는 상기 데이터#4로써 출력된 전회의 샘플링 사이클에서 생성된 OP1의 파형데이터(TR1)가 셀렉터(50)에 입력되어 선택된다. 또, 스텝S9의 처리에 의해 레지스터(REG4)에 기억된 금회의 샘플링 사이클에서 생성된 OP1의 파형데이터(TR1)가 데이터(#REG4)로서 셀렉터(51)에 입력되고 선택된다. 이것에 의해 당해 채널에 관한 전회 및 금회의 두개의 샘플링 싸이클에 의해 생성된 OP1의 파형데이터(TR1)가 연산기(ALU4)에서 가산된다. 이와 같이 전회 및 금회의 두개의 샘플링 싸이클로 생성된 OP1의 파형데이터(TR1)를 가산하는 이유는 자기 피드백에 의한 헌팅(혹은 발진)현상을 방지하기 위함이다.
이 스텝S11에서의 처리에 대응하여 제7도에서는 셀렉터(64)에서 γ입력이 선택되고, 또 피드백레벨 지정파라미터(FBL)에 따라 컨트롤러(66)에서 피드백레벨 제어계수가 발생되며, 시프터/로그 리니어 변환기(65)에서는 이 피드백 레벨제어 계수에 따른 양만큼 입력데이터를 시프터 다운함과 동시에, 헌팅 현상 방지용 상기 가산처리에 따른 평균화 연산(1/2 연산)을 위해 다시 1비트의 시프터다운처리를 행한다. 따라서, 연산기(ALU4)의 연산 결과가 지연회로(55), 오버 플로우/언더 플로우 컨트롤러(56)를 거쳐 그대로 셀렉터(64)에 출력되며, 시프터/로그 리니어 변환기(65)에 의한 시프터 다운 처리에 의해 평균화 연산과 피드백레벨 제어연산이 가해진다.
시프터/로그 리니어 변환기(65)의 출력은 지연회로(67)를 거쳐 RAM4에 입력되고, 상기 지연회로(53),(54),(55),(67)에 의한 통산 3클록의 지연후 스텝 S14의 타이밍에서 RAM4의 당해 채널의 피드백 파형데이터(FR) 기억 영역에 기억된다(제16(e)도 참조).
상술한 스텝S0, S4, S5, S9, S11, S14의 처리에 의한 오퍼레이터(OP1)에 있어서 파형데이터(TR1) 및 피드백 파형데이터(FR)의 생성 처리는 제14도의 연산기능전개도에서는 위상데이터(PGf1)가 노이즈 부여기(52) 스텝S0, S10에 입력되고 그 후의 경로를 거쳐 레지스터(RAM4) S7에 파형데이터(TR1)로서 기억될 때까지의 경로 및 피드백 레벨 컨트롤러 및 레지스터(65 & RAM)(S9 FM, S11 FM)에서 피드백 레벨 제어됨과 동시에 피드백 파형데이터(FR)로서 기억될 때까지의 경로에 대응하고 있다. 이 경우 셀렉터(SEL2)는 피드백 레벨 컨트롤러 및 레지스터(65 & RAM4)(S9FM, S11FM) 즉 RAM4에서 피드백 파형데이터(FR)를 판독하여 가산기(ALU4)(S0, S10)에 인가하도록 하는 기능에 대응하고 있다.
(4) 스텝S10에 있어서의 DSP4의 동작
스텝S10에서는 오퍼레이터(OP2)의 파형데이터 생성처리가 행해진다.
제16(a)(b)도에 도시한 바와 같이, 스텝S10에서는 연산기(ALU4)의 A입력으로써 OP2의 위상데이터(PGf2)(반송파 위상데이터)가 입력되고, 연산기(ALU4)의 B입력으로써 OP1의 파형데이터(TR1)(변조파 파형데이터)가 입력된 상태로 설정된다.
상세하게는, 소정의 타이밍에서 DSP1의 RAM1(제5도)에서 당해 채널에 관한 오퍼레이터(OP2)의 위상데이터(PGf2)가 판독되고, 이것이 데이터(#RAM1)로써 데이터버스(DBUS)를 통하여 제7도의 DSP4에 인가되고, 제7도에 있어서의 리듬음 발생기(52)를 통과하여 셀렉터(50)에 입력되고 선택된다. 한편, 제7도의 RAM4에서 당해 채널의 OP1 파형데이터(TR1)가 판독되고, 상기 데이터(TR1)가 데이터(#RAM4)로서 셀렉터(51)에 입력되고 선택된다. 따라서, 연산기(ALU4)에서는 OP2의 위상데이터(PGf2)(반송파 위상데이터)에 OP1의 파형데이터(TR1)(변조파 파형 데이터)가 가산되어 주파수 변조 연산이 행해진다.
스텝S10의 처리에 대응하여 제7도의 셀렉터(64)에서 β입력이 선택된다. 따라서, 연산기(ALU4)의 상기 연산 결과 데이터가 지연회로(55) 및 오버 플로우/언더 플로우 컨트롤러(56)를 경유한 후, 웨이브 포옴 시프터(60), 지연회로(61), 로그/사인 테이블(62) 및 지연회로(63)를 거쳐 셀렉터(64)로부터 출력된다. 웨이브 포옴 시프터(60)에서는, 파라미터(WF2)에 따라 상술한 것과 마찬가지로 특정 위상 구간에서의 위상치 변환처리를 행한다. 단, 이 때 공급되는 파라미터(WF2)는 FM합성용 오퍼레이터(OP2)를 위해 준비된 것이다. 로그/사인 테이블(62)에서는 상기와 같이 주파수 변조되거나 필요에 따라 위상치 변환 처리가 가해진 OP2용 위상데이터(PGf2)에 따라 대수치로 표현된 사인파 데이터를 판독한다.
이리하여 스텝S10의 처리에 의해 오퍼레이터(OP2)에 있어서의 FM연산과 이것에 의거하는 FM합성된 파형데이터의 생성처리가 행해진다.
셀렉터(64)의 β입력을 통하여 선택된 대수표현으로 이루어진 오퍼레이터(OP2)의 파형데이터(즉 FM합성된 파형데이터)는 시프터/로그 리니어 변환기(65)를 그대로 통과하고, 상기 각 지연회로(53),(55),(61),(63)에 의한 통산 4클록의 지연후 스텝S14의 타이밍에서 레지스터(REG4)에 기입된다(제16도 (d)참조).
물론 실현하려 하는 FM연산 알고리즘에 따라서는 오퍼레이터(OP2)에서 FM연산을 하지 않는 것이 있다. 그 경우는 상기 스텝S10에 있어서 RAM4로부터의 파형데이터(TR1) 판독을 하지 않거나 또는 셀렉터(51)에서 어느 입력 데이터도 선택하지 않도록 제어하는 것이다. 이에 따라 연산기(ALU4)에서는 OP2의 위상데이터(PGf2)를 변경하지 않은 채로 출력하고, FM합성되지 않은 파형데이터가 로그/사인 테이블(62)에서 판독된다.
(5) 스텝S15에 있어서의 DSP4의 동작
스텝S15에서는 상기 스텝S5과 마찬가지로 오퍼레이터(OP2)의 생성파형데이터의 진폭레벨을 제어하는 연산을 행한다.
스텝S15에서의 처리 순서는 상기 스텝S5와 거의 같다. 단, 스텝S15에서는 DSP2의 RAM2로부터 당해 채널에 관한 오퍼레이터(OP2)의 진폭 레벨을 설정하는 대수 표현의 진폭 레벨 데이터(LVL2)가 판독되고, 데이터(#RAM2)로써 셀렉터(50)에서 선택된 연산기(ALU4)의 A입력에 인가되며, 상기 스텝S14에서 레지스터(REG4)에 입력된 오퍼레이터(OP2)의 생성파형데이터의 대수치 데이터가 데이터(#REG4)로써 셀렉터(51)에서 선택되어 연산기(ALU4)의 B입력에 인가된다.
따라서, 대수표현으로 이루어지는 OP2의 생성파형데이터(FM합성된 파형데이터)와 진폭 레벨 데이터(LVL2)가 연산기(ALU4)에서 가산되고, 진수 레벨에서는 진폭 레벨 데이터(LVL2)를 OP2의 생성파형데이터에 승산하는 처리를 행하게 된다. 진폭레벨 데이터(LVL2)는 시간적으로 변화하는 엔벨로프 데이터로 이루어지며, 오퍼레이터(OP2)에서 발생하는 파형데이터의 출력음량레벨을 설정하는 음량레벨 설정데이터로써 기능한다.
이 스텝S15의 처리에 대응하여 제7도의 셀렉터(64)에서는 α입력이 선택되고, 연산기(ALU4)의 연산 결과를 로그 리니어 변환기(58)에서 진수로 변환한 데이터가 셀렉터(64)에서 선택출력된다.
셀렉터(64)에서 출력된 진수 표현으로 이루어진 진폭 레벨 제어가 끝난 OP2의 생성파형데이터(FM합성파형데이터)는 각 지연회로 (53),(55),(57),(59)에 의한 통산 4클록의 지연 후 시프터/로그 리니어 변환기(65)를 그대로 통과하여 스텝S19의 타이밍에서 레지스터(REG4)에 기입된다(제16(d)도 참조). 이렇게 해서 레지스터(REG4)에 기억된 진수 표현으로 이루어진 진폭 레벨 제어가 끝난 OP2의 생성파형데이터(FM합성 파형데이터)는, 3클록 후의 다음 채널에 관한 스텝S1시에 후술한 바와 같이 연산처리되며, 다시 그 3클록 후의 스텝S4시에 RAM4의 당해 채널의 OP2 파형데이터(TR2)의 기억 영역에 기억된다(제16도 (c) 및 (e) 참조).
(6) 스텝S20, S1, S4에 있어서의 DSP4의 동작
스텝S20에서는 어느 특정한 FM연산 알고리즘이 선택되고 있음을 조건으로, RAM4의 당해 채널의 OP1 파형데이터(TR1)의 기억 영역에서 상기 데이터(TR1)를 판독하고, 데이터(#RAM4)로서 셀렉터(51)에 입력되며, 상기 셀렉터(50)에서 선택하는 처리를 행한다. 이 때, 연산기(ALU4)의 A입력에는 아무것도 입력하지 않는다. 따라서, OP1의 파형데이터(TR1)가 지연회로(54)를 거쳐 연산기(ALU4)를 그대로 통과하고, 지연회로(55) 및 오버 플로우/언더 플로우 컨트롤러(56)를 경유하여 통산 2클록의 지연후 다음 채널의 스텝S1의 타이밍에서 데이터#4로서 출력된다(제16(c)도 참조).
다음 채널의 스텝S1에서는 제16(a)(b)도에 도시한 바와 같이, 연산기(ALU4)의 A입력으로서 데이터#4(즉 OP1의 파형데이터(TR1))를 선택 입력하고, 연산기(ALU4)의 B입력으로서 데이터(#REG4)(즉 상기 스텝S19의 타이밍에서 레지스터(REG4)에 기억된 진수표현으로 이루어진 진폭 레벨 제어가 끝난 OP2의 생성파형데이터)를 선택입력한다. 따라서, OP1의 파형데이터(TR1)와 OP2의 파형데이터가 연산기(ALU4)에서 가산된다.
이 스텝S1의 처리에 대응하여 셀렉터(64)에서 γ입력이 선택된다. 따라서, 연산기(ALU4)의 결과가 지연회로(55), 오버 플로우/언더 플로우 컨트롤러(56)를 거쳐 그대로 셀렉터(64)에서 출력되며, 시프터/로그 리니어 변환기(65)를 그대로 통과하고 지연회로(67)를 경유하여 RAM4에 입력된다. 따라서, 스텝S1의 처리에 대응하는 연산기(ALU4)의 결과가 각 지연회로(53),(54),(55),(67)에 의한 통산 3클록의 지연후 스텝S4의 타이밍에서 RAM4의 당해 채널의 파형데이터(TR2)기억 영역에 기억된다(제16(e)도 참조).
또한, 상기 특정한 FM연산 알고리즘이 선택되고 있지 않은 경우에는 상기 스텝S20에 있어서 RAM4로부터의 OP1 파형데이터(TR1)의 판독을 하지 않거나 또는 셀렉터(51)에서 어느 입력 데이터도 선택하지 않도록 제어한다. 이에 따라 스텝S1에 있어서 연산기(ALU4)의 연산에서는 OP2의 생성파형데이터(FM합성 파형데이터)를 변경하지 않고 그대로 출력하며, 이것이 스텝S4의 타이밍에서 RAM4의 당해 채널의 파형데이터(TR2) 기억 영역에 기억된다.
이리하여, 구체적으로는 RAM4에 있어서 소정의 기억 영역에 기억된 파형데이터(TR2)가 FM합성 방식에 의해 합성된 악음신호의 파형데이터로써 이용된다.
상술의 스텝S10, S14, S15, S19, S20, S1, S4의 처리에 의한 오퍼레이터(OP2)에 있어서 FM합성 파형데이터의 생성처리는 제14도의 연산기능전개도에서는, 위상데이터(PGf2)는 노이즈 부여기(52)(S0,S10)에 입력되고, 그 후의 경로를 거쳐 레지스터 (ALU4)&(RAN4)(S17,S20,S1)에 파형데이터(TR2)로서 기억되기까지의 경로에 대응하고 있다. 이 경우 셀렉터(SEL2)는 레지스터(RAM4)(스텝S7) 즉 RAM4로부터 OP1의 파형데이터(TR1)를 판독하여 가산기(ALU4)(S0,S10)에 부여하도록 하는 기능에 대응하고 있다.
(7) 그 밖의 설명
제16도의 스텝S13, S16, S18, S2에서는 제13도와 같은 스텝과 마찬가지로 노이즈 포먼트음 파형데이터의 작성 처리를 행하고, 당해 채널의 노이즈 파형데이터(TRu)를 RAM4의 소정의 기억영역에 기억시킨다.
또한, 제16도의 스텝S2, S12에서는 제13도에서 대응하는 스텝과 마찬가지로 윈도우함수 위상데이터(PGw1, PGw2)의 연산처리에 관련되어 있지만, FM합성시에는이들 위상데이터는 전혀 사용하지 않으므로 무의미한 처리이다. 프로그램 작성의 간략화라는 사정상, 포먼트음합성 프로그램과 일부 중복하고 있는 것 뿐이므로, 이들 스텝의 동작 내용을 모두 없앤 프로그램을 사용해도 된다.
이상과 같은 DSP4에 있어서의 FM합성 연산 처리에 의해 작성되고, RAM4에 기억된 각 채널마다의 파형데이터 TR2 및 TRu(필요에 따라 TR1도)는 상술한 DSP1에 있어서의 [믹싱 연산]을 위해 DSP4의 RAM4에서 판독되어 데이터버스(DBUS)를 통해 DSP1에 인가되고, 상기 DSP1에 있어서 제15도의 상기 스텝S11, S12, S19, S20의 처리에 의해 패닝용 파라미터(PAN),(uPAN)에 따른 좌우 레벨 제어됨과 동시에, 전 채널분이 합해져서 좌우의 악음 혼합 데이터(MIXL),(MIXR)로서 출력되며, 이것이 데이터버스(DBUS) 및 인터페이스(DIF)를 통하여 DA변환기(DAC)로 송출되고, 사운드 시스템(SS)에 인가되게 된다.
참고로, 상술한 바와 같은 각 DSP1∼DSP4의 협동에 의해 실현되는 FM합성용 오퍼레이터(OP1),(OP2)의 기능 블록도를 도시하면 제20도와 같고, FM연산 알고리즘의 예를 기능 블록도에 의해 도시하면 제21도(2)(b)도와 같다.
제20도에 있어서, 음고주파수 넘버(FNUM)에 따라 변조파 또는 반송파의 위상데이터PGf1 또는 PGf2를 발생하는 위상 발생기(PG)의 기능은 상술한 대로 DSP1에 의해 실현되고 있다. 또, 이 위상데이터(PGf1) 또는 (PGf2)를 피드백 파형데이터(FR) 또는 변조파 파형데이터(TR1)에 의해 변조하는 가산기(AD)와, 이 가산출력에 의해 파형데이터를 판독하는 파형 메모리(SWM)와, 판독한 파형데이터에 진폭레벨데이터(LVL1) 또는 (LVL2)를 승산하는 승산기(MUL)를 포함하는 부분의 기능은, 상술한 바와 같이 DSP4에 의해 실현되고 있다. 또, 진폭레벨데이터(LVL1) 또는 (LVL2)를 발생하는 엔벨로프 발생기(EG)의 기능은 DSP2에 의해 실현되고 있다.
제21도의 (a)는 악음합성 알고리즘 파라미터(ALG)의 값이 [1]일 때에 지정되는 FM연산 알고리즘을 나타내고 있다. 이 알고리즘에서는 오퍼레이터(OP1)가 자기피드백 FM연산을 행하고, 그 생성파형데이터(TR1)를 변조파 파형데이터로 하고, 오퍼레이터(OP2)의 위상데이터(PGf2)를 위상변조하고, FM합성된 파형데이터가 오퍼레이터(OP2)의 생성파형데이터(TR2)로서 출력된다. 그러기 위해서는 제16도의 스텝S0에서는, (ALU4)의 B입력으로써 피드백 파형데이터(FR)를 공급하여 오퍼레이터(OP1)가 자기피드백 FM연산을 행하도록 하고, 스텝S10에서는 ALU4의 B입력으로써 파형데이터(TR1)를 공급하여 오퍼레이터(OP2)에서 위상데이터(PGf2)에 파형데이터(TR1)를 가산하도록 하고, 스텝S20에서는 ALU4의 B입력으로써 파형데이터(TR1)를 공급하지 않도록 하여 그 후의 스텝S1에서 TR1과 TR2의 가산이 실질적으로 행해지지 않도록 한다.
제21도의 (b)는, 악음합성 알고리즘 파라미터(ALG)의 값이 [2]일 때에 지정되는 FM연산 알고리즘을 표시하고 있다. 이 알고리즘에서는 오퍼레이터(OP1)가 자기피드백 FM연산을 행하지만, 오퍼레이터(OP2)에서는 FM연산을 행하지 않고, 양자의 생성파형데이터(TR1)(TR2)를 가산하여 출력한다.
그러기 위해서는 제16도의 스텝S0에서는 ALU4의 B입력으로써 피드백 파형데이터(FR)를 공급하여 오퍼레이터(OP1)가 자기피드백 FM연산을 행하도록 하고, 스텝S10에서는 ALU4의 B입력으로써 파형데이터(TR1)를 공급하지 않도록 하여 오퍼레이터(OP2)에서 위상데이터(PGf2)의 변조가 행해지지 않도록 하고, 스텝S20에서는 ALU4의 B입력으로써 파형데이터(TR1)를 공급하고 그 후의 스텝S1에서 TR1과 TR2의 가산이 실질적으로 행해지도록 한다.
또, 제21(a)(b)도에 있어서 노이즈 포먼트음발생부(NFG)는 DSP3, DSP4에 있어서 노이즈 파형데이터(TRu)를 발생하는 처리기능에 대한 것이다.이 노이즈파형데이터(TRu)를 FM합성한 악음파형데이터에 가산하는 처리는 DSP1의 [믹싱연산]의 처리기능에 대응하고 있다. 물론 노이즈 파형데이터(TRu)를 부가할지의 여부는 적당히 선택가능하다.
또한, 상기 이외의 임의의 FM연산 알고리즘이 적당히 실현가능함은 물론이다.
( 변경예의 설명 )
이상 설명한 대로, 본 발명에 관한 디지탈신호 처리장치에서는 다수의 디지탈 시그널 프로세서(DSP1∼DSP4)의 협동에 의거한 악음파형 합성연산이 행해진다.
또, 상기 실시예에서는 디지탈악음파형합성을 위한 연산 및 처리를 4개의 디지탈 시그널 프로세서에 분담시켜 할당하고 있지만, 이것에 한하지 않고 임의의 다수개의 디지탈 시그널 프로세서에 분담시켜 처리하게 해도 된다. 또한, 본 실시예에서는 디지탈악음 파형합성을 위한 연산 및 처리를 [위상연산],[엔벨로프 연산],[노이즈 연산],[파형 생성 연산],[믹싱 연산]의 다섯 종류로 분류하고 있으나, 이것에 한하지 않고 적당한 종류의 연산으로 분류해도 된다.
또한, 상기 실시예에서는 디지탈악음 파형합성을 위한 일련의 연산처리를 [위상연산],[엔벨로프 연산],[노이즈 연산],[파형 생성 연산],[믹싱연산]의 다섯 종류로 분류하고, 이것을 4개의 DSP1∼DSP4에 분담시켜 할당하고 있는데, 연산처리의 분할방법 및 DSP의 사용수는 실현해야 할 악음처리의 사용이나 악음발생 채널수 및 DSP의 능력등에 따라 적당히 정할 수 있는 것이다. 예를 들면, 악음 발생 채널수를 늘리는 경우는 같은 연산 처리를 행하는 다수의 DSP를 다른 채널 그룹에 대응시켜 병설하도록 해도 된다.
또, 본 발명에 관한 하나의 시스템중에 조립하는 DSP수를 적당히 증가 또는 감소될 수 있도록 구성해도 된다. 예를 들면, 특별히 DSP의 증가에 대응할 수 있도륵 제1도의 파라미터 버스(PBUS) 및 데이터버스(DBUS)를 연장 또는 확장할 수 있도록 구성하여 필요한 수의 DSP를 증설할 수 있도록 해도 된다. 그 경우, DSP뿐만 아니라 파라미터를 공급제어하기 위한 마이크로 컴퓨터(COM)측의 제어프로세서(CPU)와 메모리, 각종 입출력 인터페이스 등도 필요에 따라 증설하도록 해도 된다. 그것에 따라, 연산 처리 기능의 추가와 악음 발생 채널의 증가에 대처할 수 있다.
또, 상기 실시예에서는 악음 합성 방식으로서 포먼트음 합성방식과 FM합성방식의 두종류 방식이 실현가능하며, 대응하는 마이크로 프로그램을 디지탈 시그널 프로세서에 기억시키도록 하고 있는데, 이것에 한하지 않고 다시 별도의 악음파형 합성방식에 의한 마이크로 프로그램을 기억시키거나 혹은 다른 두종류의 악음파형 합성방식에 의한 마이크로 프로그램을 기억시키거나 혹은 어느 한 종류의 악음파형 합성방식에 의한 마이크로 프로그램만을 기억시키는 등 임의로 변형해도 된다.
또, 본 발명은 상기 실시예와 같이 디지탈악음파형합성을 위한 연산 및 처리를 다수의 디지탈 시그널 프로세서에 분담시켜 실행하는 예에 한하지 않고, 잔향, 코러스, 음고 체인지와 같은 각종 악음 효과를 부여하기 위한 연산 및 처리기능을 다수의 디지탈 시그널 프로세서에 분담시켜 그들의 협동에 의해 각 악음 효과 혹은 음향 효과의 부여처리를 행하도록 해도 된다. 그 경우, 처리의 대상이 되는 디지탈 악음 신호 혹은 사운드 신호가 디지탈신호처리부에 입력되어 처리된다. 물론 디지탈 악음파형 합성처리와 악음효과 등의 부여처리를 조합하여 실행하도록 구성해도 된다. 또한, 목소리와 같은 음성음을 합성 혹은 처리하는 장치에 있어서도 이 발명을 적용할 수 있으며, 비디오 게임과 비디오 오디오 소프트 등에서 사용하는 의성음등의 효과음을 합성 흑은 처리하는 장치에 있어서도 이 발명을 적용할 수 있고, 요컨대 사운드 신호의 합성 및 또는 처리의 전반에 걸쳐서 본 발명을 적용할 수 있다.
또, 각 DSP1-DSP4에 있어서의 마이크로 프로그램 공급부(5)(제3도)에서의 마이크로 프로그램의 기억법은 필요한 모든 마이크로 프로그램을 게이트 어레이에 의해 고정적으로 기억해 두고, 악음 합성 알고리즘의 지정에 따라 임의의 마이크로 프로그램을 선택 판독하도록 해도 되며, 또는 기억하는 마이크로 프로그램내용을 마이크로 컴퓨터부(COM)쪽의 제어에 의해 임의로 바꿔쓸 수 있도록 한 것도 좋다. 후자와 같은 프로그램 개서법을 채용할 경우 전 스텝의 바꿔쓰기를 하는 것이 아니라, 예를 들면 상술한 포먼트음 합성방식과 FM합성 방식간에 공통부분과 무시할 수 있는 부분이 있는 것처럼, 공통부분과 무시할 수 있는 부분의 프로그램은 바꿔쓰지 않고, 필요한 부분의 일부 수정만을 행하도록 해도 된다. 그렇게 하면, 프로그램바꿔쓰기에 드는 시간이 짧아지고, 또 마이크로 컴퓨터부(COM)측에서 준비해 두어야 하는 바꿔쓰기용의 마이크로 프로그램 데이터는 전 스텝의 데이터일 필요가 없어지므로, 기억용량을 절약할 수 있다.
또, 상기 실시예에 있어서는 각 DSP1∼DSP4마다 마이크로 프로그램 공급부(5)를 형성했지만, 이것에 한하지 않고 각 DSP에 대응하는 마이크로 프로그램을 기억한 메모리(혹은 게이트 어레이)를 각각 공통의 프로그램 카운터(혹은 프로그램 카운터와 유사한 타이밍 신호 발생기)에서 순차적으로 연산 스텝에 맞추어 판독하고, 각 DSP에 대해 각각에 대응하는 마이크로 프로그램을 공급하는 방식으로 해도 된다.
또, 상기 실시예에 있어서 어떤 DSP(예를 들면 DSP1)에서 작성하여 그 RAM에 기억되어 있는 데이터를 다른 DSP(예를 들면 DSP4)에서 이용하는 경우, 각 DSP마다의 마이크로 프로그램에 따라 각각의 판독동작과 취입동작을 행하고, 결과적으로 다수 DSP에 따른 협동된 처리가 행해지도륵 되어 있다. 그러나, 본 발명은 이와 같이 각 DSP마다의 마이크로 프로그램에 따라 각각의 판독동작과 취입동작을 행하는 실시 형태에 한정되는 것이 아니라, 예를 들면 어느 DSP(예를 들면 DSP1)에서 작성하여 그 RAM1에 기억되어 있는 데이터를 다른 DSP(예를 들면 DSP4)에서 이용하고 싶은 경우, 상기 다른 DSP(예를 들면 DSP4)에서 어떤 DSP(예를 들면 DSP1)에 대해 요구신호를 송출하고, 그 요구신호에 따라 어떤 DSP(예를들면 DSP1)에서는 필요한 데이터를 그 RAM에서 판독하여 상기 다른 DSP(예를 들면 DSP4)에 인가하도록 해도 된다.
(채널 동기동작의 추가설명)
각 채널마다의 채널동기동작 플래그(RBP)의 값에 따른 동기 발음 제어예에 관해 설명한다.
제22도 및 제23도는 상술한 바와 같이, 각 DSP1∼DSP4의 협동에 의해 시분할적으로 실현되는 각 악음발생채널(CH1∼CH18)을 개념적으로 병렬적으로 도시한 기능적 블록도이다.
제22도는 전체 채널(CH1∼CH18)의 채널 동기동작 플래그(RBP)의 값이 [0]인 상태, 즉 어느 채널도 다른 채널과의 동기 발음 제어를 하지 않은 상태를 도시한다. KON1∼KON18은 각 채널마다의 키 온 신호(KON)이고, 또, FNUM1∼FNUM18은 각 채널마다의 음고주파수 넘버(FNUM)이다. 이 상태에서는 마이크로 컴퓨터부(COM) 및 인터페이스(CIF)를 통하여, 각각의 채널에 대응하여 독립적으로 공급되는 키 온 신호(KON1∼KON18) 및 음고주파수 넘버(FNUM1∼FNUM18)가 각 채널(CH1∼CH18)에 개별적으로 인가된다. 또, 각 채널(CH1-CH18)에 대응하는 그 밖의 파라미터군(제19도에 도시한 FNUM과 KON이외의 파라미터군)도 마이크로 컴퓨터부(COM) 및 인터페이스(CIF)를 통하여 각각의 채널에 대응하며 인가된다. 각 채널(CH1-CH18)에서는 이러한 파라미터에 의거해서 지정된 악음합성알고리즘에 따른 음색 특징을 가지는 악음 신호를 독자적인 음고와 발음타이밍에서 각각 발생한다.
제23도는 몇개인가의 채널에 관한 것으로써, 채널 동기동작 플래그(RBP)의 값이 [1]인 상태 즉 다른 채널과의 동기 발음 지정이 되어 있는 상태를 예시적으로 도시한다. 도면의 예에서는 채널CH1이 RBP=0, 채널CH2∼CHk이 각각 RBP=1,채널CHk+1,CHk+2가 각각 RBP=0,채널 CHk+3이 RBP=1, 채널CH18이 RBP=0의 예를 나타내고 있다. 또한, k는 적당한 수로 한다.
상술한 대로 RBP=1의 채널에서는 그것보다 작은 채널 번호의 인접 채널로 발음 동기하도륵 제어되므로, 제23도의 예에서는 채널CH2은 채널CH1에 발음동기하도록 제어되고 또한 채널CH2∼CHk에서는 모두 RBP=1이기 때문에, 결국 이들 채널CH2∼CHk은 모두 그것보다 작은 채널번호의 차례대로 인접 채널 중 채널 동기 동작 플래그(RBP)의 값이 [0]인 채널CH1에 발음동기하도록 제어된다. 이렇게 해서 채널CH2∼CHk가 채널CH1에 발음 동기하도록 지정되며, 이들의 채널CH2∼CHk에는 모두 같은 채널CH1의 키 온 신호(KON1) 및 음고주파수 넘버(FNUM1)가 공급되어, 같은 음고 및 발음 타이밍에서 악음 신호는 각각 발생된다. 그 밖의 파라미터군(제19도에 도시한 FNUM과 KON이외의 파라미터군)은 각각의 채널CH1∼CHk마다 독립적으로 부여되는 개별 데이터로 이루어진 것이므로, 각 채널CH1∼CHk에서 발생되는 악음 신호의 음고와 발음 타이밍은 공통이지만, 음색등 그 밖의 악음특성은 각각의 채널에 대응하는 특유한 것이다. 따라서 예를 들면 각 채널CH1∼CHk에서의 악음합성방식으로써 포먼트음 합성방식을 채용하는 경우는, 각각의 포먼트주파수 넘버(FORM)등을 다르게 함으로써, 음고와 발음 타이밍은 같지만, 포먼트 중심주파수가 다른 다수의 악음신호를 각 채널CH1∼CHk에서 합성 할 수 있어서 결과적으로 다(多)포먼트구조의 하나의 악음 신호를 합성하는 것과 등가가 된다. 물론 발음동기해야 할 각 채널CH1∼CHk에서의 악음합성방식으로는 포먼트음합성방식에 한하지 않고, FM합성방식이어도 되며, 혹은 어느 채널은 포먼트음 합성방식, 다른 채널은 FM방식처럼 양 방식을 혼재시킨 것이어도 되는데, 그 경우에도 다수의 배음성분군의 조합으로 이루어진 악음 신호를 용이하게 합성 할 수 있다.
또한, 제23도의 예에서는 채널CHk+1과 CHk+2가 각각 RBP=0이기 때문에, 이들 채널CHk+1과 CHk+2에서는 각각 독자적인 키 온 신호(KONk+1,KONk+2)와 음고 주파수 넘버(FNUMk+1, FNUMk+2) 및 그 밖의 파라미터에 의거해서 각각 독립적으로 악음신호가 발생된다. 또, 채널CHk+3에서는 RBP=1이기 때문에, 그 앞의 채널 CHk+2에 발음 동기하도록 제어된다. 이하 마찬가지로 남은 채널에 관해서도 각각의 채널 동기 동작 플래그(RBP)의 값에 따라, 인접 채널과의 발음 동기 또는 비동기의 제어가 행해진다.
상기 실시예에 있어서, 발음 동기 해야 할 것이 지정된 어느 채널CHk의 키 온 신호(KONk)와 음고주파수 넘버(FNUMk)를 소정 채널CHk-1(즉 인접 채널)의 것으로 변경 또는 일치 즉 동기화시키는 처리는, 제1도 구성의 어느 부분에서나 행하도록 해도 된다. 예를 들면, 컴퓨터 인터페이스(CIF)에 있어서, 마이크로 컴퓨터부(COM)로부터 인가되는 각 채널의 파라미터를 버퍼해 두고, 여기서 각 채널의 플래그(RBP) 내용을 체크하여 그 내용에 따라 상기와 같이 발음동기동작조건을 만족시키도록 각 채널의 키 온 신호(KON)와 음고주파수 넘버(FNUM)를 공급하도록 해도 된다. 혹은 DSP1 및 DSP2의 내부에서 각 채널의 플래그(RBP) 내용을 체크하여 그 내용에 따라 상기와 같이 발음 동기 동작 조건을 만족시키도록 각 채널의 키 온 신호(KON)와 음고주파수 넘버(FNUM)를 공급하도록 해도 된다.
상기에서 밝혀진 바와 같이 각 채널 마다의 채널 동기동작 플래그(RBP)의 값은 임의로 가변할 수 있으므로, 그때의 악음 발생 기회마다 각 채널의 플래그(RBP) 값을 임의로 가변 설정함으로써, 다양한 조합으로 다수 채널을 발음 동기시켜 다양한 포먼트구성 또는 배음 성분군 조합으로 이루어진 악음 신호를 합성하는 것을 용이하게 또 한정된 악음 발생 채널 구성을 이용하여 실현할 수 있다는 효과를 얻는다.
또한, 상기 예에서는, 채널 동기동작 플래그(RBP)에 의해 동기 발음 해야 하는 것이 지정된 다수 채널에서는, 악음 타이밍과 음고를 공통으로 하고 있지만 이것에 한정되지 않으며, 발음 타이밍을 공통으로 하고, 음고는 약간 편의시키거나 혹은 정수배로 편의시키는 등의 적당한 변형을 가해도 된다. 혹은, 발음 타이밍과 음고에 한하지 않고 일부의 음색 설정용 또는 음량 설정용 파라미터등을 공통으로 해도 된다. 혹은 발음 개시 타이밍을 약간 혹은 적량 편의되게 해도 된다.
또, 상기 실시예에서는 채널 동기동작 플래그(RBP)의 값 "1"에 의해 다른 채널과 동기 발음해야 할 것이 지정되면, 그것보다 작은 채널번호의 인접 채널에 연쇄적으로 동기시키도록 하고 있으나, 그 반대로 그것보다 큰 채널 번호의 인접 채널에 연쇄적으로 동기시켜도 되는 것이다. 또, 상기 실시예와 같이 인접채널에 연쇄적으로 동기시키지 않고, 인접한 한 채널에만 동기하도록 변경하는 것도 가능하다.
또, 상기 실시예에서는 동기발음지정데이터로써 플래그(RBP)만을 사용하여 제어하고 있고, 그것은 그것으로 제어가 용이하다는 이점을 가지는 것인데, 이것에 한정하지 않고 그 밖의 데이터를 사용해도 된다. 예를 들면, 채널 동기동작플래그(RBP)에 플러스하여 동기해야 할 소망 채널을 지정하는 채널 데이터를 부가해도 되고, 그렇게 하면 인접 채널에 한정하지 않고 임의의 채널끼리 동기시킬 수 있다. 또, 변형예로써 발음동기동작모드일 때에는 소정의 하나의 채널을 기본 채널로 정하고, 동기발음해야 할 것이 지정된 임의의 채널을 상기 기본 채널에 동기시키도록 해도 된다. 그 밖에 다양한 변형이 허용된다.
또, 상기 예에서는 상기의 채널 동기동작을 실현하는데 있어 다수의 악음 발생 채널을 구비한 악음 신호 발생 장치로서 제1도에 도시한 것과 같은 디지탈신호처리부(DSPS)를 사용하고 있으나, 이것에 한하지 않고, 그 밖의 임의의 구성인 악음 신호 발생 장치를 사용해도 된다. 예를 들면, 제1도에 도시한 바와 같이, 병렬구성의 멀티DSP에 한정하지 않고, 하나의 디지탈신호 처리회로를 사용하여 다수 채널분의 악음 신호 발생 장치를 구성하고, 거기에서 상기의 채널 동기 동작을 실시하도록 해도 된다. 혹은 마이크로 컴퓨터를 사용한 소프트 웨어 처리에 의해 임의의 악음 합성 알고리즘을 실현하도록 한 악음 신호 발생 장치에 있어서 상기의 채널 동기동작을 실시하도록 해도 된다. 혹은, 순(純)하드 웨어 구성의 다수 채널시분할 처리방식의 악음 신호 발생 회로를 이용한 것에 있어서 상기의 채널 동기동작을 실시하도록 해도 된다. 혹은 다수 채널의 개별 악음 신호 발생 회로를 병렬적으로 구비한 것에 있어서 상기의 채널 동기 동작을 실시하도록 해도 된다.
이상과 같이 본 발명에 의하면, 목적으로 하는 디지탈사운드 신호처리를 위한 일련의 연산처리가 다수의 각 디지탈신호 처리수단에 대응하여 다수의 연산처리 부분으로 분할되고, 각 디지탈신호 처리수단에 있어서 상기 각 연산처리 부분이 동시 병행적으로 실행되므로, 전체의 연산 처리 스텝수가 많고 또 처리 해야 할 사운드 신호가 다(多)채널이어도 전체적으로 연산처리의 고속화를 도모할 수 있다는 뛰어난 효과를 가진다.
또, 개별 디지탈신호 처리수단은 목적으로 하는 일련의 연산처리중 일부의 연산처리 부분만을 실행하는 구성이 되므로, 실행해야 할 연산처리의 내용은 상대적으로 단순해지게 되고, 각 디지탈신호 처리수단의 회로구성이 단순화될 뿐만 아니라, 상호 유사한 것으로 할 수 있으므로, 각 디지탈신호 처리수단의 설계제작의 용이화와 저코스트화를 도모할 수 있음과 동시에, 장치의 범용성을 높일 수 있다는 뛰어난 효과를 가진다.
또, 다수의 디지탈신호 처리수단을 제1 및 제2의 버스에 의해 각각 공통으로 접속하는 구성이기 때문에, 상기 디지탈신호 처리수단의 수를 증가 할 때 입력 파라미터의 배선을 치거나 출력데이터의 상호 접속 배선을 칠 필요가 없이 단순히 각 버스에 접속하면 되므로, 상기 디지탈신호 처리수단의 수의 증감을 매우 용이하게 행할 수 있다. 따라서, 이 점에서도 장치의 범용성을 높일 수 있음과 동시에 효율적 이용을 도모할 수 있다.
또, 다수 종류의 악음 합성 방식을 혼재시켜 악음 합성 시스템을 구성하려는 경우, 다른 악음 합성 방식에서도 공통의 연산 알고리즘에서 처리할 수 있는 연산 처리 부분에 관해서는, 공통의 디지탈신호 처리수단을 사용할 수 있으므로, 효율적인 시스템을 구성할 수 있다는 뛰어난 효과를 얻는다. 또, 사운드 신호 합성 혹은 처리를 위해 일련의 연산 처리에 있어서 그 일부의 연산처리 내용을 변경할 경우는변경하고 싶은 연산처리 부분에 대응하는 디지탈신호 처리수단만 그 프로그램 혹은 회로 구성을 변경하면 되므로 효율적으로 저코스트로 설계변경을 할 수 있다는 뛰어난 효과를 얻는다. 따라서, 본 발명에 의하면 사운드파형 합성 혹은 처리를 위한 연산 처리 내용을 변경하고 싶다는 요구에 대해 효율적으로 대응할 수 있고, 또, 사운드 합성 방식 자체를 대체 가능하게 하거나 다수 종류의 사운드 합성 방식을 혼재시키거나 하는 다기능형 사운드 합성 혹은 처리용 디지탈신호 처리시스템을 효율적으로 구축할 수 있다고 하는 뛰어난 효과를 얻는다.
또한, 다수의 채널에서 시분할적으로 사운드신호를 합성할 경우, 있어서 다수의 연산처리 수단중 각 하나가, 개별 연산처리수단에 독자적인 시분할처리 타이밍에서 각 채널마다의 연산처리를 시분할적으로 실행하도록 했기 때문에, 예를 들면 각 연산처리 수단에서 분담한 신호처리부분의 역할에 맞춰서 각 연산처리수단에 있어서의 채널 시분할처리 타이밍이 상호 편의되도록 타이밍을 조정할 수 있으므로, 각 연산처리수단 상호간의 연산 처리 결과의 이용 형태에 맞추어 각각의 채널 시분할처리 타이밍을 적절히 편의되게 함으로써(또는 편의되지 않아도 되는 경우가 있어도 된다), 어느 연산처리 수단으로부터 출력한 연산처리 결과를 다른 연산 처리 수단에 입력하여 이용할 경우, 이것을 효율적인 타이밍에서 적절히 이용할 수 있어서 전체적으로 연산처리를 빠르게 진행시킬 수 있다는 뛰어난 효과를 얻는다.
또한, 각 디지탈신호 처리수단이 연산처리에 필요한 파라미터를 입력하고, 상기 입력된 파라미터와 설정된 프로그램에 따라 디지탈입력데이터에 대해 소정의 연산 처리를 가하는 연산처리부와 상기 연산처리부에서 출력된 처리결과 데이터를기억하기 위한 기입포트와 판독포트를 각각 가진 듀얼 포트 메모리를 포함하는 것이므로, 듀얼 포트 메모리의 기입과 판독을 각각 독립된 타이밍에서 제어할 수 있음으로써, 어느 제1의 디지탈신호 처리수단이 다른 제2의 디지탈신호 처리수단으로부터의 출력데이터를 상기 제2의 버스를 통하여 입력 이용할 경우, 상기 제2의 디지탈신호 처리수단의 상기 듀얼 포트 메모리를 통하여 그 처리결과 데이터를 판독하여 받아들이는 경우, 상기 판독을 제2의 디지탈신호 처리수단의 기입 동작타이밍과는 다른, 이용측의 제1디지탈신호 처리수단의 독자적인 타이밍에서 제어할 수 있어서 각 디지탈신호 처리수단이 독립된 타이밍에서 동작할 수 있게 되고, 각 디지탈신호 처리수단이 상호 관련되어 있으면서 그 밖에 과도하게 구속되지 않고 각각의 연산 프로그램을 짤 수 있어서 매우 효율적이다.
또한, 다른 채널과의 동기발음을 해야 할 지의 여부를 지정하는 동기발음 지정 데이터를 각 채널마다 독립적으로 부여하고, 이것에 의거해서 다수의 임의의 채널끼리 발음 동기 제어를 행하도록 했으므로, 다양한 조합으로 다수 채널을 발음 동기 제어할 수 있으므로, 발음 동기하는 채널끼리 다른 포먼트구성 혹은 배음 성분 구성의 음을 조합하여 전체적으로 하나의 복잡한 악음 신호를 합성할 수 있음에 따라 단순히 각 채널 마다의 동기 발음 지정 데이터를 임의로 설정하는 것 만으로 다양한 조합으로 다수 채널을 발음 동기시켜서 다양한 포먼트구성 또는 배음 성분군의 조합으로 이루어진 악음 신호를 합성하는 것을 용이하게 또 한정된 악음 발생 채널 구성을 사용하여 실현할 수 있다는 뛰어난 효과를 얻는다.
[동기발음 지정기능에 대한 또다른 실시예의 설명]
다음에, 제24도∼제29도를 참조하여 상술한 동기발음 지정기능을 가진 사운드 합성장치에 대한 또다른 실시예에 대해 설명한다, 제24도∼제29도에 나타난 실시예는 상술한 동기발음 지정기능과, 유성포먼트음 합성기능 및 무성포먼트(노이즈 프먼트)음 합성기능 등의 사운드 합성기능에 대해 보다 상세하게 나타낸 것이다. 상기 실시예에서는 이러한 제 기능이 DSP를 이용하여 실현되고 있으나, 제24도∼제29도에 나타난 실시예에서는 DSP에 한정하지 않고, 전용 하드웨어회로를 이용하여 구성해도 되며, 또는 CPU를 사용한 소프트웨어 음원을 이용하여 구성해도 되는 것이다. 또, 이하의 설명에서는 "음성 및 악음의 합성"이라는 용어를 사용하고 있으나, 본 명세서 전체로서는 음성 및 악음의 합성은 물론이고 그밖의 임의의 음합성도 포함하는 총칭으로서 "사운드합성"이라는 용어를 사용한다. 따라서, 이하에서 설명하는 "음성 및 악음의 합성"이라는 용어는 보다 일반적인 용어로서의 "사운드합성"으로 바꿀 수 있다.
제24도는 본 발명의 실시예에 따른 음성 및 악음합성장치의 구성을 도시한 블록도이다. 연주조작자(101)는 예를 들면 다수의 키를 가진 건반으로 발음개시신호 및 음고정보를 출력하여 제어부(103)에 공급한다. 음색설정조작자(102)는 음색 및 음색정보를 출력하여 제어부(103)에 공급한다.
제어부(103)에는 다수의 발음채널(104)이 접속되어 있다. 각 발음채널을 구별할 필요가 있을 때에는 각 발음채널에 일련의 번호를 부여하고 이 번호로 구별한다. 어느 발음채널보다 번호가 1만큼 작은 것을 전단의 발음채널, 1만큼 큰것을 후단의 발음채널이라고 한다.
각 발음채널(104)은 발음개시신호가 입력되는 2개의 입력접점(input terminal) KONCH와 KONIN, 포먼트 음고정보가 입력되는 2개의 입력집점 PITCH와 EXTPIN, 포먼트 중심주파수 정보가 입력되는 입력접점(FC)을 가진다.
또, 2개씩 설정된 발음개시신호 입력접점과 포먼트음고정보 입력접점중 각각 어떤 단자로부터 입력된 신호가 유효한지를 선택하기 위한 음고동기 제어신호가 인가되는 음고동기 제어접점(PSYN)을 가진다. 음고동기 제어신호는 「음고동기상태」와 「음고 비동기상태」의 2가지 상태를 가지며, 「음고 동기상태」 일때 발음개시신호 입력접점(KONIN) 및 음고정보 입력접점(EXTPIN)이 유효해지며, 「음고 비동기상태」 일 때 발음개시신호 입력접점(KONCH) 및 음고정보 입력접점(PITCH)이 유효해진다.
또, 각 발음채널(104)은 발음개시신호를 출력하는 출력접점(KONEST) 및 포먼트음고정보를 출력하는 출력접점(EXTP)을 가진다. 출력접점(KONEST)에는 발음개시신호 입력접점 KONCH와 KONIN중 음고동기 제어신호에 의해 유효해진 입력접점 신호가 그대로 출력된다. 출력접점(EXTP)에는 음고정보 입력접점 PITCH와 EXTPIN중 음고동기 제어신호에 의해 유효해진 입력접점의 신호가 그대로 출력된다.
발음개시신호 입력접점 KONCH와 KONIN중 음고동기 제어신호에 의해 유효해진 입력접점으로부터 발음개시신호가 입력되면 발음채널(4)은 음고정보 입력접점 PITCH와 EXTPIN중 유효해진 입력접점에 인가되어 있는 포먼트음고 및 중심주파수 입력접점(FC)에 인가되어 있는 포먼트 중심주파수를 가진 포먼트를 출력접점 (CHOUT)으로부터 출력 한다.
각 발음채널(104)의 입력접점(KONCH), (KONIN), (FC) 및 (PSYN)에는 제어부(104)로부터 신호가 인가된다.
각 발음채널(104)의 발음개시신호 입력접점(KONIN)은 전단 발음채널(4)의 발음개시신호 출력접점(KONEXT)에 접속되고, 음고정보 입력접점(EXTPIN)은 전단 발음채널의 음고정보 출력접점(EXTP)에 접속되고 있다.
또한, 첫번째 발음채널의 발음개시신호 입력접점(KONIN) 및 음고정보 입력접점(EXTPIN)에는 제어부(3)로부터 각각 발음개시신호(KONCH)와 음고정보 입력접점(EXTPIN)에 인가된 신호와 동일한 신호가 인가된다. 또, 최종단의 발음채널의 발음개시신호 출력접점(KONEXT)와 음고정보 출력접점(EXTP)은 어디에도 접속되지 않는다.
또한, 각 발음채널(104)에는 제어부(103)로부터 포먼트형성을 위한 다른 정보도 입력된다. 이들의 상세한 점에 대해서는 나중에 제25도를 참조하며 설명하겠다.
각 발음채널(104)의 포먼트 출력접점(CHOUT)으로부터 출력되는 포먼트는 믹서(105)에 입력된다. 믹서(105)는 입력된 포먼트를 합성하여 음성신호를 생성한다.
다음에, 음성 및 악음합성장치의 동작을 설명한다.
연주조작자(101)로부터 제어부(103)에 발음개시신호 및 음고정보가 입력되면, 제어부(103)는 음색설정조작자(102)에서 설정되어 있는 음색정보를 판독한다. 음색정보는 예를 들면, 통상의 음성, 쉰 목소리, 피리음 등의 정보 및 50음종별 등을 포함한다.
제어부(103)에는 각 음색의 음에 대응하는 포먼트수 및 각 포먼트의 중심주파수가 기억되어 있다, 제어부(103)는 지정된 음색에 대응하는 포먼트수만큼의 연속된 발음채널을 빈 채널속에서 보충한다. 또, 후술하는 바와 같이, 통상 빈 채널은 「음고 비동기상태」 로 해두기 때문에, 선두의 발음채널에 송출하는 음고동기 제어신호는 「음고비동기상태」 를 유지한 상태가 좋다.
보충한 발음채널의 음고동기 제어접점(PSYN)에 음고동기 제어신호를 송출하고, 가장 번호가 작은 보충발음채널(이하, 선두 발음채널이라 한다)을 「음고 비동기상태」 로 하고, 다른 보충발음 채널을 「음고 동기상태」 로 한다. 보충한 발음채널 각각의 중심주파수 입력접점(FC)에 발음해야 할 포먼트의 중심주파수 정보를 송출한다.
다음에, 선두발음채널의 음고정보 입력접점(PITCH)에 연주조작자(1)로부터 입력된 음고정보에 대응하는 포먼트 음고정보를 송출한다. 선두의 발음채널은 「음고 비동기상태」 로 되어 있기 때문에 음고정보 입력접점(PITCH)에 입력된 포먼트 음고정보는 음고정보 출력접점(EXTP)에 출력되어 후단 발음채널의 음고정보 입력접점(EXTPIN)에 전송된다.
선두 발음채널 이외의 발음채널은 「응고 동기상태」 로 되어 있기 때문에 음고정보 입력접점(EXTPIN)에 전송된 포먼트 음고정보는 순차적으로 그 후단 발음채널의 음고정보 입력접점(EXTPIN)으로 전송된다. 이와 같이 해서 제어부(3)가 선두 발음채널의 음고정보 입력접점(PITCH)에 포먼트 음고정보를 송출하면 보충되어 있는 모든 발음채널에 포먼트 음고정보가 전송된다.
제어부(103)는 또 선두 발음채널의 발음개시신호 입력접점(KONCH)에 발음개시신호를 송출한다. 발음개시신호는 포먼트 음고정보의 경우와 같이 보충되어 있는 전체 발음채널의 발음개시신호 입력접점(KONIN)에 전송된다.
선택된 발음채널중, 번호가 가장 큰 발음채널의 발음개시신호 출력접점(KONEXT)과 음고정보 출력접점(EXTP)에도 각각 소정의 신호가 출력된다. 따라서, 그 후단의 발음채널이 「음고 동기상태」 로 되어 있으면 입력신호에 의거하여 발음처리를 해 버린다. 이것을 피하기 위해 빈 채널은 「음고 비동기상태」 로 해두는 것이 바람직하다. 단, 음색이 채널에 대해서 고정할당된 경우는 이에 한정되지 않는다.
선두의 발음채널에 발음개시신호가 입력되면, 각 발음채널은 중심주파수 입력접점(FC)에 인가되어 있는 포먼트 중심주파수정보에 의거하여 포먼트를 발생한다. 이 때, 모든 발음채널에 동일한 포먼트 음고정보가 전송되고 있기 때문에, 보충되어 있는 발음채널로부터 발생하는 포먼트 음고는 모두 동일하다. 따라서, 합성되는 악음은 일정한 음고와 음색을 가진 음성이 된다.
보충되어 있는 발음채널이 출력접점(CHOUT)으로부터 출력한 포먼트신호는 믹서에서 합성되어 소망하는 음성신호가 발생한다.
다음에, 제2도를 참조하여 각 발음채널(104)의 구성 및 동작에 대해 설명한다.
제25도는 발음채널의 구성을 도시한 블륵도이다.
셀렉터(130)의 피선택 입력접점의 0쪽에 발음개시신호(KONCH), 1쪽에 발음개시신호(KONIN)가 입력되어 있다. 또한, 2개의 발음개시신호 입력접점에 입력된 신호를 구별하기 위해, 신호에 입력접점명을 부여해서 나타내고 있다. 이하, 다른 신호에 대해서도 입력접점명을 붙여서 신호를 구별하는 경우가 있다.
선택접점(S)에는 음고 동기제어신호(PSYN)가 입력되어 있다. 셀렉터(130)는 음고 동기제어신호(PSYN)가 「음고 비동기상태」 일 때 0쪽에 입력되어 있는 발음개시신호(KONCH)를 출력하고, 「음고 동기상태」 일 때 1쪽에 입력되어 있는 발음개시신호(KONIN)를 출력한다.
셀렉터(130)의 출력은 키 온 신호(KON)로서 발음채널내의 각 블록에 공급됨과 동시에, 출력접점(KONEXT)으로부터 출력되어 후단의 발음채널에 공급된다.
유성포먼트발생기(110)의 입력접점(Fp)에 포먼트음고정보가 입력되고, 입력접점(Ff)에 포먼트 중심주파수정보가 입력된다. 유성포먼트발생기(110)는 키온 신호(KON)가 입력되면, 인가되어 있는 포먼트 음고정보 및 프린트 주파수정보에 의거하여 포먼트를 발생하여 출력접점(Fout)으로부터 출력한다.
노이즈포먼트발생기(120)의 입력접점(NFf)에는 노이즈포먼트 중심주파수 정보가 입력된다. 노이즈포먼트발생기(120)는 키 온 신호(KON)가 입력되면, 인가되어 있는 노이즈포먼트 중심주파수정보에 의거하여 노이즈포먼트를 발생하고, 출력접점(Nout)으로부터 출력 한다.
유성포먼트발생기(110)의 출력신호(Fout)와 노이즈포먼트 발생기(120)의 출력신호(Nout)는 가산기(131)에 입력되어 가산된다. 가산기(131)는 출력신호(CHOUT)를 형성출력한다.
또한, 유성포먼트발생기(110), 노이즈포먼트발생기(120)에는 상기 이외의 신호도 인가되어 있으며, 이들의 신호에 의거하여 포먼트를 발생한다. 유성포먼트발생기(110) 및 노이즈포먼트발생기(120)의 구성 및 동작의 상세에 대해서는 나중에 제26도∼제28도를 참조해서 설명한다.
다음에, 유성포먼트발생기(110)에 입력된 포먼트음고정보(Fp)의 생성에 대해 설명한다.
셀렉터(113)의 피선택입력접점의 0측에 포먼트 음고정보(PITCH), 1쪽에 포먼트 음고정보(EXTPIN)가 입력되어 있다. 선택접점(S)에는 음고동기제어신호(PSYN)가 입력되어 있다. 셀렉터(113)는 음고동기제어신호(PSYN)가 「음고비동기상태」 일 때 0쪽 입력접점에 입력되어 있는 포먼트 음고정보(PITCH)를 출력하고, 「음고동기상태」 일 때 1쪽 입력접점에 입력되어 있는 포먼트 음고정보(EXTPIN)를 출력한다.
셀렉터(113)의 출력신호는 음고정보 출력접점(EXTP)으로부터 출력되어 후단의 발음채널에 공급된다. 또, 가산기(116) 한쪽의 입력접점에 인가되고, 다른 입력접점에 인가되어 있는 정보를 가산하여 유성포먼트 발생기(110)의 입력접점(Fp)에 입력된다. 즉, 다른쪽 입력접점의 정보가 0인 경우에는, 외부로부터 입력된 포먼트음고정보(PITCH 혹은 EXTPIN)가 그대로 입력접점(Fp)에 입력된다.
가산기(116)의 다른 쪽 입력접점에는 변조신호발생기(111)의 출력신호가 AND게이트(112)를 통해서 입력되어 있다. 변조신호발생기(111)에는 유성포먼트 변조파라미터(VMODP)가 입력되어 있다. 키 온 신호(KON)가 입력되면 유성포먼트 변조파라미터 (MODP)에 의거하여 변조된 신호를 출력한다.
AND게이트(112)의 한쪽 입력접점에 입력되어 있는 유성포먼트음고 변조채널신호(VPME)가 하이레벨일 때, 변조신호 발생기(111)의 출력신호는 가산기(116)에 공급된다. 이 때, 유성포먼트발생기(110)에 부여되는 포먼트음고정보는 외부로부터 입력된 포먼트 음고정보에 변조신호말생기(111)의 출력신호를 가산한 값이 된다.
외부로부터 입력된 포먼트 음고정보에 변조신호발생기(111)의 출력신호를 가산함으로써, 포먼트음고에 시변동을 부여할 수 있다. 이것은, 예를 들면 목청을 흔들어서 비브라토를 가한 것과 같은 효과를 준다.
다음에, 유성포먼트 발생기(110)에 입력되는 포먼트 중심주파수 정보(Ff)의 생성에 대해서 설명한다.
외부로부터 입력된 포먼트 중심주파수정보(FC)가 가산기(117)의 한쪽 입력접점에 인가되고, 다른쪽 입력접점의 정보를 가산하여 유성포먼트발생기(110)의 포먼트 중심주파수정보 입력접점(Ff)에 공급된다. 즉, 다른쪽 입력접점의 정보가 0이면, 외부로부터 입력된 포먼트 중심주파수정보는 그대로 포먼트 중심주파수 정보입력 접점(fF)에 공급된다.
가산기(117)의 다른쪽 입력접점에는 변조신호발생기(111)(112)의 출력신호중 어느 한쪽이 셀렉터(114)에 의해 선택되어, AND게이트(115)를 통해서 입력된다. 변조신호발생기(121)에는 노이즈포먼트 변조파라미터(NMODP)가 입력되어 있다. 키 온 신호(KON)가 입력되면 노이즈포먼트 변조파라미터(NMODP)에 의거하여 변조된 신호를 출력한다.
AND게이트(115)의 한쪽 입력접점에 입력되어 있는 유성포먼트 주파수변조 인에이블신호(VFME)가 하이레벨일 때, 셀렉터(114)에 의해 선택된 변조신호는 가산기(117)에 공급된다. 이와 같이 해서, 포먼트음고정보의 경우와 마찬가지로 포먼트 중심주파수에 시변동을 부여할 수가 있다.
다음에, 노이즈포먼트발생기(120)에 입력되어 있는 노이즈포먼트 중심주파수정보(NFf)의 생성에 대해서 설명한다.
포먼트 중심주파수정보(FC) 및 노이즈포먼트 중심주파수정보 (NFC)의 어느 한쪽이 셀렉터(113)에 의해 선택되어 가산기(124) 한쪽의 입력접점에 인가된다. 가산기(124)의 다른쪽 입력접점에는 변조신호발생기(121)의 출력신호가 AND 게이트(122)를 통해서 입력된다. AND게이트(122)의 한쪽 입력접점에 입력되어 있는 노이즈포먼트 주파수변조 인에이블신호(NFME)가 하이레벨일 때, 변조신호발생기(121)의 출력신호는 가산기(124)에 공급된다.
이와 같이 해서 유성포먼트 주파수의 경우와 마찬가지로 노이즈포먼트 중심주파수에 시변동을 부여할 수가 있다.
셀렉터(114)(123)의 선택접점(S)에는 모두 포먼트 동기제어신호(URVF)가 입력되어 있다. 포먼트 동기제어신호(URVF)는 「포먼트 동기상태」 와 「포먼트 비동기상태」 의 2가지 상태가 된다.
포먼트 동기제어신호(URVF)가 「포먼트 비동기상태」 일 때, 셀렉터(114)는 0쪽 접점에 입력되어 있는 변조신호발생기(111)의 출력신호를 선택하고, 셀렉터(123)는 0쪽 접점에 입력되어 있는 노이즈포먼트 중심주파수정보(NFC)를 선택한다. 즉, 유성포먼트발생기(110)와 노이즈포먼트발생기(120)에 인가되어 있는포먼트 중심주파수는 다르며, 그 시변동도 각각 독립적이다.
포먼트 동기제어신호(URVF)가 「포먼트 동기상태」일 때, 셀렉터(114)는 1쪽접점에 입력되어 있는 변조신호발생기(121)의 출력신호를 선택하고, 셀렉터(123)는 1쪽 접점에 입력되어 있는 포먼트 중심주파수정보(FC)를 선택한다. 즉, 유성포먼트발생기(110)와 노이즈포먼트발생기(120)에 인가되어 있는 포먼트 중심주파수는 동일해지고, 그 시변동도 동기한다.
유성포먼트와 포먼트 중심주파수가 동일한 노이즈포먼트는, 예를 들면 통상의 음성에 대한 소근거리는 소리에 상당한다. 유성포먼트와 노이즈포먼트의 중심주파수를 동일하게 해 둠으로써, 통상의 음성과 소근거리는 소리를 절환하여 발음하는 것이 가능해진다. 한편, 포먼트가 독립된 자음성분을 합성하는 경우나, 휘파람이나 바람소리 등의 효과음을 합성할 경우에는 포먼트 동기제어신호(URVF)를 「포먼트 비동기상태」 로 해 둠으로써, 노이즈포먼트의 중심주파수 시변동을 유성포먼트의 그것으로부터 독립적으로 제어할 수 있다.
다음에, 제26도 및 제27도를 참조해서 유성포먼트발생기의 구성과 동작에 대해 설명한다.
제26도는 유성포먼트발생기의 구성을 도시하는 블록도이고, 제27도는 제26도의 유성포먼트발생기의 각 점의 파형을 도시한 그래프이다.
캐리어위상발생기(150)에 포먼트 중심주파수정보(Ff)가 인가되어 있다. 키 온 신호가 입력되면 캐리어위상발생기(150)는 크기가 0에서 2π 까지 인가된 주파수에 의해 주기적으로 변화하는 톱니파(S51)를 발생한다. 캐리어위상발생기(150)의출력파형을 제27도의 신호파형(S51)으로 나타낸다.
음고위상발생기(152)에 포먼트 음고정보(Fp)가 인가되어 있다. 키 온 신호가 입력된 음고위상발생기(152)는 크기가 0에서 2π 까지 인가된 음고에 의해 주기적으로 변화하는 톱니파(S53)를 발생한다. 음고위상발생기(152)의 출력파형을 제27도의 신호파형(S53)으로 나타낸다.
2π 검출기(153)는 톱니파(S53)의 진폭이 2π 가 되었음을 검출하여 프리세트신호(S54)를 출력한다. 프리세트신호(S54)를 제27도의 신호파형(S54)으로 나타낸다. 캐리어위상발생기(150)가 프리세트신호(S54)를 수신하면, 톱니파(S51)의 진폭을 강제적으로 0으로 해서 새롭게 톱니파(S51)의 발생을 개시한다.
캐리어파형 발생기(151)는 톱니파(51)에 의해 규정되는 위상에 의거하여 정현파(S52)를 발생한다. 정현파(S52)의 파형을 제27도의 신호파형(S52)으로 나타낸다.
윈도우함수 위상발생기(154)에는 윈도우함수 시간폭정보(BW)가 입력되어 있다. 키 온 신호(KON)가 입력되면 윈도우함수위상발생기(154)는 윈도우함수 시간폭정보(BW)에 의해 규정된 시간에 0에서 2π 까지 선형으로 증가하며, 2π 에 도달한 후 일정값(2π)을 유지하는 신호(S55)를 발생한다. 2π 검출기(153)로부터 프리세트신호(S54)가 입력되면, 신호(S55)의 크기는 0으로 돌아가 다시 2π 까지 증가하며 일정값을 유지하는 파형을 반복해서 발생한다. 신호(S55)의 파형을 제27도의 신호파형(S55)으로 나타낸다.
윈도우 함수 파형발생기(155)에는 스커트정보(SKT)가 입력되어 있다. 윈도우함수발생부(155)는 신호(S55)의 크기를 x라고 하면, 스커트정보(SKT)에 의거하여 Sin2SKT(x/2)에 상당하는 신호(S56)를 발생한다. 신호(S56)는 제27도의 신호파형(S56)으로 나타낸 바와 같이 윈도우함수 시간폭(BW)의 확장을 가진 매끄러운 산형상의 파형이다.
승산기(156)는 신호(S52)와 신호(S56) 승산하여 신호(S57)를 형성· 출력한다. 신호(S57)의 파형을 제27도의 신호파형(S57)으로 나타낸다. 신호(S56)의 산형상파형의 개시점에서는 신호(S52)는 항상 위상이 0부터 시작되기 때문에, 신호(S57)는 동일 파형을 윈도우함수의 음고에 의해 반복한다. 이와 같이 해서, 신호(S52)의 주파수를 포먼트 중심주파수로 하고, 신호(S56)의 음고를 포먼트 음고로 하는 유성포먼트(S57)가 형성된다.
엔벨로프발생기(158)에는 유성포먼트 진폭 엔벨로프정보(VEGP) 및 유성포먼트 레벨정보(VLVL)가 입력되어 있다. 키 온 신호(KON)가 입력되면, 엔벨로프발생기(158)는 유성포먼트 진폭 엔벨로프정보(VEGP) 및 유성포먼트 레벨정보(VLVL)에 의거하여 엔벨로프파형을 발생한다.
승산기(157)는 포먼트신호(S57)에 엔벨로프 발생기(158)가 발생한 엔벨로프정보를 곱하고, 엔벨로프가 부여된 포먼트신호(Fout)를 형성출력한다.
다음에, 제28도를 참조하여 노이즈 포먼트 발생회로의 구성 및 동작에 대해서 설명한다.
제28도는 제25도의 노이즈 포먼트 발생기(120)의 구성을 도시한 블록도이다.위상발생기(170)에 노이즈 포먼트 중심주파수정보(NFf)가 입력되어 있다. 키 온 신호(KON)가 입력되면, 위상발생기(170)는 톱니파형상의 위상신호를 발생한다. 캐리어파형발생부(172)는 위상발생기(170)로부터 인가된 위상에 의거해서 정현파를 발생한다.
화이트 노이즈발생기(173)는 화이트 노이즈를 발생하여, 가산기(174)의 한쪽 입력접점에 공급한다. 가산기(174)의 다른 쪽 입력접점에는 노이즈 포먼트 공진봉 특성정보(noise formant resonance peak characteristic information: NRES)가 입력되어 있으며, 화이트 노이즈 레벨에 노이즈 포먼트 공진봉 특성정보(NRES)분이 가산되어 스펙트럼 제어부(175)에 공급된다.
노이즈 스펙트럼 제어부(175)에는 노이즈 포먼트 대역특성정보(NBW)가 입력되어 있다. 노이즈 스펙트럼 제어부(175)에는 노이즈 포먼트 대역특성정보(NBW)에 의거하여 가산기(174)로부터 입력된 노이즈신호의 고역성분을 컷트한 신호를 출력한다.
승산기(176)는 캐리어 파형발생부(172)가 출력한 정현파형과 노이즈스펙트럼제어부(175)가 출력한 노이즈파형을 곱하여 노이즈 포먼트를 형성출력한다.
엔벨로프발생기(178)에는 노이즈포먼트 진폭 엔벨로프정보(NEGP) 및 노이즈 포먼트 레벨정보(NLVL)가 입력되어 있다. 키 온 신호(KON)가 입력되면, 엔벨로프발생기(178)는 노이즈 포먼트 진폭 엔벨로프정보 (NEGP) 및 노이즈 포먼트 레벨정보(NLVL)에 의거하여 엔벨로프파형을 발생한다.
승산기(177)는 승산기(176)가 출력한 노이즈 포먼트에 엔벨로프발생기(178)가 발생한 엔벨로프정보를 곱하여 엔벨로프가 인가된 노이즈 포먼트신호(Nout)를 형성출력한다.
제26도 및 제28도에 각각 도시한 유성포먼트발생기 및 노이즈포먼트발생기는 공통의 키 온 신호(KON)에 의해 발음을 개시하는데, 독립된 키 온 신호로해도 되고 키 온 신호 수신에서부터 발음개시까지의 시간지연에 차이를 두고, 유성포먼트와 노이즈포먼트의 파형발생에 시간차를 설정해도 된다. 또, 엔벨로프발생기(158, 178)가 발생하는 엔벨로프 신호의 상승을 제어하여 파형발생에 시간차를 설정해도 좋다.
이와 같이, 시간차를 설정함으로서 자음에서 모음으로의 변화제어를 행하는 것이 가능해진다.
상기 실시예에서는 유성 포먼트 발생기로서 기본 파형에 윈도우함수를 곱하여 포먼트를 발생하는 것에 대해서 설명했으나, FM음원을 이용해도 좋다.
제29도는 FM음원의 일례를 나타낸 것이다. FM변조기(180)의 변조출력신호가 소정의 게인을 부여받아 입력측에 피이드 백되고 있다. FM변조기(180)에는 변조신호(FMP1)가 인가되어 있다. 스위치(SW)의 동접점이 (1)쪽으로 기울어져 있는 경우에는 FM변조기(180)의 변조출력은 FM변조기(180)의 캐리어신호 입력접점에 공급된다.
FM변조기(181)에는 변조신호(FMP2)가 인가되어 있다. FM변조기(181)는 FM변조기(180)의 출력신호를 변조신호(FMP2)로 변조하여 가산기(182)를 통해서 변조출력신호(FMout)를 형성출력한다.
스위치(SW)의 동작점을 (2)쪽으로 기울였을 때에는 FM변조기(180)의 변조출력신호가 가산기(182)에 의해 가산되어 출력된다.
이와 같이 구성한 FM음원에 있어서 예를 들면 포먼트음고정보를 변조신호(FMP1)로 하고, 포먼트 중심주파수를 변조신호(FMP2)로 하면 좋다.
또한, 최종단의 발음채널의 출력접점(KONEXT, EXTP)을 첫번째 발음채널의 입력접점(KONIN, EXTPIN)에 접속할 수도 있다. 또, 포먼트음을 발생하는 발음채널과 별도의 악기음을 발생하는 발음채널을 형성해도 된다.
이상 실시예에 따라 본 발명을 설명했으나, 본 발명은 이것에 제한되는 것은 아니다. 예를 들면, 음성을 합성하는 경우에만 한하지 않고, 중주, 합주를 할 경우에 다수의 채널을 동시에 구동하기 위해 상술한 구성을 이용해도 된다. 그 밖에 각종 변경, 개량, 조합 등이 가능함은 당업자에게는 자명한 것이다.
이상 설명한 바와 같이, 본 발명에 의하면 다수의 발음채널중 하나의 발음채널만으로 발음개시신호 및 음고정보를 송출하는 것 만으로 다수의 발음채널로부터 음성 혹은 악음을 발생할 수 있다. 이 때문에 발음 제어가 용이해진다.
제1도는 본 발명에 관한 디지탈신호 처리장치를 채용한 전자악기의 일 실시예의 전체구성 블록도,
제2도는 제1도에서의 각 디지탈 신호처리기(digital signal processor:DSP) 사이의 신호 및 정보의 흐름을 도시한 기능블록도,
제3도는 하나의 DSP의 기본적 구조예를 도시한 블록도,
제4도는 제1도에서의 각 DSP내에 배설된 듀얼 포트 메모리(dual port mnemory) RAM의 기억 법(memory map)의 일 예를 도시한 도면,
제5도는 제1도에서의 DSP1의 하드웨어 구성예를 도시한 블록도,
제6도는 제1도에서의 DSP3의 하드웨어 구성예를 도시한 블록도,
제7도는 제1도에서의 DSP4의 하드웨어 구성예를 도시한 블록도,
제8도는 각 DSP의 시분할처리 채널 타이밍의 관계를 예시한 타임챠트,
제9도는 포먼트음 합성방식에 따라 처리할 때의 DSP1의 마이크로 프로그램의 각 스텝의 동작예를 도시한 타임 챠트(time chart),
제10도는 DSP1에 의해 실행되는 연산처리기능을 전개하며 도시한 기능블록도,
제11도는 DSP3의 마이크로 프로그램의 각 스텝의 동작예를 도시한 타임챠트,
제12도는 DSP3에 의해 실행되는 연산처리기능을 전개하여 도시한 기능블록도,
제13도는 포먼트음 합성방식에 따라 처리할 때의 DSP4 마이크로 프로그램의 각 스텝의 동작예를 도시한 타임챠트,
제14도는 DSP4에 의해 실행되는 연산처리기능을 전개하여 도시한 기능블록도,
제15도는 FM합성방식에 따라 처리할 때의 DSP1 마이크로 프로그램의 각 스텝의 동작예를 도시한 타임챠트,
제16도는 FM합성방식에 따라 처리할 때의 DSP4 마이크로 프로그램의 각 스텝의 동작예를 도시한 타임챠트,
제17도는 포먼트 음(formant sound) 합성시에 DSP1에서 작성되는 각종 위상데이터의 예를 도시한 파형도,
제18도는 포먼트 음 합성시에 DSP4에서 작성되는 각종 위상데이터의 예를 도시한 파형도,
제19도는 전자악기의 마이크로 컴퓨터부로부터 각 DSP에 인가되는 파라미터데이터의 일 예를 도시한 일람도,
제20도는 소정의 다수의 DSP 협동에 의해 실현되는 FM합성연산용의 하나인 오퍼레이터에 있어서의 연산처리기능을 대략 도시한 기능블록도,
제21도는 FM합성연산용 다수의 오퍼레이터 조합에 의해 실현되는 FM합성 연산 알고리즘의 예를 도시한 기능블록도,
제22도는 채널 동기 동작(channel synchronization process)의 일 예를 전체 채널의 채널 동기 동작 플래그(flags)(RBP)의 값이 「0」인 상태의 경우에 대해 각 채널을 개념적으로 병렬적으로 배치하고 도시한 기능적 블록도,
제23도는 채널 동기동작의 또 다른 예를, 어떤 몇 개 채널의 채널 동기동작 플래그(RBP)의 값이 「1」인 상태의 경우에 대해 각 채널을 개념적으로 병렬적으로 배치하고 도시한 기능적 블록도,
제24도는 본 발명의 실시예에 의한 음성 및 악음합성장치의 일 예를 도시한 블록도,
제25도는 제24도에 도시한 음성 및 악음합성장치의 발음채널(sound generation channel)의 일 예를 도시한 블록도,
제26도는 제25도에 도시한 유성포먼트 발생기(voiced formant generator)의 일 예를 도시한 블록도,
제27도는 제26도에 도시한 유성포먼트 발생기의 각 점에서의 파형의 예를 도시한 그래프,
제28도는 제24도에 도시한 노이즈 포먼트 발생기(noise formant generator)의 일 예를 도시한 블록도,
제29도는 FM음원회로의 일 예를 도시한 블록도이다.
*도면의 주요 부분에 대한 부호의 설명*
6 : 제어신호발생부 7 : 기억부
11 : 유성 포먼트 발생기(voiced formant generator)
12 : 노이즈 포먼트 발생기(noise formant generator)
13 : 변환기
15,17,18,19,24,25 : 지연회로 21 : PAN테이블
22 : 셀렉터 23 : 콘트롤러
34 : 게이트회로 37 : 병직렬변환기
39 : 시프터 38 : 콘트롤러
52 : 리듬 음 발생기(rhythm sound generator)
56 : 오버플로우/언더플로우 콘트롤러(overflow/underflow controller)
60 : 웨이브 포옴 시프터(wave form shifter)
62 : 로그/사인 테이블(log/sin table)
65 : 시프터/로그 리니어 변환기(shifter and log/linear converter)
DBUS : 데이터 버스 112 : 앤드 게이트(AND)
111 : 변조신호발생기 116 : 가산기
SS : 사운드시스템 PBUS : 파라미터 버스
COM : 마이크로컴퓨터
Claims (15)
- 소망하는 사운드신호처리를 위해 필요한 다수의 파라미터를 공급하는 파라미토 공급수단과;각각의 것이, 연산처리에 필요한 파라미터를 수신하여 상기 수신된 파라미터와 설정된 프로그램에 따라 디지탈 입력데이터에 대해 소정의 연산처리를 행하도록하는 연산처리부와, 기입포트를 경유하여 상기 연산처리부로부터 출력된 연산결과데이터를 저장할 수 있으며 상기 연산결과데이터의 기입과 관계없이 판독포트를 경유하여 상기 저장된 연산결과데이터를 판독할 수 있도록 분리된 기입포트 및 판독포트를 가지는 듀얼 포트 메모리를 구비하는 다수의 독립된 디지탈신호 처리수단과;상기 디지탈신호처리수단 중 소정의 하나 이상에 다수의 파라미터를 제각기 공급하도록 상기 디지탈신호처리수단에 각각에 접속된 제1버스; 및상기 처리수단의 각각의 듀얼 포트 메모리의 판독포트로부터 판독한 출력데이터를 전송하도록 상기 디지탈신호처리수단 각각에 접속된 제2버스를 구비하며;특히, 적어도 하나의 소정의 상기 디지탈신호처리수단은 상기 제2버스를 경유하여 다른 디지탈 신호처리수단으로부터 출력데이터를 수신하고 수신된 데이터를 입력데이터로 사용하는 소정의 연산처리를 수행하며, 또한 상기 디지탈신호처리수단의 각각은, 상기 다른 디지탈 신호처리수단에서 사용할 연산결과데이터를 상기 듀얼포트 메모리를 경유하여 공급함으로써, 상기 다른 디지탈 신호처리수단의 그것과 독립된 타이밍에 연산처리를 실행할 수 있으며, 또한 적어도 하나의 상기 디지탈신호 처리수단은, 소망하는 음고주파수에 대응하는 악음파형의 진행하는 위상데이터를 발생하도록 연산처리를 수행하는 것을 특징으로 하는 디지탈신호 처리장치.
- 소망하는 사운드신호처리를 위해 필요한 다수의 파라미터를 공급하는 파라미터 공급수단과;각각의 것이, 연산처리에 필요한 파라미터를 수신하여 상기 수신된 파라미터와 설정된 프로그램에 따라 디지탈 입력데이터에 대해 소정의 연산처리를 행하도록하는 연산처리부와, 기입포트를 경유하여 상기 연산처리부로부터 출력된 연산결과데이터를 저장할 수 있으며 상기 연산결과데이터의 기입과 관계없이 판독포트를 경유하여 상기 저장된 연산결과데이터를 판독할 수 있도록 분리된 기입포트 및 판독포트를 가지는 듀얼 포트 메모리를 구비하는 다수의 독립된 디지탈신호 처리수단과;상기 디지탈신호처리수단 중 소정의 하나 이상에 다수의 파라미터를 제각기 공급하도록 상기 디지탈신호처리수단에 각각에 접속된 제1버스; 및상기 처리수단의 각각의 듀얼 포트 메모리의 판독포트로부터 판독한 출력데이터를 전송하도록 상기 디지탈신호처리수단 각각에 접속된 제2버스를 구비하며;특히, 적어도 하나의 소정의 상기 디지탈신호처리수단은 상기 제2버스를 경유하여 다른 디지탈 신호처리수단으로부터 출력데이터를 수신하고 수신된 데이터를 입력데이터로 사용하는 소정의 연산처리를 수행하며, 또한 상기 디지탈신호처리수단의 각각은, 상기 다른 디지탈 신호처리수단에서 사용할 연산결과데이터를 상기 듀얼포트 메모리를 경유하여 공급함으로써, 상기 다른 디지탈 신호처리수단의 그것과 독립된 타이밍에 연산처리를 실행할 수 있으며, 또한 적어도 하나의 상기 디지탈신호 처리수단은, 시간에 대하여 악음을 제어하기 위한 엔벨로프신호 데이터를 발생하도록 연산처리를 수행하는 것을 특징으로 하는 디지탈신호 처리장치.
- 소망하는 사운드신호처리를 위해 필요한 다수의 파라미터를 공급하는 파라미토 공급수단과;각각의 것이, 연산처리에 필요한 파라미터를 수신하여 상기 수신된 파라미터와 설정된 프로그램에 따라 디지탈 입력데이터에 대해 소정의 연산처리를 행하도록하는 연산처리부와, 기입포트를 경유하여 상기 연산처리부로부터 출력된 연산결과데이터를 저장할 수 있으며 상기 연산결과데이터의 기입과 관계없이 판독포트를 경유하여 상기 저장된 연산결과데이터를 판독할 수 있도록 분리된 기입포트 및 판독포트를 가지는 듀얼 포트 메모리를 구비하는 다수의 독립된 디지탈신호 처리수단과;상기 디지탈신호처리수단 중 소정의 하나 이상에 다수의 파라미터를 제각기 공급하도록 상기 디지탈신호처리수단에 각각에 접속된 제1버스; 및상기 처리수단의 각각의 듀얼 포트 메모리의 판독포트로부터 판독한 출력데이터를 전송하도록 상기 디지탈신호처리수단 각각에 접속된 제2버스를 구비하며;특히, 적어도 하나의 소정의 상기 디지탈신호처리수단은 상기 제2버스를 경유하여 다른 디지탈 신호처리수단으로부터 출력데이터를 수신하고 수신된 데이터를 입력데이터로 사용하는 소정의 연산처리를 수행하며, 또한 상기 디지탈신호처리수단의 각각은, 상기 다른 디지탈 신호처리수단에서 사용할 연산결과데이터를 상기 듀얼포트 메모리를 경유하여 공급함으로써, 상기 다른 디지탈 신호처리수단의 그것과 독립된 타이밍에 연산처리를 실행할 수 있으며, 또한 적어도 하나의 상기 디지탈신호 처리수단은, 다른 디지탈신호 처리수단으로부터 출력된 진행하는 위상데이터 및 엔벨로프 신호데이터를 상기 제2버스를 통해 받아들이고, 이들 수신된 데이터에 의거해서 악음파형데이터를 발생하도록 연산처리를 수행하는 것을 특징으로 하는 디지탈신호 처리장치.
- 소망하는 사운드신호처리를 위해 필요한 다수의 파라미터를 공급하는 파라미토 공급수단과;각각의 것이, 연산처리에 필요한 파라미터를 수신하여 상기 수신된 파라미터와 설정된 프로그램에 따라 디지탈 입력데이터에 대해 소정의 연산처리를 행하도록하는 연산처리부와, 기입포트를 경유하여 상기 연산처리부로부터 출력된 연산결과데이터를 저장할 수 있으며 상기 연산결과데이터의 기입과 관계없이 판독포트를 경유하여 상기 저장된 연산결과데이터를 판독할 수 있도록 분리된 기입포트 및 판독포트를 가지는 듀얼 포트 메모리를 구비하는 다수의 독립된 디지탈신호 처리수단과;상기 디지탈신호처리수단 중 소정의 하나 이상에 다수의 파라미터를 제각기공급하도록 상기 디지탈신호처리수단에 각각에 접속된 제1버스; 및상기 처리수단의 각각의 듀얼 포트 메모리의 판독포트로부터 판독한 출력데이터를 전송하도록 상기 디지탈신호처리수단 각각에 접속된 제2버스를 구비하며;특히, 적어도 하나의 소정의 상기 디지탈신호처리수단은 상기 제2버스를 경유하여 다른 디지탈 신호처리수단으로부터 출력데이터를 수신하고 수신된 데이터를 입력데이터로 사용하는 소정의 연산처리를 수행하며, 또한 상기 디지탈신호처리수단의 각각은, 상기 다른 디지탈 신호처리수단에서 사용할 연산결과데이터를 상기 듀얼포트 메모리를 경유하여 공급함으로써, 상기 다른 디지탈 신호처리수단의 그것과 독립된 타이밍에 연산처리를 실행할 수 있으며, 또한 상기 소망하는 사운드신호처리는, 디지탈 사운드 파형신호를 합성하는 처리 및 디지탈 사운드 파형신호에 대해 음향효과 또는 악음효과를 부여하는 처리 중 적어도 어느 하나인 것을 특징으로 하는 디지탈신호 처리장치.
- 다수의 채널에서 사운드신호를 합성하는 사운드신호 합성장치에 있어서,사운드 신호 합성을 위한 일련의 신호처리연산을 다수의 신호처리부분으로 분할한 것 중에 각각의 것에 대응하는 연산처리를 각각 실행하기 위한 다수의 연산처리수단으로서, 각각의 연산처리수단은 각각의 연산처리를 동시병행적으로 수행하도록 서로가 병렬적으로 접속되어 있으며, 또한 상기 각각의 연산처리수단은 상기 연산처리수단에 대해 독자적인 채널 시분할처리 타이밍에서 시분할에 의거하여 다수 채널에 대한 연산처리를 수행함으로써 상기 채널 각각의 연산처리결과를 출력하며, 또 상기 다수의 연산처리수단 중 적어도 하나가 또 다른 상기 연산처리수단의 연산처리결과를 이용하여 상기 연산처리를 수행하는 상기 다수의 연산처리수단과;상기 다수의 연산처리수단에 대응하여 제공되는 듀얼 포트 메모리로서, 각각의 듀얼 포트 메모리는 상기 듀얼 포트 메모리가 상기 연산처리수단 중 대응하는 하나로부터 기입포트를 경유하여 연산처리결과 데이터를 저장할 수 있으며, 또한 상기 저장된 연산처리결과를 상기 연산처리결과 데이터의 기입과 독립적으로 판독포트를 경유하여 판독할 수 있도록, 기입포트와 판독포트를 가지는 다수의 듀얼포트 메모리와;상기 듀얼 포트 메모리에 대응하는 판독포트로부터 판독한 각각의 상기 연산처리수단의 연산처리결과데이터를 또 다른 상기 연산처리수단 또는 사운드신호의 출력포트로 전송하도록, 상기 다수의 연산처리수단 및 상기 다수의 듀얼 포트 메모리에 접속된 버스와;상기 각각의 연산처리수단에 대해, 각 채널마다에서의 사운드신호합성에 필요한 하나 이상의 파라미터를 공급하는 파라미터 공급수단을 구비하며,상기 다수의 연산처리수단 중 하나는, 시간에 대해서 악음을 제어하기 위한 엔벨로프 신호 데이터를 발생하는 연산처리를 수행하며, 또한 상기 다수의 연산처리수단 중 다른 하나는, 상기 발생된 엔벨로프 신호 데이터에 대응하여 제어된 악음파형신호를 발생하도록 연산처리를 수행하는 것을 특징으로 하는 사운드신호 합성장치.
- 다수의 채널에서 사운드신호를 합성하는 사운드신호 합성장치에 있어서,사운드 신호합성을 위한 일련의 신호처리연산을 다수의 신호처리부분으로 분할한 것 중에 각각의 것에 대응하는 연산처리를 각각 실행하기 위한 다수의 연산처리수단으로서, 각각의 연산처리수단은 각각의 연산처리를 동시병행적으로 수행하도록 서로가 병렬적으로 접속되어 있으며, 또한 상기 각각의 연산처리수단은 상기 연산처리수단에 대해 독자적인 채널 시분할처리 타이밍에서 시분할에 의거하여 다수 채널에 대한 연산처리를 수행함으로써 상기 채널 각각의 연산처리결과를 출력하며, 또 상기 다수의 연산처리수단 중 적어도 하나가 또 다른 상기 연산처리수단의 연산처리결과를 이용하여 상기 연산처리를 수행하는 상기 다수의 연산처리수단과;상기 다수의 연산처리수단에 대응하여 제공되는 듀얼 포트 메모리로서, 각각의 듀얼 포트 메모리는 상기 듀얼 포트 메모리가 상기 연산처리수단 중 대응하는 하나로부터 기입포트를 경유하여 연산처리결과 데이터를 저장할 수 있으며, 또한 상기 저장된 연산처리결과를 상기 연산처리결과 데이터의 기입과 독립적으로 판독포트를 경유하여 판독할 수 있도록, 기입포트와 판독포트를 가지는 다수의 듀얼포트 메모리와;상기 듀얼 포트 메모리에 대응하는 판독포트로부터 판독한 각각의 상기 연산처리수단의 연산처리결과데이터를 또 다른 상기 연산처리수단 또는 사운드신호의 출력포트로 전송하도록, 상기 다수의 연산처리수단 및 상기 다수의 듀얼 포트 메모리에 접속된 버스와;상기 각각의 연산처리수단에 대해, 각 채널마다에서의 사운드신호합성에 필요한 하나 이상의 파라미터를 공급하는 파라미터 공급수단을 구비하며,상기 연산처리수단 중 하나는, 소망하는 음고주파수에 대응하는 악음파형의 진행하는 위상데이터를 발생하도록 연산처리를 수행하는 것을 특징으로 하는 사운드신호 합성장치.
- 다수의 채널에서 사운드신호를 합성하는 사운드신호 합성장치에 있어서,사운드 신호합성을 위한 일련의 신호처리연산을 다수의 신호처리부분으로 분할한 것 중에 각각의 것에 대응하는 연산처리를 각각 실행하기 위한 다수의 연산처리수단으로서, 각각의 연산처리수단은 각각의 연산처리를 동시병행적으로 수행하도록 서로가 병렬적으로 접속되어 있으며, 또한 상기 각각의 연산처리수단은 상기 연산처리수단에 대해 독자적인 채널 시분할처리 타이밍에서 시분할에 의거하여 다수 채널에 대한 연산처리를 수행함으로써 상기 채널 각각의 연산처리결과를 출력하며, 또 상기 다수의 연산처리수단 중 적어도 하나가 또 다른 상기 연산처리수단의 연산처리결과를 이용하여 상기 연산처리를 수행하는 상기 다수의 연산처리수단과;상기 다수의 연산처리수단에 대응하여 제공되는 듀얼 포트 메모리로서, 각각의 듀얼 포트 메모리는 상기 듀얼 포트 메모리가 상기 연산처리수단 중 대응하는 하나로부터 기입포트를 경유하여 연산처리결과 데이터를 저장할 수 있으며, 또한 상기 저장된 연산처리결과를 상기 연산처리결과 데이터의 기입과 독립적으로 판독포트를 경유하여 판독할 수 있도록, 기입포트와 판독포트를 가지는 다수의 듀얼포트 메모리와;상기 듀얼 포트 메모리에 대응하는 판독포트로부터 판독한 각각의 상기 연산처리수단의 연산처리결과데이터를 또 다른 상기 연산처리수단 또는 사운드신호의 출력포트로 전송하도록, 상기 다수의 연산처리수단 및 상기 다수의 듀얼 포트 메모리에 접속된 버스와;상기 각각의 연산처리수단에 대해, 각 채널마다에서의 사운드신호합성에 필요한 하나 이상의 파라미터를 공급하는 파라미터 공급수단을 구비하며,상기 다수의 연산처리수단 중, 제1연산처리수단은 소정의 제1사운드합성 알고리즘에 따라 제1사운드 파형신호를 합성하도록 연산처리를 수행하며, 제2연산처리수단은 소정의 제2사운드합성 알고리즘에 따라 제2사운드 파형신호를 합성하도록 연산처리를 수행하며, 또한 제3연산처리수단은 시간에 대해서 사운드를 제어하기 위한 엔벨로프신호 데이터를 발생하도록 연산처리를 수행하며, 상기 제1연산처리수단 및 제2연산처리수단에서 합성된 상기 제1사운드 파형신호 및 제2사운드 파형신호의 엔벨로프는 상기 제3연산처리수단에서 발생된 엔벨로프 신호 데이터에 의해 제어되도록 한 것을 특징으로 한 사운드신호 합성장치.
- 제13항에 있어서, 적어도 상기 제1연산처리수단은, 상기 제1사운드합성 알고리즘을 주어진 파라미터에 따라 변경할 수 있는 것을 특징으로 하는 사운드신호 합성장치.
- 다수의 채널에서 사운드신호를 합성하는 사운드신호 합성장치에 있어서,사운드 신호 합성을 위한 일련의 신호처리연산을 다수의 신호처리부분으로 분할한 것 중에 각각의 것에 대응하는 연산처리를 각각 실행하기 위한 다수의 연산처리수단으로서, 각각의 연산처리수단은 각각의 연산처리를 동시병행적으로 수행하도록 서로가 병렬적으로 접속되어 있으며, 또한 상기 각각의 연산처리수단은 상기 연산처리수단에 대해 독자적인 채널 시분할처리 타이밍에서 시분할에 의거하여 다수 채널에 대한 연산처리를 수행함으로써 상기 채널 각각의 연산처리결과를 출력하며, 또 상기 다수의 연산처리수단 중 적어도 하나가 또 다른 상기 연산처리수단의 연산처리결과를 이용하여 상기 연산처리를 수행하는 상기 다수의 연산처리수단과;상기 다수의 연산처리수단에 대응하여 제공되는 듀얼 포트 메모리로서, 각각의 듀얼 포트 메모리는 상기 듀얼 포트 메모리가 상기 연산처리수단 중 대응하는 하나로부터 기입포트를 경유하여 연산처리결과 데이터를 저장할 수 있으며, 또한 상기 저장된 연산처리결과를 상기 연산처리결과 데이터의 기입과 독립적으로 판독포트를 경유하여 판독할 수 있도록, 기입포트와 판독포트를 가지는 다수의 듀얼포트 메모리와;상기 듀얼 포트 메모리에 대응하는 판독포트로부터 판독한 각각의 상기 연산처리수단의 연산처리결과데이터를 또 다른 상기 연산처리수단 또는 사운드신호의 출력포트로 전송하도록, 상기 다수의 연산처리수단 및 상기 다수의 듀얼 포트 메모리에 접속된 버스와;상기 각각의 연산처리수단에 대해, 각 채널마다에서의 사운드신호합성에 필요한 하나 이상의 파라미터를 공급하는 파라미터 공급수단을 구비하며,상기 듀얼 포트 메모리는, 상기 듀얼포트 메모리와 관련된 상기 연산처리수단의 채널 시분할처리 타이밍에 대응하여, 상기 관련된 연산처리수단의 연산처리결과데이터의 기입제어를 수행하고, 상기 관련된 연산처리수단의 연산처리결과가 이용될 다른 연산처리수단에서의 채널 시분할처리 타이밍에 대응하여 상기 연산처리결과 데이터의 판독제어를 수행하는 것을 특징으로 하는 사운드신호 합성장치.
- 다수의 채널로 각각 독립적으로 인가되는 다수의 파라미터에 의거하여 상기 다수의 채널에서 개별적으로 사운드 신호를 발생하는 사운드신호 발생수단과;상기 다수 채널의 각각에 대해서, 발음지정정보와, 상기 채널이 또 다른 채널과 동기하여 사운드를 발생시켜야할 것인지 여부를 지정하는 동기발음 지정데이터를 포함하는 다수의 파라미터를 공급하는 파라미터 공급수단과;상기 각각의 채널로 공급되는 상기 동기발음 지정데이터에 의거해서, 동기발음이 지정된 어느 채널이 소정의 하나 이상의 다른 채널의 사운드발생에 동기하여 사운드를 발생시키도록, 상기 사운드 신호발생수단을 제어하며, 상기 지정된 채널에서의 사운드 발생 타이밍 및 음고를 제어하여 상기 소정의 다른 채널에서의 그것과 동기하도록 하는 제어수단을 구비한 것을 특징으로 하는 사운드신호 합성장치.
- 제10항에 있어서, 상기 소정의 다른 채널은, 상기 동기발음지정이 되어 있는 채널에 인접하며, 자체에는 동기발음지정이 되어 있지 않은 채널인 것을 특징으로하는 사운드신호 합성장치.
- 제10항에 있어서, 상기 파라미터에는 각각의 상기 채널 고유의 음색설정 및 제어용 파라미터가 포함되어 있으며, 상기 사운드신호 발생수단은 상기 동기발음지정의 가부에 관계없이 상기 음색설정· 제어용 파라미터를 사용하여 각 채널에서 사운드신호를 발생하는 것을 특징으로 하는 사운드신호 합성장치.
- 발음개시를 지시하는 발음개시신호 및 음고정보를 수신하여 상기 발음개시신호에 응답하여, 상기 음고정보에 의거해서 사운드의 파형을 형성하도록 하는 다수의 파형발생수단과;상기 다수의 파형발생수단 중 특정한 하나의 파형발생수단으로 상기 발음개시신호 및 음고정보를 송출하는 제어수단; 및상기 특정한 파형발생수단으로부터 소정의 다른 파형발생수단으로 발음개시신호 및 음고정보를 전송하기 위한 전송수단을 구비하며, 상기 특정한 파형발생수단과 상기 소정의 다른 파형발생수단은, 동기된 발음타이밍에서 일치된 음고의 악음을 가지는 것을 특징으로 하는 음성 및 악음합성장치.
- 제13항에 있어서, 상기 제어수단은 외부로부터 발음개시지시를 수신하기 위한 입력접점을 구비하고 있어서, 상기 입력접점으로부터 발음개시지시가 수신되면 상기 다수의 파형발생수단 중에서 소정 개수의 파형발생수단을 선택하여, 선택된 파형발생수단 중 특정한 하나의 파형발생수단으로 발음개시신호 및 음고정보를 송출하며;또한, 상기 전송수단은 상기 특정한 파형발생수단으로부터 또 다른 상기 파형발생수단으로 발음개시신호 및 음고정보를 전송하는 것을 특징으로 하는 음성 및 악음합성장치.
- 발음개시신호를 수신하는 제1 및 제2발음개시신호 입력접점, 포먼트 중심주파수정보를 수신하는 중심주파수정보 입력접점, 포먼트 음고정보를 수신하는 제1 및 제2음고정보 입력접점 및 「음고 동기상태」 와 「음고 비동기상태」 의 어느 한쪽의 상태를 가진 음고동기 제어신호를 수신하는 제어입력접점을 가지며, 상기 음고동기 제어신호가 「음고동기상태」 로 되어 있는 경우에는 상기 제1발음개시신호 입력접점으로부터 수신된 발음개시신호, 상기 중심주파수 정보입력접점으로부터 수신된 포먼트 중심주파수정보 및 상기 제1음고정보 입력접점으로부터 수신된 포먼트 음고정보에 의거해서 포먼트 음을 발생하고, 상기 음고동기 제어신호가 「음고 비동기상태」 로 되어 있는 경우에는 상기 제2발음개시신호 입력접점으로부터 수신된 발음개시신호, 상기 중심주파수 정보입력접점으로부터 수신된 포먼트 중심주파수정보 및 상기 제2음고정보 입력접점으로부터 수신된 포먼트 음고정보에 의거해서 포먼트음을 발생하는 발음채널로서,또한 상기 음고동기 제어신호가 「음고동기상태」 인 경우에는 상기 제1 발음개시신호 입력접점으로부터 수신된 발음개시신호를 출력하고, 상기 음고동기 제어신호가 「음고 비동기상태」 인 경우에는 상기 제2발음개시신호 입력접점으로부터 수신된 발음개시신호를 출력하는 발음개시신호 출력접점과, 상기 음고동기 제어신호가 「음고동기상태」 인 경우에는 상기 제1의 음고정보 입력접점으로부터 수신된 포먼트 음고정보를 출력하고, 상기 음고동기 제어신호가 「음고동기상태」 인 경우에는 상기 제2음고정보 입력접점으로부터 수신된 포먼트 음고정보를 출력하는 음고정보 출력접점을 가진 다수의 상기 발음채널과;상기 다수의 발음채널에 연속번호를 부여했을 때, n번째의 상기 발음채널의 제1발음개시신호 입력접점 및 제1음고정보 입력접점과, (n-1)번째의 상기 발음채널의 발음개시신호 출력접점 및 음고정보 출력접점을 각각 상호 접속하는 다수개의 접속배선; 및외부로부터 입력되는 연주입력신호에 응답하여, 상기 다수의 발음채널 중 번호가 연속된 소정 개수의 발음채널을 선택하여, 선택된 발음채널의 각각의 중심주파수 입력접점으로 소정의 포먼트 중심주파수 정보를 송출하고, 선택된 발음채널중 가장 번호가 작은 발음채널로 송출하는 음고동기 제어신호를 「음고 비동기상태」 로 설정하고, 선택된 발음채널 중 다른 발음채널의 각각으로 송출하는 음고동기 제어신호를 「음고 동기상태」 로 설정하고, 또한 선택된 발음채널 중 가장 번호가 작은 발음채널의 제2발음개시신호 입력접점 및 음고정보 입력접점으로 발음개시신호 및 소정의 포먼트 음고정보를 각각 송출하는 제어수단을 구비하는 것을 특징으로 하는 음성 및 악음합성장치.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7004121A JP2812229B2 (ja) | 1995-01-13 | 1995-01-13 | 音声及び楽音合成装置 |
JP95-4121 | 1995-01-13 | ||
JP95-67110 | 1995-02-28 | ||
JP6711095 | 1995-02-28 | ||
JP95-117672 | 1995-04-20 | ||
JP7117672A JP2812246B2 (ja) | 1995-02-28 | 1995-04-20 | ディジタル信号処理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020008674A Division KR100386918B1 (ko) | 1995-01-13 | 2002-02-19 | 디지탈신호 처리장치와 음성 및 악음 합성장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960030076A KR960030076A (ko) | 1996-08-17 |
KR100338059B1 true KR100338059B1 (ko) | 2002-10-11 |
Family
ID=27276123
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960000595A KR100338059B1 (ko) | 1995-01-13 | 1996-01-13 | 디지탈신호처리장치와음성및악음합성장치 |
KR1020020008674A KR100386918B1 (ko) | 1995-01-13 | 2002-02-19 | 디지탈신호 처리장치와 음성 및 악음 합성장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020008674A KR100386918B1 (ko) | 1995-01-13 | 2002-02-19 | 디지탈신호 처리장치와 음성 및 악음 합성장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5744741A (ko) |
EP (1) | EP0722162B1 (ko) |
KR (2) | KR100338059B1 (ko) |
CN (2) | CN1308909C (ko) |
DE (1) | DE69617480T2 (ko) |
SG (2) | SG60168A1 (ko) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6031916A (en) * | 1996-02-28 | 2000-02-29 | Kabushiki Kaisha Kawai Gakki Seisakusho | Sound effect adding device using DSP |
US5895449A (en) * | 1996-07-24 | 1999-04-20 | Yamaha Corporation | Singing sound-synthesizing apparatus and method |
DE69704996T2 (de) * | 1996-08-05 | 2002-04-04 | Yamaha Corp., Hamamatsu | Software-Tonerzeuger |
US20050120870A1 (en) * | 1998-05-15 | 2005-06-09 | Ludwig Lester F. | Envelope-controlled dynamic layering of audio signal processing and synthesis for music applications |
JP2000020055A (ja) | 1998-06-26 | 2000-01-21 | Yamaha Corp | 楽音情報転送装置 |
JP4505899B2 (ja) * | 1999-10-26 | 2010-07-21 | ソニー株式会社 | 再生速度変換装置及び方法 |
JP4120978B2 (ja) * | 2001-02-27 | 2008-07-16 | ヤマハ株式会社 | 電子楽器用バスシステム |
US7249357B2 (en) * | 2001-08-20 | 2007-07-24 | Silicon Graphics, Inc. | Transparent distribution and execution of data in a multiprocessor environment |
EP1304680A3 (en) * | 2001-09-13 | 2004-03-03 | Yamaha Corporation | Apparatus and method for synthesizing a plurality of waveforms in synchronized manner |
US6972362B2 (en) * | 2002-01-09 | 2005-12-06 | Rohm Co., Ltd. | Method and device for generating electronic sounds and portable apparatus utilizing such device and method |
US7424430B2 (en) * | 2003-01-30 | 2008-09-09 | Yamaha Corporation | Tone generator of wave table type with voice synthesis capability |
ITMC20030032A1 (it) * | 2003-03-28 | 2004-09-29 | Viscount Internat Spa | Metodo e dispositivo elettronico per riprodurre il suono delle canne ad anima dell'organo liturgico, sfruttando la tecnica della modellazione fisica degli strumenti acustici |
KR100682444B1 (ko) * | 2003-10-29 | 2007-02-15 | 야마하 가부시키가이샤 | 오디오 신호 프로세서 |
JP2005234337A (ja) * | 2004-02-20 | 2005-09-02 | Yamaha Corp | 音声合成装置、音声合成方法、及び音声合成プログラム |
US7663052B2 (en) * | 2007-03-22 | 2010-02-16 | Qualcomm Incorporated | Musical instrument digital interface hardware instruction set |
US7678986B2 (en) * | 2007-03-22 | 2010-03-16 | Qualcomm Incorporated | Musical instrument digital interface hardware instructions |
US7663051B2 (en) * | 2007-03-22 | 2010-02-16 | Qualcomm Incorporated | Audio processing hardware elements |
EP2276186A3 (en) | 2007-03-28 | 2011-04-13 | Yamaha Corporation | Mixing signal processing apparatus and mixing signal processing integrated circuit |
CN101911049B (zh) * | 2007-12-12 | 2013-03-06 | Nxp股份有限公司 | 处理架构 |
DE102008062594A1 (de) * | 2008-12-16 | 2010-07-01 | Diehl Aerospace Gmbh | Mehrkanal-Kontrollermodul |
JP5246044B2 (ja) * | 2009-05-29 | 2013-07-24 | ヤマハ株式会社 | 音響装置 |
CN104704560B (zh) * | 2012-09-04 | 2018-06-05 | 纽昂斯通讯公司 | 共振峰依赖的语音信号增强 |
CN105989846B (zh) * | 2015-06-12 | 2020-01-17 | 乐融致新电子科技(天津)有限公司 | 一种多通道语音信号同步方法及装置 |
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 |
CN105551482A (zh) * | 2015-12-23 | 2016-05-04 | 苏州汇莱斯信息科技有限公司 | 一种基于dsp的声音识别匹配算法 |
US11287310B2 (en) | 2019-04-23 | 2022-03-29 | Computational Systems, Inc. | Waveform gap filling |
CN110570876B (zh) * | 2019-07-30 | 2024-03-15 | 平安科技(深圳)有限公司 | 歌声合成方法、装置、计算机设备和存储介质 |
CN113257278B (zh) * | 2021-04-29 | 2022-09-20 | 杭州联汇科技股份有限公司 | 一种带阻尼系数的音频信号瞬时相位的检测方法 |
CN114495874A (zh) * | 2022-01-27 | 2022-05-13 | 广州艾美网络科技有限公司 | 音频数据同步系统及其控制方法、合唱系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4644840A (en) * | 1983-05-21 | 1987-02-24 | Reinhard Franz | Electronic keyboard musical instrument and a method of operating the same |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4373416A (en) * | 1976-12-29 | 1983-02-15 | Nippon Gakki Seizo Kabushiki Kaisha | Wave generator for electronic musical instrument |
JPS5579496A (en) * | 1978-12-12 | 1980-06-14 | Nippon Musical Instruments Mfg | Electronic musical ninstrument |
DE3318666C1 (de) * | 1983-05-21 | 1984-10-11 | WERSI-electronic GmbH & Co KG, 5401 Halsenbach | Elektronisches Tastenmusikinstrument |
EP0229926B1 (en) * | 1985-11-29 | 1993-11-18 | Yamaha Corporation | Tone signal processing device |
US5020410A (en) * | 1988-11-24 | 1991-06-04 | Casio Computer Co., Ltd. | Sound generation package and an electronic musical instrument connectable thereto |
JP2504172B2 (ja) * | 1989-03-29 | 1996-06-05 | ヤマハ株式会社 | フォルマント音発生装置 |
JPH02271397A (ja) * | 1989-04-13 | 1990-11-06 | Yamaha Corp | ノイズ音発生装置 |
US5091951A (en) * | 1989-06-26 | 1992-02-25 | Pioneer Electronic Corporation | Audio signal data processing system |
US5121667A (en) * | 1989-11-06 | 1992-06-16 | Emery Christopher L | Electronic musical instrument with multiple voices responsive to mutually exclusive ram memory segments |
JP3000600B2 (ja) * | 1989-12-28 | 2000-01-17 | ヤマハ株式会社 | 音声合成装置 |
JP2775651B2 (ja) * | 1990-05-14 | 1998-07-16 | カシオ計算機株式会社 | 音階検出装置及びそれを用いた電子楽器 |
US5198604A (en) * | 1990-09-12 | 1993-03-30 | Yamaha Corporation | Resonant effect apparatus for electronic musical instrument |
JP2751617B2 (ja) * | 1990-10-24 | 1998-05-18 | ヤマハ株式会社 | 楽音合成装置 |
JP2518464B2 (ja) * | 1990-11-20 | 1996-07-24 | ヤマハ株式会社 | 楽音合成装置 |
JP2734797B2 (ja) * | 1991-03-28 | 1998-04-02 | ヤマハ株式会社 | 電子楽器 |
JP2606006B2 (ja) * | 1991-05-24 | 1997-04-30 | ヤマハ株式会社 | ノイズ音発生装置 |
US5252849A (en) * | 1992-03-02 | 1993-10-12 | Motorola, Inc. | Transistor useful for further vertical integration and method of formation |
CN1040590C (zh) * | 1992-08-14 | 1998-11-04 | 凌阳科技股份有限公司 | 声音合成器 |
US5376752A (en) * | 1993-02-10 | 1994-12-27 | Korg, Inc. | Open architecture music synthesizer with dynamic voice allocation |
CN1033616C (zh) * | 1993-12-30 | 1996-12-18 | 西北工业大学 | 大容量无阻塞高速数字交换网络 |
-
1996
- 1996-01-11 US US08/583,985 patent/US5744741A/en not_active Expired - Fee Related
- 1996-01-11 EP EP96100347A patent/EP0722162B1/en not_active Expired - Lifetime
- 1996-01-11 DE DE69617480T patent/DE69617480T2/de not_active Expired - Fee Related
- 1996-01-12 CN CNB031587976A patent/CN1308909C/zh not_active Expired - Fee Related
- 1996-01-12 SG SG1997004409A patent/SG60168A1/en unknown
- 1996-01-12 SG SG1996000182A patent/SG42310A1/en unknown
- 1996-01-12 CN CN96100867A patent/CN1127720C/zh not_active Expired - Fee Related
- 1996-01-13 KR KR1019960000595A patent/KR100338059B1/ko not_active IP Right Cessation
-
2002
- 2002-02-19 KR KR1020020008674A patent/KR100386918B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4644840A (en) * | 1983-05-21 | 1987-02-24 | Reinhard Franz | Electronic keyboard musical instrument and a method of operating the same |
Also Published As
Publication number | Publication date |
---|---|
CN1514430A (zh) | 2004-07-21 |
EP0722162A2 (en) | 1996-07-17 |
DE69617480T2 (de) | 2002-10-24 |
CN1136198A (zh) | 1996-11-20 |
CN1127720C (zh) | 2003-11-12 |
EP0722162B1 (en) | 2001-12-05 |
KR960030076A (ko) | 1996-08-17 |
SG42310A1 (en) | 1997-08-15 |
US5744741A (en) | 1998-04-28 |
DE69617480D1 (de) | 2002-01-17 |
CN1308909C (zh) | 2007-04-04 |
KR100386918B1 (ko) | 2003-06-18 |
SG60168A1 (en) | 1999-02-22 |
EP0722162A3 (en) | 1997-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100338059B1 (ko) | 디지탈신호처리장치와음성및악음합성장치 | |
US5641926A (en) | Method and apparatus for changing the timbre and/or pitch of audio signals | |
US5033352A (en) | Electronic musical instrument with frequency modulation | |
JPS644199B2 (ko) | ||
US6046395A (en) | Method and apparatus for changing the timbre and/or pitch of audio signals | |
JPH027078B2 (ko) | ||
KR940005988B1 (ko) | 악음파형 발생장치 | |
JP5142363B2 (ja) | 成分音合成装置及び成分音合成方法。 | |
JPH0883066A (ja) | 電子楽器 | |
JP2812246B2 (ja) | ディジタル信号処理装置 | |
US6031173A (en) | Apparatus for generating musical tones using impulse response signals | |
JP3092591B2 (ja) | ディジタル信号処理装置 | |
JP3092592B2 (ja) | サウンド合成装置 | |
US5719345A (en) | Frequency modulation system and method for audio synthesis | |
JP2812229B2 (ja) | 音声及び楽音合成装置 | |
JP3011064B2 (ja) | 楽音処理装置 | |
JP2679269B2 (ja) | 楽音信号合成方式 | |
JPS6352399B2 (ko) | ||
JPH02293795A (ja) | 効果音制御装置 | |
JP3499362B2 (ja) | 残響制御装置 | |
JP2529282B2 (ja) | 電子楽器 | |
JP3339070B2 (ja) | 楽音合成装置 | |
JP2606684B2 (ja) | 周波数変調楽音合成原理による波形加工装置 | |
JP2518082B2 (ja) | 楽音信号発生装置 | |
JPH06149250A (ja) | 変調信号発生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
A107 | Divisional application of patent | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080508 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |