KR100419839B1 - 의사발음이감소된전자음원장치 - Google Patents

의사발음이감소된전자음원장치 Download PDF

Info

Publication number
KR100419839B1
KR100419839B1 KR1019950046116A KR19950046116A KR100419839B1 KR 100419839 B1 KR100419839 B1 KR 100419839B1 KR 1019950046116 A KR1019950046116 A KR 1019950046116A KR 19950046116 A KR19950046116 A KR 19950046116A KR 100419839 B1 KR100419839 B1 KR 100419839B1
Authority
KR
South Korea
Prior art keywords
data
sound
amplitude
volume
pitch
Prior art date
Application number
KR1019950046116A
Other languages
English (en)
Other versions
KR960025309A (ko
Inventor
후루하시마꼬또
스즈오끼마사까즈
Original Assignee
가부시키가이샤 소니 컴퓨터 엔터테인먼트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시키가이샤 소니 컴퓨터 엔터테인먼트 filed Critical 가부시키가이샤 소니 컴퓨터 엔터테인먼트
Publication of KR960025309A publication Critical patent/KR960025309A/ko
Application granted granted Critical
Publication of KR100419839B1 publication Critical patent/KR100419839B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H5/00Instruments in which the tones are generated by means of electronic generators
    • G10H5/02Instruments in which the tones are generated by means of electronic generators using generation of basic tones
    • G10H5/04Instruments in which the tones are generated by means of electronic generators using generation of basic tones with semiconductor devices as active elements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • G10K15/02Synthesis of acoustic waves
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6063Methods for processing data by generating or executing the game program for sound processing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/021Background music, e.g. for video sequences, elevator music
    • G10H2210/026Background music, e.g. for video sequences, elevator music for games, e.g. videogames
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/025Computing or signal processing architecture features
    • G10H2230/041Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/571Waveform compression, adapted for music synthesisers, sound banks or wavetables
    • G10H2250/591DPCM [delta pulse code modulation]
    • G10H2250/595ADPCM [adaptive differential pulse code modulation]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Control Of Amplification And Gain Control (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

전자 음원장치는 균일한 시간간격으로 공급되는 각각의 클록신호에 응하여 볼륨데이터와 차분볼륨데이터의 합을 계산하여 이를 극한계산기 및 볼륨레지스터로 전송하는 가산기를 포함한다. 그 후 합계볼륨데이터는 극한계산기에 의해 소정값으로 극한값이 구해지고 볼륨레지스터를 경유하여 볼륨제어기로 전해져 거기서 뮤트처리기의 출력과 승산된다.

Description

의사발음(擬似發音)이 감소된 전자음원(音源)장치 및 그 오디오신호 생성방법
본 발명은 전자 음원생생기에 관한 것이고, 특히 비디오게임이나 다른 전자장치등에 이용되도록 의사발음(發音)과 노이즈가 감소된 전자음원생성기에 관계된다.
종래의 전자장치에서 특수효과음과 배경음악(BGM)은 조작자가 게임소프트웨어와 상호작용함에 따라 재생된다. 종래의 비디오게임기에서 음원장치는 전형적으로 기본파와 그 하모닉스를 포함하는 파형의 주파수를 변화시킴으로써 한 음정의 음을 생성하기 위한 FM음원의 형태를 가진다. 혹은 메모리에 기억된 기본파형으로 부터 지시된 음정에 해당하는 파형을 독출하는 주기를 변화시킴으로써 지시된 음정의 음을 생성시키는 PCM음원장치가 사용되어 왔다. 배경음악(BGM)음을 생성하기 위하여는, 미리 만들어져 배열된 악보데이터의 시간수순이 시간데이터 뿐만 아니라 음, 음향, 음악의 음정, 발음(發音), 소음(消者)과 같은 다양한 음데이터도 수반한다. 음원에 등록된 음의 악보, 발음, 소음을 계속하여 제어하면서 이들은 리얼타임으로 해석된다.
BGM 음데이터를 악보데이터의 형태로 만드는 것은, 음원에 프로그램의 실행을 통하여 음의 음정, 발음 및 소음을 제어하는 것과 비교했을 때, 재생시 음의 음색과 음정의 변화를 쉽게 하도록 한다. 따라서, 이 방법은 조작자와 기계의 상호작용에 반응하여 빨리 반응을 나타내기 위해 리얼타임 동작이 필요한 비디오게임기 등에 적합하다. 음원을 생성하기 위한 종래의 시스템이 제 24 도에 도시된다. 여기서 중앙처리장치(CPU)(201)는, 비디오게임기에 사용되는 악보데이터가 CPU의 시간분할 멀티플렉싱을 통하여 악보데이터의 수순이 동일한 시간간격으로 취출되도록 제공된 음원장치를 제어한다. CPU(201)는 BGM음을 발생시키기 위해 음원장치의 타이밍 기간 음정, 음량을 제어하도록 사용된다. 시간분할 멀티플렉싱으로 악보데이터를 해석하는 방법은 CPU(201)가 실질적인 연산능력을 가진다면 특별한 주변장치가 펄요하지 않기 때문에 비용이 적게 든다.
비디오게임기안의 음원장치(202)가 PCM음원을 사용할 때는, 재생된 음량은 CPU(201)에 의해 볼륨데이터로서 지정된다. 특히 음원(202)은 파형데이터의 기억을 위한 파형메모리(221)와, CPU(201)에 의해 결정되는 피치(pitch)데이터의 보유를 위한 피치레지스터(222)와, 피치레지스터(222)에 보유된 피치데이터에 따라 파형메모리에 기억된 파형의 피치를 변환시키는 피치변환기와, CPU(201)에 의해 결정된 볼륨데이터 보유를 위한 볼륨레지스터(224)와를 포함한다. 또한 볼륨제어기(225)는 피치변환기(223)로 부터의 출력량을 볼륨레지스터에 보유된 볼륨데이터에 따라 변환시킨다.
제 25 도에 도시된 바와같이, 특정음의 발하라는 지시를 수령하자마자 CPU(201)는 상응 피치데이터를 피치레지스터(222)에 인가하고, 상응 볼륨데이터를 볼륨레지스터(224)에 인가한다. 제 26 도(C)에 도시된 바와같이, 시간 (t30)에 피치와 볼륨데이터가 주어지면, 피치변환기(223)는 파형메모리(221)로 부터의 파형의 피치를 제 26 도(A)에 도시된 바와같이 피치레지스터(222)로 부터의 피치데이터에 따라 변환시킨 후 피치 변환된 파형을 볼륨제어기(225)로 전송한다. 그후 볼륨제어기(225)는 피치변환기(223)로 부터의 파형출력량을 제 26 도(B)에 도시된 바와같이 불륨레지스터(224)로 부터의 볼륨데이터에 따라 변환시킨다. 따라서 그후 CPU(201)에 의해 결정되는 피치와 볼륨데이터에 상응하는 음이 재생된다.
그러나 이러한 종래의 장치에서 볼륨레지스터(224)내의 피치변환기(223)의 파형출력량의 변환은 피치변환기(223)의 출력에 볼륨레지스터(224)로 부터의 볼륨데이터를 승산함으로써 수행된다. 따라서 볼륨제어기의 결과적 출력은 볼륨양이 변화될 때인 t30에서 불연속이다. 볼륨제어기(225)의 출력이 연속적이지 않기 때문에, 재생음에 팝(pop)이나 부가노이즈와 같은 원하지 않은 음이 입력되는 결과가 종종 있게 된다. 이러한 부가노이즈는 불요한 것이다.
이러한 노이즈의 삽입을 막기 위해서, 단계적으로 볼륨데이터를 변환시키는 것이 제언되어 왔다. 이러한 장치에서, CPU는 연속적으로 볼륨데이터를 변환시켰고, 이것은 CPU에 로드(Load)를 크게 증가시켰다. 더우기, 좌,우 채널로서 한 쌍의 볼륨레지스터(224)와 볼륨제어기(225)를 갖는 음원에서 좌로 부터 우로 또는 그 역으로 음원변환을 촉진하기 위하여 팬닝동작(panning action)이 요구되어 질 수 있다.
일반적으로 팬닝동작은 좌, 우채널 사이의 볼륨양을 단계적으로 변환시킴으로써 수행된다. 종래의 비디오게임에서는 좌에서 우 또는 그 역으로의 음의 변환이 즉시, 또는 고속으로 수행될 요구가 증가되어 왔다. 이러한 요구충족은 기대될 수 없고 따라서 이러한 변환을 위한 준비가 행해질 수 없었다. 따라서 CPU가 적절하게 이러한 변환을 행하는 것이 종종 어려웠다.
기존의 것에서 비추어 볼때, 본 발명의 목적은 음원과 연결된 전자장치의 CPU 상의 부하가 증가되지 않는 음원장치와, 재생음에서 노이즈가 실질적으로 감소된 음원장치를 제공하는 것이다.
본 발명에 따른 음원데이터는 파형데이터 기억을 위한 파형버퍼와, 피치데이터유지를 위한 피치메모리, 파형버퍼로 부터 파형데이터를 독출하고 피치메모리에 유지된 피치데이터에 따라 피치를 변환시키기 위한 피치변환기와를 포함한다. 진폭메모리는 볼륨데이터를 보유하고 레벨제어기는 진폭메모리에 보유된 볼륨데이터에 따라 그 레벨을 조정하기 위하여 피치변환기의 출력을 수신한다. 차분증폭메모리는 차분볼륨데이터를 보유하고 볼륨변환기는 진폭메모리안의 블륨데이터를 차분진폭메모리에 보유된 차분볼륨데이터에 따라 변환시킨다.
본 발명의 음원장치에서, 피치데이터, 볼륨데이터, 차분볼륨데이터가 먼저 설정되는 반면, 피치변환기는 파형버퍼로 부터 지시된 파형을 독출하고 그 피치를 피치메모리로 부터의 피치데이터에 따라 변환하여 레벨제어기로 전송한다. 그후 레벨제어기는 피치변환기의 출력량을 진폭메모리로 부터의 볼륨데이터에 의거하여 조정한다. 그동안, 볼륨변환기는 진폭메모리에 기억된 볼륨데이터를 차분진폭메모리에 기억된 차분볼륨데이터에 의거하여 변형시킨다. 따라서, 차분볼륨데이터가 설정되어 있는 기간중 진폭메모리에 기억된 볼륨데이터가 차분진폭메모리에 기억된 차분볼륨데이터에 의거 점점 변화됨에 따라, 피치변환기의 출력량은 레벨제어기에 의해 조금씩 변화될 수 있다. 더우기, 만일 차분볼륨데이터를 설정하고 있지 않은 상태에서는, 피치변환기의 출력량이 볼륨변환기의 볼륨데이터 변환작동의 이용없이 직접 진폭메모리로 부터의 볼륨데이터에 따라 조정된다. 결과적인 출력데이터는 불요한 노이즈가 없고 맑고 깨끗한 신호를 제공한다.
본 발명의 선택된 실시예에서, 음원장치는 비디오게임의 배경음이나 특수효과음을 생성하기 위하여 비디오게임기에 구비된다. 비디오게임은 조작자의 명령에 따라 컴퓨터게임프로그램을 독출하고 수행한다. 본 발명의 선택된 실시예의 블록다이어그램은 제 1 도 부터 시작된다.
제 1 도에서 본 발명을 구현한 비디오게임은 중앙처리장치(CPU)와 관련주변장치를 가진 제어시스템(50)을 포함한다. 프래픽스표시부(60)는 프레임버퍼(63)에 접속된 그래픽스처리장치(GPU)(62)를 가진다. 사운드시스템(70)은 배경음악과 특수효과음 생성을 위한 사운드처리장치(SPU)(71)를 가진다. 광학디스크 제어기/독출기모듈(80)은 일반적으로는 화상과 사운드데이터로 된 게임의 컴퓨터 소프트웨어인 디지탈 광학 콤펙트 디스크에 기억된 데이터의 독출을 제어한다. 통신제어모듈(90)은 조작자에 의해 조작되는 컨트롤러(92)로 부터의 명령 입출력을 제어한다. 통신제어모듈(90)은 또한 예를들어 사운드와 화상정보 뿐만아니라 게임의 설정을 포함하는 정보를 기억하는 보조메모리로 부터의 정보 전송을 제어한다. 데이터버스(100)는 제어시스템(50)으로 부터 통신제어모듈(90) 까지 뻗어 있고 여러 모듈을 상호연결한다.
제어시스템(50)은 CPU(51) 외에 직접메모리억세스(DMA) 전송 뿐만아니라 마이크로프로세서의 끼어들기를 제어하는 주변장치제어기(52)를 또한 포함한다. 주메모리(53)는 RAM을 포함하고 ROM(54)은 그래픽스시스템(60) 및 사운드시스템(70)의 작동을 제어하는 오퍼레이팅시스템을 포함하는 소프트웨어 프로그램을 함유한다. CPU(51)는 기기전체를 제어하기 위해 ROM에 기억된 오퍼레이팅시스템을 작동한다.
그래픽시스템(60)은 직교변환 등을 수행하기 위한 지오메트리트랜스퍼엔진(GTE)(61)을 함유한다. CPU(62)는 CPU(51)로 부터의 명령에 따라 화상을 그린다.
프레임버퍼(63)는 GPU(62)가 그린 화상을 기억하고 비디오디코더(64)는 이산코사인변환과 같은 직교변환에 의해 압축된 부호화된 화상데이터를 복호화한다. GTE(61)는 복수의 연산동작을 동시에 수행할 수 있는 병렬연산장치를 갖는다. GTE(61)는 CPU(51)로 부터 연산 명령을 받으면 고속의 좌표변환작동과, 광원계산, 또는 매트릭스 벡터계산을 수행한다. 특히 GTE(61)는 단색으로 3각형의 폴리곤의 프랫쉐이딩을 위해 최고 초당 150만번의 폴리곤 좌표계산을 한다. 이것에 의해 CPU(5l)상에 부하가 줄고 비디오게임이 고속으로 수행될 수 있다.
GPU(62)는 CPU(51)로 부터의 드로잉명령에 따라 프레임버퍼(63)에 폴리곤 또는 그래픽을 그린다. CPU(62)는 한 드로잉에 대해 최고 36만개의 폴리곤을 처리한다. 프레임버퍼(63)는 동시에 CPU(62)나 주메모리로 부터 데이터를 수신하고 표시를 위해 데이터를 출력하기 위해 소위 듀얼포트RAM을 가진다. 프레임버퍼(63)는 가로 1024와 세로 512의 해상도를 가지는 16비트 픽셀 매트릭스인 1메가바이트용량을 가진다. 프레임버퍼(63)의 매트릭스내의 어떤 지시된 영역도 비디오출력으로서 출력할 수 있도록 되어 있다.
부가적으로, 프레임버퍼(63)는 컬러룩업테이블(CLUT)의 기억영역을 가지는데 이것은 화상데이터처리시 참조로 이용된다. 예를들어, 이것은 드로잉을 위한 GPU 의 폴리곤을 포함하고 GPU(62)에 의해 생성된 폴리곤에 맵핑된 텍스쳐데이터의 기억을 위한 텍스쳐영역을 포함한다. CLUT와 텍스쳐영역은 표시영역의 변화에 따라 동적으로 변화할 수 있다.
플랫셰이딩 외에, GPU(62)는 폴리곤의 컬러가 정점컬러의 보간에 의해 결정되는 구로세이딩 및 폴리곤의 텍스쳐영역에 기억된 텍스쳐데이터를 붙이는 텍스쳐매핑을 수행한다. 구로셰이딩 또는 텍스쳐매핑에서, GTE(61)는 초당 최고 50만 개의 폴리곤의 좌표를 계산한다. 디코더는 CPU(51)로 부터의 명령을 받아 주메모리(53)에서 추출된 정적 또는 동적 화상데이터를 복호화하고 이것을 다시 주메모리(53)에 기억시킨다. 복호화된 데이터는 GPU(62)를 거쳐 전송되어 프레임버퍼에 기억됨으로써, CPU(62)에 의해 생성된 그래픽의 배경으로 사용될 수 있다.
사운드시스템(70)은 CPU(51)로 부터의 명령을 받고 배경음악이나 특수효과음을 발생하는 음성처리장치(SPU)(71)를 가진다. 사운드시스템(70)에서사운드버퍼(72)는 SPU(71)로부터의 파형데이터를 기억하고 스피커(73)는 SPU (71)에 의해 생성된 배경음이나 특수효과음을 출력한다. SPU(71)는 16비트워드를 4비트 차분형으로 변형함으로써 적응차분펄스코드묘듈레이션(ADPCM) 포맷내의 오디오데이터를 재생하는 ADPCM복호를 수행할 수 있다. SPU는 또한 사운드버퍼(72)에 기억된 파형을 변조하는 변조기능 외에 상응하는 음을 생성하기 위해 사운드버퍼(72)로 부터 파형데이터를 추출하는 재생기능도 수행한다. 따라서 사운드시스템(70)은 샘플링음원으로 작용하여 CPU(51)로 부터 명령이 수신되면 사운드버퍼(72)로 부터 공급된 파형데이터에 상응하는 배경음이나 특수효과음을 생성한다.
광학디스크제어기모듈(8O)은 광학디스크에 기억된 컴퓨터프로그램이나 또는 다른 데이터를 재생하는 광학디스크(81)를 갖는다. 디스크제어기모듈(80)은 디스크에 함유된 컴퓨터프로그램이나 다른 데이터를 복호화하는 디코더(82)를 포함한다. 예를들면, 이 디코더는 에러교정코드(ECC)형의 데이터를 복호화하는 장치를 포함한다.
디스크제어기모듈(80)은 또한 광학디스크장치(81)로 부터 재생된 데이터를 일시적으로 저장함으로써 광학디스크로부터의 데이터 독출을 고속화하는 버퍼(83) 갖는다.
광학디스크에 기억되고 광학디스크장치(81)에 의해 재생된 오디오데이터는 ADPCM포맷으로 제한되지 않고 오디오신호를 아나로그/디지탈변환함으로써 얻어지는 PCM형일 수도 있다. 16비트 디지탈(PCM) 데이터의 차분을 4비트로 부호화되어 있는 ADPCM오디오데이터가 독출될 때, 이것은 디코더(82)에 의해 복호화되고 16비트 디지탈워드로 신장되어서 SPU(71)에 기억된다. 만일 PCM데이터가 예를들어 16비트 디지탈포맷으로 독출될 때는 이것은 디코더(82)에 의해 복호화되고 SPU(71)에 공급되거나 직접 스피커(73)를 구동하기 위해 전송된다.
통신제어모듈(90)은 버스(100)를 거쳐서 CPU(51)로 부터의 데이터 전송을 제어하는 통신제어기(91)를 포함한다. 컨트롤러(92)는 조작자로 부터의 명령을 입력하고 메모리카드(93)는 게임설정데이터를 기억한다. 컨트롤러(92)는 조작자의 지시를 입력하기 위해 16개의 지시키를 가지고, 통신제어기(91)로 부터 명령을 받자마자 키에 할당된 지시데이터를 동기식모드로 초당 60번의 속도로 통신제어기(91)로 전송한다. 통신제어기(91)는 컨트롤러(92)로 부터의 명령데이터를 CPU(51)로 전송한다.
따라서 CPU(51)는 조작자의 지시를 수신하고 게임프로그램지시에 따라 상응하는 작동을 수행한다.
게임설정을 메모리에 기억하기 위해 그들은 CPU(51)로 부터 통신제어기(91)로 전달되고 이것은 이들을 메모리카드(93)에 차례로 저장한다. 메모리카드(93)는 통신제어기(91)에 의해 버스(100)에 접속되어 있다. 메모리카드(93)가 버스(100)로 부터 분리되어 있기 때문에 기계가 작동중에도 기계로 부터 제거될 수 있다. 이에의해 다른 게임이나 게임설정을 기억하고 있는 복수의 메모리카드(93)가 교환될 수 있다.
버스(100)는 또한 병렬l/O(입력/출력)포트(101)와 직렬I/O포트(102)의 비디오게임기에 접속되어 있다. 따라서 비디오게임기는 병렬l/O포트(101)에 의해 주변장치와 연결될 수 있고, 직렬l/O포트(102)에 의해 다른 비디오게임기에 연결될 수 있다.
비디오게임기는 프로그램을 독출하고 원하는 화상을 표시 또는 그리기 위해 주메모리(53)와, GPU(62)와, 비디오디코더(64)와, 디코더(82)의 사이에서 많은 화상데이터를 고속으로 전송할 필요가 있다. 이 목적을 위해, 비디오게임기는 주변장치제어기(52)의 제어에 의해 CPU(51)를 통과하지 않고 주메모리(53)와, CPU(62)와 비디오 디코더(64)와, 디코더(82)의 사이에서 직접적인 데이터전송 또는 DMA전송을 행한다.
이런 구조는 CPU(51)상의 부하를 저감시키고 또한 데이터가 고속으로 전송되도록 한다.
비디오게임기를 켜면, 그 CPU(51)는 ROM(54)에 기억된 오퍼레이팅시스템을 실행시킨다. 오퍼레이팅시스템이 실행되는 동안 CPU(51)는 그래픽시스템(60)과 사운드시스템(70)의 작동을 제어한다. 특히 CPU(51)는 오퍼레이팅시스템이 작동되면 모든 장치를 체크함으로써 전체기계를 초기화하고, 광학디스크로부터 게임프로그램의 독출을 수행하기 위해 광학디스크제어기모듈(80)을 구동한다. 게임프로그램이 시작되면 CPU(51)는 조작자로 부터의 명령에 따라 화상을 표시하고 상응하는 음악이나 특수효과음을 내도록 그래픽시스템(60)과 사운드시스템(70)을 제어한다.
한 화상에 대해 상응하는 음악이나 특수효과음을 생성하기 위해 비디오게임기는 음악이나 효과음을 발생시키는 음원과, 조작자로 부터의 명령에 따라 음원의 작동을 제어하기 위한 음원제어기를 갖는다. 실제에서는 음원제어기가 CPU(51)와SPU(71)에 의한 작동의 조함에 의해 수행되고 있다. 그러나 이것은 실질적으로는 CPU(51)에 의해 제어된다.
제 2 도에 도시된 바와같이, SPU(71)는 CPU(51)로 부터의 명령에 따라 사운드버퍼(72)로 부터 파형을 독출하여 피치를 변환하기 위한 피치변환부(111)를 가진다. 클럭제너레이터(112)는 작동의 동기화를 위한 클럭신호를 만든다. 노이즈제너레이터(113)는 클럭제너레이터(112)로 부터의 출력에 따라 노이즈를 만든다. 선택기스위치(114)는 피치변환부(111)와 노이즈제너레이터(113)의 출력 사이를 전환시킨다. 엔벌로프제너레이터(115)는 레벨제어를 통해 스위치(114)의 파형출력의 진폭을 변화시킴으로써 음데이터의 엔벌로프를 만든다. 뮤트처리부(116)는 음의 온/오프를 변환시킨다. 좌우 채널 사이의 강도 또는 밸런스를 조정하는 두 개의 좌우 볼륨장치(117L, 117R)가 있다.
사운드버퍼(72)는 음을 나타내는 일 주기분의 파형을 몇개 보유하고 있다. 이 파형은 상술의 4비트 ADPCM데이터의 형으로 기억되어 있고 독출후, 피치변환부(111)로 전송되기 전에 SPU(71)에 의해 16비트 PCM포맷으로 변환된다. 이것은 PCM데이터의 직접기억과 비교하면 사운드버퍼(72) 내의 파형기억영역이 줄게되어 더 많은 파형이 기억될 수 있다. 주메모리(53)는 사운드버퍼(72)에 기억된 파형의 일 주기분에 대응하는 음데이터의 엔벌로프, 즉 파형의 상승, 하강 등의 정보를 보유하고 있다. 비록 제 2 도는 일부 음성(일 보이스)의 회로배열을 나타내고 있으나, 피치변환부(111)로 부터 볼륨장치(117L, 117R)로의 접속은 24보이스에서 이루어진다. 복수 볼륨장치(117L, 117R)의 출력은 두 좌우채널의 출력과 결합된다.본 발명의 음원장치에서는 다른 24 보이스가 생성되어 동시에 방출된다. 또한 각 보이스마다 사운드버퍼(72)의 파형, 엔벌로프, 강도, 좌우채널의 밸런스가 독립적으로 변형된다. 따라서 음원장치는 복수의 보이스를 사용하여 화음을 만들고 복수의 악기에 의한 연주를 가장한다.
또한 음원장치는 일련의 시간차 오디오출력을 함께 결합하는 반향처리를 할 수 있다. 특히 SPU(71)는 일군의 24보이스 출력이 반향처리 되었는지를 판단하는 두 개의 스위치(118L, 118R)를 더 포함한다. 스위치(118L)로 부터의 보이스출력을 다른 것으로 부터 시간차를 만드는 반향처리부(119)와, 시간차 보이스출력의 강도를 제어하는 볼륨장치(120)와, 볼륨장치(120)의 출력을 원래의 지연되지 않은 보이스출력과 믹싱하는 가산기(121b)와, 가산기(121b)의 혼합출력의 강도를 제어하는 마스터볼륨장치(122)가 반향처리를 수행하기 위해 작동한다.
음원장치는 또한 소정의 보이스출력을 광학디스크로부터 추출되어 디코더(82)에 의해 공급된 또다른 오디오신호와 믹싱하도록 되어있다. 특히 SPU(71)는 보이스출력을 가지는 광학디스크로부터 부가오디오신호의 믹싱을 선택하는 스위치(123)를 더 포함한다. 믹싱볼륨장치(124)는 오디오신호의 강도를 제어하고 가산기(121a)로 전송한다. 스위치(125)는 선택적으로 오디오신호와 반향처리를 행한다. 제 2 도에 나타낸 반향처리부(119), 볼륨제어기(120), 믹싱볼륨장치(124)의 상호작용이 좌채널로 도시된다. 유사장치가 우채널에도 연결되어 있으나 간결을 위해 도면에는 도시되지 않았다.
본 발명의 음원장치의 작동이 이하 설명될 것이다. 음의 발생이 요구되면,CPU(51)는 사운드버퍼(72)로 부터 소정 음의 피치와 함께 상응하는 음의 파형이 선택되고 독출되는 선택신호를 내린다. 이것은 이후 피치변환부(111)로 전송된다. CPU는 동시에 주메모리(53)로 부터 선택된 파형에 상응하는 엔벌로프를 독출하고 그 음을 엔벌로프제너레이터(115)로 전송한다. 응답하여 피치변환부(111)는 피치를 참조하여 파형독출단계를 변화시킴으로써 파형의 독출을 수행한다. 또한 피치변환부(111)는 한 주기분의 파형의 독출을 완료한 후에도, 음의 발생이 요구되는 한은 파형의 독출을 반복한다. 이어서 피치의 파형데이터가 음에 대한 요구가 수신되는 동안 발생되게 된다. 파형데이터는 스위치(114)에 의해 엔벌로프제너레이터(115)로 공급된다.
엔벌로프제너레이터(115)는 CPU(51)에 의해 공급된 엔벌로프에 따라 피치변환부(111)로 부터의 파형데이터의 진폭을 변환한다. 결과적으로, 한 보이스의 오디오 데이터가 생성된다. 유사한 방법으로 나머지 23보이스의 오디오데이터가 생성된다. 그후 보이스데이터의 좌우채널 사이의 강도, 밸런스가 볼륨장치(117L, 117R)에 의해 제어되고, 원한다면 서로 혼합되기 전에 반향처리가 행해진다. 마지막으로 CPU(51)가 요구하는 음데이터가 출력된다.
각 보이스의 오디오데이터를 생성하는 파형데이터 및 엔벌로프데이터를 포함하는 정보는 광학디스크 또는 기록매체상에 파형과 엔벌로프데이터의 설정소자(프로그램)를 가지는 파일들의 뱅크의 형태로 기억되어 있다. 제 3 도에 도시된 바와같이 뱅크는 속성섹션(뱅크헤더)(VH)과 파형섹션(VB)을 가진다. 파형섹션(VB)은 압축된 파형데이터("wave"라 언급함)를, 뱅크헤더(VH)는 압축된 파형데이터(VAG)에속하는 속성데이터("attribute"라 언급함)를 포함한다. 속성데이터가 일대일 대응으로 파형데이터와 일치될 필요는 없다. 복수의 속성이 하나의 파형에 지정될 수도 있다. 따라서 제 3 도와같이, 파형데이터 보다 많은 수의 속성이 있다. 또한 뱅크혜더(VH)는 제 4 도에 도시된 바와같이, VAB헤더, 프로그램헤더, 음정속성테이블(VAG속성테이블), VAG옵셋테이블을 포함한다. VAB헤더는 파일을 뱅크VAB로 인지하는 VAB인지부, 각 VAS파일을 인지하는 파일ID, 뱅크VAB의 파일 사이즈를 나타내는 파일사이즈, 프로그램의 수를 나타내는 프로그램수, VAG속성세트의 수를 나타내는 음정수, VAG데이터의 수를 나타내는 VAG수, 마스터볼륨장치(122)의 레벨을 나타내는 마스터볼륨레벨("mvol"), 마스터팬(pan)레벨을 나타내는 마스터패턴("pan")을 포함한다.
프로그램혜더는 복수의 프로그램을 포함하고 음정속성테이블은 복수의 음정속성을 포함한다. 일군의 음정속성(VAG속성)은 주어진 음의 범위에서 각 프로그램에 주어진다. 프로그램은 프로그램에서 VAG속성의 수를 나타내는 음정("tone"), 프로그램의 마스터볼륨("vol"), 프로그램의 우선순위("prior"), 음원의 모드("mode"), 프로그램의 마스터팬레벨("pan"), 프로그램의 속성("attribute"), 어드레스들("address1,2")을 포함한다.
VAG속성은 우선순위("prior"), 볼륨("vol"), VAG속성의 팬폿(panpot) ("pan"), 음의 중간음정을 나타내는 센터노트("crsc"), 피치교정을 위한 화인튜닝("fine"), 음의 최저와 최고("min", "max"), 진동의 넓이와 주기("vibW", "vibT"), 포르타멘토의 넓이와 지속기간("porW", "porT"), 피치를 변화시키기 위한피치벤드의 최저와 최고("pbmin", "pbmax"), 엔벌로프의 설정들("adsr1,2"),그 VAG속성을 포함하는 프로그램("program"), VAG속성의 (VAG)파형데이터를 위한 인지부("vag")를 포함한다.
엔벌로프의 설정들("adsr1,2")은 제 5 도에 도시된 바와같이, 엔벌로프의 공격("attack"), 감소("decay"), 유지("sustain"), 출력("release")을 나타낸다. 엔벌로프제너레이터(115)는 피치변환부(111)의 출력레벨을 제어하기 위해 "adsr1,2"를 이용한다.
재 6 도에 도시된 바와같이, 엔벌로프제너레이터(115)는 엔벌로프 설정들("adsr1,2")을 보유하는 두 개의 "adsr"레지스터기(115a, 115b)와, "adsr"레지스터기(115a, 115b)로 부터의 "adsr1,2"에 따라 피치변환부(111)의 출력의 진폭을 결정하는 "adsr"제어기(115c)와, "adsr"제어기(115c)에 의해 결정된 진폭과 피치변환부(111)의 출력과를 승산하는 계산을 하는 승산기(115d)와를 포함한다. 작동시, CPU(51)는 주메모리(53)로 부터 선택된 VAG속성에 대응하는 "adsr1"과 "adsr2"를 독출하고 이들을 각각 "adsr"레지스터기(115a, 115b)에 전송한다. 동시에 이것은 사운드버퍼(72)로 하여금 VAC속성에 따라 파형을 독출하라고 지시한다. 사운드버퍼(72)로부터 독출된 파형은 피치변환부(111)에 의해 변환되어 스위치(114)를 경유하여 승산기(115d)에 전송된다. "adsr"제어기(115c)는 제 5 도에 도시된 바와같이 "adsr"레지스터(115a, 115b)로 부터의 "adsr1,2"에 따라 엔벌로프를 생성하여, 이를 승산기(115d)에 공급한다. 승산기는 피치변환부(111)의 출력과 "adsr"제어기(115c)의 엔벌로프를 승산하는 계산을 한다.
상술하면, 결과적인 오디오파형은 엔벌로프제너레이터(115)로 피치변환부(111)의 출력을 진폭변환함으로써 생성된다. 이러한 동작은 각 보이스에 대해 반복된다. VAG옵셋테이블은 파형섹션(VB)에서 각 VAG의 위치를 알려주는 "VAG offset"값을 갖는다. "VAG옵셋"은 VAG의 "vag"에 의해 인지된 VAG의 위치를 나타내는 파형섹션(VB)의 전단으로 부터 계수되는 옵셋번호이다. 작동시, 이것은 CPU(51)에 의해 독출되고 SPU(71)로 전송된다. SPU
(71)는 사운드버퍼(72d)로 부터의 "VAG offset"으로 제어되면서 VAG를 독출한다.
미리 뱅크VAB데이터는 광학디스크로부터 픽업되어져서 주메모리(53)나 사운드버퍼(72)에 기억되어 있다. 뱅크혜더(VH)는 광학디스크로부터 독출되어서 주메모리(53)에 기억되고, 파형섹션(VB)은 광학디스크로부터 독출되어서 주메모리(53)에 보유된 후 기억을 위해 사운드버퍼(72)로 전송된다. 이들은 DMA전송으로 독출 및 전송될 수 있다.
특히 주메모리(53)는 제 7 도에 도시된 바와같이 뱅크혜더(VH) 저장을 위한 뱅크헤더저장영역(53VH)와, 파형섹션(VB)의 전송을 위한 채널영역(53c)를 갖는다. 채널영역(53c)은 제 7 도에서 파선으로 도시된 파형섹션의 사이즈보다 작다. 따라서 파형섹션(VB)은 채널영역(53c) 보다 사이즈가 작은 세그먼트로 나뉘고 연속하여 채널영역(53c)에 저장되었다가 사운드버퍼(72)로 전송된다. 따라서 파형데이터의 전송을 위한 주메모리(53)의 채널영역(53c)은 따라서 게임프로그램을 위한 기억영역을 절약하여 최소화하고, 주메모리(53)의 효율적인 사용에 공헌한다. 또한CPU(51)는 주메모리(53)로 부터 다양한 속성들을 독출하여 이들을 피치변환부(111), 엔벌로프제너레이터(115), 볼륨장치(117L, 117R)에 전송하여 VAG를 선택하고, 그 관련된 설정들을 결정한다. 결과적으로 사운드버퍼(72)에 기억된 파형이 각 보이스의 음을 생성하는데 요구되고 이용된다.
이러한 음원장치에서 속성 및 파형데이터는 각각 주메모리(53) 및 사운드버퍼 (72)에 기억되어 있다. 음의 생성이 요구되면 그 속성들이 주메모리(53)로부터 독출되고, 속성을 이용하여 음신호를 만들기위해 사운드버퍼(72)로부터 파형이 독출된다. 광학디스크로부터의 속성 및 파형데이터가 일시적으로 주메모리(53)와 사운드버퍼 (72)에 저장되기 때문에, 이들은 원하는대로 쉽게 변형될 수 있다. 재생된 음은 그 화상과 맞추어지고 BGM을 제공한다.
엔벌로프제너레이터(115)와 두개의 볼륨장치(117L, 117R)의 출력은 좌/우 밸런싱을 위해 절대값으로 뿐만아니라, 두 채널사이의 차이값에 의해서도 제어될 수 있다. 이것은 각각 제 8 도에 도시된 바와같이 차분볼륨레벨을 보유하는 차분볼륨레지스터(117a), 볼륨레벨을 보유하는 볼륨레지스터(117b), 가산기(117c), 제한기(117d), 또다른 볼륨레지스터(117e), 볼륨제어기(117f)를 포함하는 볼륨장치(117L, 117R)의 조합에 의해 수행된다.
볼륨장치(117L, 117R)는 볼륨레벨과 차분레벨을 각각 볼륨레지스터(117b) 및 차분레지스터(117a)에 공급하는 CPU(51)에 의해 미리 설정된다. 볼륨레벨 및 차분레벨이 주어짐에 따라 그들의 합이 균일한 클럭신호의 간격마다 가산기(117c)에 의해 계산되고, 그 다음 제한기(117d) 볼륨레지스터(117e)로 전송된다. 볼륨레벨과차분레벨과의 합이 볼륨레지스터(117b)에 전송되고 거기에서 보유된다. 이들 가산은 다음의 클럭펄스의 도달로 계산된다. 차분볼륨레벨이 보유되어서, 그것은 매클럭신호의 간격마다 볼륨레벨에 더해지고, 결과의 합계출력은 연속적으로 변화된다.예를들어 차분레벨이 양의 값인 경우, 볼륨출력은 계속적으로 중가될 것이고, 차분레벨이 음의 값인 경우는 출력이 점진적으로 감소될 것이다.
볼륨합계는 그후 제한계산기(117d)로 공급되어 제한값이 볼륨레지스터(117e)에 전송된다. 볼륨제어기(117f)는 뮤트처리부(116)를 통해 공급된 엔벌로프제너레이터(115)의 출력과 볼륨레지스터(117e)에 기억된 볼륨합을 곱하는 계산을 하여 그것을 가산기(121a)에 보낸다. 따라서 엔벌로프제너레이터(115)의 출력이 원하는 볼륨레벨로 제어될 수 있다. 볼륨레벨의 입력이 연속적으로 제어되기 때문에 엔벌로프제너레이터(115)의 출력은 연속하여 변한다. 특히 제 9 도 (c)와 같이 차분볼륨레벨이 t1과 t2사이에서 설정된다면 볼륨합은 제 9 도 (b)와 같이 dv/dt의 속도로 설정할 것이다. 따라서 볼륨제어기(117f)는 제 9 도 (a)와같이 연속적으로 증가하는 파형을 전달한다. 이것은 재생음이 연속적으로 변하게하고 불연속변화에 의해 생기는 팝노이즈와 같은 불요한 결점의 발생이 회피된다. 또한 볼륨출력이 차분볼륨레벨에 비례하여 점진적으로 변화되기 때문에 CPU(51)에 의한 그들값의 설정이 단지 한번만 행해질 수 있고, 따라서 CPU(51)의 부하를 최소화한다.
만일 차분펄스레벨이 주어지지 않는다면 가산기(117c)에 의한 볼륨장치(117b)의 제어는 갱신되지 않는다는 것을 이해해야 한다. 상수값이 주어진 볼륨레벨로는 볼륨장치(117L, 117R)가 계속 공통레지스터로서 기능한다. 또한 가산기(117c)를 제어하는 클럭신호가 일정한 시간간격으로 주어지기 때문에 그것은 SPU(71)의 소정설정에 의해 변화될 수 있다. 두 클럭사이의 간격변화는 CPU(51)에 의해 제어될 수 있다.
클럭신호가 균일한 시간간격으로 입력되고, 차분볼륨레벨이 양의 값인 경우 볼륨제어기(117f)의 출력레벨은 제 10 도에서 (a)로 도시되듯이 소정비율로 직선으로 증가한다. 만일 차분볼륨레벨이 음의 값이면, 출력레벨은 제 10 도에서 (b)로 도시되듯이 직선으로 감소한다. 차분볼륨레벨이 양의 값을 가지고 두 클럭 사이의 간격이 연속적으로 감소될 때, 볼륨제어기(117f)의 출력레벨은 제 10 도에서 (c)로 도시되는 바와같이 비직선적으로 감소하거나 지수함수로 감소한다. 차분볼륨레벨이 양의 값을 가지고 두 클럭 사이의 간격이 단계적으로 감소될 때, 볼륨제어기(117f)의 출력레벨은 제 10 도에서 (d)로 도시되는 바와같이 인크리먼트가 점진적으로 감소하는 유사-지수함수곡선을 따라 증가한다. 볼륨제어기(117f)의 출력이 지수함수관계로 증가하거나 감소하기 때문에 인크리먼트가 제 10 도에서 (e)로 도시되듯이 단계적으로 이루어진 경우에도 생성된 음의 변화는 인간의 귀가 감지하기에 적절하고 호감이 간다. 이것은 재생음에서 팝노이즈의 생성을 감쇄시킨다.
음원장치는 음원제어프로그램이 CPU(51)에 의해 수행되는 것이 생명이다. 비디오게임기에서 효과음과 배경음(BGM)의 파형, 음정, 피치, 발음, 소음, 유형등을 포함하는 다양한 오디오데이터는 시간데이터를 수반하는 악보의 형태로 주메모리(53)에 기억되어 있다. 악보로 포함된 오디오데이터는 소정 순서로 균일한 시간간격으로 독출되어 피치, 발음 및 소음레지스터들의 작용을 지시하는데 이용되고, 이들 레지스터는 순차적으로 원하는 특수효과음 또는 BGM음을 생성한다. 악보데이터는 하나의 시퀀스의 음을 연주하는 악보데이터의 파일로 구성된 싱글악보데이터나 복수의 시퀀스를 연주하는 파일로 구성된 조합악보데이터로 구분된다. 제 11 도에 도시된 바와같이 싱글악보데이터는 하나의 시퀀스의 파일혜더와 악보데이터를 포함한다. 하나의 시퀀스의 악보데이터는 악보데이터와 시퀀스정보의 속성을 나타내는 데이터헤더를 포함한다. 파일헤더는 사운드데이터파일로서 그 파일로 인지하는 사운드ID와 버젼을 인지하는 버젼넘버로 구성된다.
데이터 혜더정보는 시간분해능과 1/4노트분해능을 악보데이터의 템포와 박자 및 음악의 템포와 박자와 함께 포함하고 있다. 시퀀스정보는 하나의 시퀀스안의 복수사운드를 나타내는 사운드데이터를 갖는다. 제 12 도에 도시된 바와같이 조합악보데이터는 복수의 시퀀스의 파일헤더, 악보데이터를 포함한다. 싱글악보데이터와 유사하게 각 시퀀스의 악보데이터는 악보데이터와 시퀀스정보의 속성을 나타내는 데이터 헤더정보를 포함한다.
조합악보데이터의 데이터 헤더정보는 악보데이터의 유형을 인지하는 악보데이터 ID를 포함하고, 뒤따르는 시간분해능, 1/4노트분해능과 악보데이터의 템포및 박자, 음악의 템포및 박자를 가진다. 제 13 도에 도시된 바와같이 조합악보데이터내의 시퀀스정보는 보이스를 시작하는 키온(Key on), 보이스를 종료하는 키오프(key off) 및 보이스음정의 변환을 위한 피치속성변화데이터를 포함한다. 이 데이터는 CPU(51)에 의해 번역되고, 상술한 바와같이 음원장치를 제어하는데 이용된다. 제 14 도에 도시된 바와같이 싱글 또는 조합악보데이터는 각 시퀀스의 악보데이터에 기초한다.
예를들어 싱글악보데이터는 파일헤더를 수반하는 하나의 악보데이터(A 또는 B)로 구성된다. 또한 조합악보데이터(P)는 악보데이터(C,D,E)를 각각의 악보데이터 IDs(P-1, P-2, P-3)와 조합하고 여기에 파일헤더를 수반하여 구성된다. 악보데이터 IDs는 조합악보데이터(P)에 순서적으로 늘어선다. 광학디스크에 기억된 싱글 또는 조합악보데이터는 미리 주메모리(53)에 기억시키기 위해 추출된다. 처리시 CPU(51)에 의해 요구되는 싱글 또는 조합악보데이터는 음원제어 프로그램을 갖춘 음원제어기의 작동에 의해 재생된다.
음원제어기는 싱글 또는 조합악보데이터중 하나를 장치의 음원제어를 위해 사용하는 제 15 도에 도시된 회로배열을 포함하기도 한다. 보여지듯이 음원제어기는 입력장치 또는 컨트롤러(92)와, 주메모리(53)의 악보데이터기억영역(53a)에 기억된 싱글 또는 조합악보데이터의 일군의 그룹으로부터 재생될 소정의 것을 선택하는 악보 데이터선택부(105)를 포함한다. 악보데이터취득부(106)는 악보데이터선택부(105)에 의해 인지된 선택된 악보데이터를 취득한다. 발음/소음데이터제어부(107)는 음원 또는 사운드모듈(70)을 제어한다. 악보데이터선택부(105)는 입력장치(92)로 부터의 입력에 따라 선택된 악보데이터를 관리하는 악보데이터 선택관리부(105a)를 포함한다. 악보데이터선택기억부(105b)은 악보데이터의 내용을 보유하고 악보데이터선택 제어부(105c)는 악보데이터선택기억부(105b)에 보유된 악보데이터의 내용을 분석한다.
싱글악보데이터(A, B)와 조합악보데이터(P)는 삭제된 파일헤더를 가지고 제16 도에 도시된 바와같이 악보데이터선택기억부(53a)에 독립적으로 기억되어 있다. 반면에 악보ID(4, 5)가 각각의 싱글악보데이터(A, B)에 지정되면, 이들은 악보데이터선택기억부(105b)안의 어드레스를 정의한다. 또한 조합악보데이터(P)의 악보데이터(C,D,E)가 각각의 악보 IDs(1, 2, 3)에 수반되고 IDs에 의해 결정되는 상응하는 어드레스위치에 기억된다. 특히, 악보데이터의 기억위치를 인지하는 어드레스 및 포인터데이터는 제 17 도(a)에 도시된 바와같이 주메모리(53)의 참조테이블에 기억된다.
도시되듯이, 참조테이블은 싱글악보데이터(A, B)내의 악보IDs(4, 5)를 각각 두 어드레스위치(ADDR1, ADDR2) 및 두 포인터(pt4, pt5)에 지정하도록 디자인될 수 있다. 또한, 조합악보데이터(P-1, P-2, P-3)내의 각각의 악보데이터(C, D, E)의 악보 IDs(1, 2, 3)는 각각 참조테이블의 세 포인터(ptl, pt2, pt3)에 지정된다.
스타트어드레스 참조테이블은 또한 주메모리(53)에 기억된다. 문자 (P)는 제 17 도(b)에서 도시된 바와같이 조합악보데이터(P)가 기억되었을 때 스타트어드레스(SADDR1)에 지정된 악보데이터ID를 나타낸다. 유사하게 옵셋어드레스 참조테이블은 주메모리(53)에 기억되고, 이것은 악보데이터ID의 P-1, P-2, P-3를 제 17 도(c)에 도시된 바와같이, 조합악보데이터의 SADDR에 관하여 각각 다른 세 옵셋어드레스를 지정한다. 예를들면, P-1의 옵셋어드레스는 그 악보데이터(C)가 조합악보데이터에서 맨처음 나오기 때문에 0이 된다. 따라서 P-2와 P-3의 옵셋어드레스는 각각 악보데이터(D, E)의 SADDR로 부터 시작되는 OADDR1, OADDR2이다. 싱글 또는 조합악보데이터안의 악보데이터는 참조테이블, 스타트어드레스 참조테이블,옵셋참조테이블을 참조하여 그 악보ID를 검색함으로써 쉽게 독출될 수 있다. 제 18 도는 어드레스를 직접 독출하는 것과 비교했을 때, 조합악보데이터의 어떤 악보데이터도 그 악보ID를 정함으로써 쉽게 독출될 수 있다.
음원제어기에서, 음원내의 24보이스가 재생을 위해 각각 한 그룹의 악보데이터에 지정된다. 각 악보데이터의 재생은 악보데이터의 참조테이블상의 포인터에 의해 이루어진다. 포인터는 재생도중 악보데이터의 위치를 끄집어내고, 재생이 요구되지 않으면 포인터는 악보데이터의 헤드에 남아 있는다.
악보데이터기억부(105b)에서는 악보ID넘버에 상응하는 악보데이터의 어떤 재생상태가 제 19 도에 도시된 것과 같은 악보데이터 선택속성테이블에 열거된다. 재생상태는 입력장치(104)나 다른 프로그램으로 부터의 명령을 설정함으로써 결정된다.
재생상태는 재생작동이 수행되지 않으면 "STOP"이라 인지되고, 재생도중에는 "PLAY"라고 인지되며, 재생과정이 일시적으로 멈춰져 있으면 "PAUSE"라고 인지된다. 제 19 도의 악보데이터선택속성테이블에서, 악보ID(1)는 재생되고 있는 악보데이터를 표시하며, 악보ID(2)는 악보데이터가 재생되고 있지 않음을, 악보ID(3)는 악보데이터가 멈춤(PAUSE)상태에 있음을, 악보ID(4)는 악보데이터가 재생되고 있음을, 악보ID(5)는 악보데이터가 재생되고 있지 않음을 나타낸다. 재생장치내에서 악보데이터의 재생과정이 이제부터 제 20 도의 플로우차트를 참조하여 설명될 것이다.
악보데이터의 재생이 요구되면, 단계(S1)에서 악보데이터 선택관리부(105a)가 입력장치(104)로부터 입력이 있었는지를 검사한다. 만일 입력이 있었다면 단계(S2)로 넘어가고, 그렇지 않으면 시스템은 단계(S6)로 계속된다. 단계(S2)에서 악보데이터 선택제어부(105c)는 입력이 그 악보데이터를 재생하는 악보ID에 대한 요구인지 아닌지를 검사한다. 그런 요구가 없다면,단계(S4)로 넘어간다. 그런 요구가 있으면, 절차는 단계(S3)로 진척되고, 악보데이터의 상태가 악보데이터선택기억부(105b)내의 악보ID에 의해 정해지듯이 "PLAY"로 전환된다. 단계(S4)에서 악보데이터선택제어기(105c)는 입력이 악보ID가 그 악보데이터를 중지하라는 요구인지를 검사한다. 만일 그렇지않다면 절차는 단계(S6)로 넘어가고, 만일 그렇다면, 절차는 단계 (S5)로 진척되어 악보데이터의 상태가 악보데이터 선택기억부(105b)내의 악보ID에 의해 정해지는 것과같이 "STOP"으로 전환되고 그후 단계(S6)로 넘어간다. 악보데이터선택제어부(105c)는 단계(S6)에서 악보데이터선택기억부(105b)의 악보ID에 의해 정해지는 악보데이터의 상태를 분석한다. 그다음 단계(S7)에서 악보ID가 "PLAY"인지 여부를 판단한다. 만일 아니라면, 절차는 단계(S1)로 되돌아가 다른 입력이 들어오길 기다린다. 만일 단계(S7)에서 악보ID가 "PLAY"라고 나타났다면 절차는 단계(S8)로 가서 악보ID에 의해 특정되는 악보데이터의 재생을 시작한다.
단계(S8) 이후의 절차는 악보데이터 대 악보데이터식으로 수행되고, 주변장치제어기(52)에 의해 일정한 시간간격으로 발생되는 타이머 끼어들기신호에 의해 제어된다.
이 작동이 한 악보데이터의 예에 대하여 설명될 것이다. 단계(S8)에서, 악보데이터취득부(106)는 악보데이터기억(53a)가 악보ID "PLAY"에 의해 특정되는 관련악보데이터를 독출하도록 지시한다. 악보데이터취측부(106)는 악보데이터가 단계(S9)에서 종료되었는지 아닌지를 검사한다. 만일 단계(S9)에서 종료되었다면, 음처리는 종료되고, 그렇지 않다면 절차는 단계(S10)로 간다.
단계(S10)에서 악보데이터취득부(106)는 단계(S9)에서 독출된 악보데이터가 현재의 끼어들기동안에 재생되어야할 정확한 것인가 여부가 검사된다. 만일 아니라면 음처리는 중단될 것이다. 만일 그렇다면 절차는 단계(S11)로 넘어간다. 단계(S11)에서 발음/소음제어부(107)는 현 끼어들기동안에 재생되어야할 악보데이터가 키온(Key on)을 포함하는지 여부를 검사한다. 만일 아니라면 절차는 단계(S13)로 간다. 만일 그렇다면 절차는 단계(S12)로 가서 상응보이스를 발음시키는 지시가 음원에 주어지고, 다음 중단신호를 기다리기 위해 단계(S8)로 되돌아간다.
발음/소음제어부(107)는 현 끼어들기지속에서 재생되어야할 악보데이터가 단계(S13)에서 "Key-off"를 포함하는지 아닌지를 검사한다. 만일 아니라면 절차는 단계(S8)로 되돌아가 다음 중단신호를 기다린다. 만일 그렇다면 절차는 단계(Sl4)로 가서 상응보이스의 종료지시를 음원에 주고, 단계(S8)로 되돌아가 다음 중단신호를 기다린다. 이러한 방법으로 선택된 악보ID에 의해 특정된 악보데이터가 악보데이터 선택속성테이블을 이용하여 재생된다.
음원제어기에서 어떤 악보데이터도 참조테이블을 참조하여 그 악보ID를 검사함으로써 쉽게 인지될 수 있고, 악보데이터의 제어가 단순화될 것이다. 그 악보ID 를 가지는 악보데이터의 재생상태가 악보데이터 선택속성테이블의 내용을 변경함으로써 독립적으로 결정될 수 있기 때문에, 한 악보데이터의 재생은 나머지 악보데이터의 재생상태와는 무관하게 행해질 수 있다. 이에의해 조작자의 요구나 다른 프로그램으로부터의 요구에 고속으로 응답할 수 있도록 된다.
제 15 도에 도시된 음원제어기는 또한 제 21 도에 도시된 회로구조를 포함한다. 제 21 도는 오퍼레이팅시스템, 음원제어프로그램 및 게임프로그램에 따라 작동되고, CPU(51)에 의해 제어되는 일련의 작동들을 나타내는 블록다이어그램이다. 음원제어기는 같은 시간간격으로 CPU(51)에 타이머 끼어들기신호를 발하는 타이머 끼어들기제어부(130)를 포함한다.
주변장치제어기(52)와 사운드제어부(140)의 작동은 악보데이터에 따라 음원의 작동을 제어하는 주변장치제어기(52)의 타이머 끼어들기작동에 응답하는 것이다. 시스템부하제어부(150)는 전 비디오게임기상의 부하를 검사한다. 시스템부하제어부(150)는 그 정보를 타이머 끼어들기제어부(130)에 공급하고, 입력요구제어부(160)에 컨트롤러(92)의 작동을 체크하도록 공급한다.
드로잉제어부(170)는 그래픽모듈(60)의 드로잉작동을 제어하고, 메인루틴부(180)는 조작자의 명령에 따라, 게임작동의 순서를 상응 특수효과음, 음악의 발음과 화상의 표시에 맞추어 제어한다. 이들은 CPU(51)에 의해 제어되고, 사운드제어부(140)의 동작과 함께 오퍼레이팅시스템과 게임프로그램에 따라서 동시에 수행된다. 타이머 끼어들기제어부(130)는 타이머 끼어들기간격기억부(131), 타이머 끼어들기제어부(132), 및 사운드제어부(140)와 메인루틴부(180) 사이의 작동을 변환시키는 제어선택기스위치(133)와를 포함한다.
사운드제어부(140)는 음원(70)외에, 악보데이터를 보유하는 악보데이터기억부(141), 악보데이터의 독출을 제어하는 데이터취득제어부(142), 데이터취득제어부(142)의 작동을 제어하는 시간제어부(143), 악보데이터에 따라 발음과 소음을 제어하는 발음/소음제어부(144), 타이머 끼어들기간격기억부(131)의 타이머 끼어들기간격데이터에 해당하는 내부 분해능데이터를 보유하는 내부 분해능기억부(145)를 포함한다. 음원(70)은 SPU(71)와 사운드버퍼(72)를 포함한다. 특히, 음원(70)은 발음/소음제어부(144)로 부터의 명령에 답하여 사운드버퍼(72)나, 파형기억기(146)로 부터 상응파형을 독출하는 음방출부(147)와, 음방출부(147)의 파형을 증폭하는 증폭기(148)와를 포함한다. 음방출부(147)와 증폭기(148)는 실제로는 SPU(71)의 한단위로서 제공된다.
시스템부하제어부(150)는 시스템부하데이터를 얻는 시스템부하취득부(151)와, 시스템부하데이터를 검사하는 시스템부하검사부(152)를 포함한다. 시스템부하 임계값기억부(153)는 시스템부하데이터의 임계값을 보유한다. 입력요구제어부(160)는 컨트롤러(92)를 포함하는 입력장치(161)와, 입력요구를 분석하는 입력요구분석기(162)를 포함한다. 드로잉제어부(170)는 CPU(51), GTE(61), GPU(62), 프레잉버퍼(63)의 결합체이다. 특히 이것은 GTE(61)를 포함한 제어도중 드로잉데이터기억부(171)와, CPU(51)를 포함한 드로잉데이터제어부(172)와, GPU(62) 포함한 드로잉장치(173), 프레임버퍼(63)를 포함한 드로잉데이터기억부(174), 및 드로잉장치(173)의 비디오출력으로부터 유도된 화상을 포시하는 표시장치(175)와를 포함한다. 음원제어기의 작동이 이하 상술될 것이다.
음원제어기에서 시스템부하나 요구하는 입력에 해당하는 타이머 끼어들기간격데이터는 타이머끼어들기간격기억부(131)에 기억된다. 예를들면 타이머 끼어들기간격데이터는 하부시스템부하에 지정된 1/240초의 간격과, 하부시스템부하보다는 긴 l/6O초의 간격이 상부시스템부하로 지정된다. 음원제어기가 작동개시하면, 메인루틴(180)은 CPU(51)의 제어하에서, 입력장치(161)의 명령에 따라 드로잉제어부(170)를 제어하기 위해 한 그룹의 작동을 병렬적으로 작동한다. 음의 선택은 사운드제어부(140)에 의해 결정되고, 시스템부하제어부(150)를 자제한다. 시스템부하취득부(151)는 CPU(51)로부터 부하데이터를 받아서 그것을 시스템부하검사부(152)로 전달한다. 시스템부하검사부(152)는 시스템부하 임계값기억부(153)에 기억된 임계값과 비교하여 시스템부하를 검사하여 그 비교결과를 타이머끼어들기간격기억부(131)로 전달한다.
타이머끼어들기간격기억부(131)는 시스템부하검사부(152)의 결과출력이나 입력요구분석부(162)의 출력으로부터 상응하는 타이머끼어들기간격을 결정하여, 그것을 타이머끼어들기제어부(132) 및 내부 분해능기억부(145)로 전송한다. 특히 타이머 끼어들기간격기억부(131)는 시스템부하검사부(152)에 의해 판단하여 시스템부하가 낮을 경우에는 l/240초의 간격을 선택하고 시스템부하가 높은 경우에는 l/60초의 간격을 선택한다.
타이머 끼어들기제어부(132)는 타이머 끼어들기간격기억부(131)로부터의 타이머끼어들기간격에 따라 주변장치제어부(52)를 제어한다. 이에의해 균일한 시간간격으로 타이머 끼어들기신호가 생성된다. 제어선택기스위치(133)는 균일한 간격으로 번갈아 메인루틴(180)과 사운드제어부(140)를 자제한다. 이에의해 사운드제어부(140)가 그 음생성과정을 수행한다.
사운드제어기(140)는 제어선택기스위치(133)의 스위칭작동에 의해 자극되기 때문에 시간제어부(143)는 타이머 끼어들기간격이나 내부 분해능기억부(145)에 기억된 내부 분해능에 따라 데이터취득부(142)가 악보데이터기억부(141)로부터 악보데이터의 타이머 끼어들기간격길이를 독출하여 발음/소음제어부(144)로 전송하도록 지시한다.
발음/소음제어부(144)는 시간제어부(143)로부터의 악보데이터길이에 따라 음방출부(147)의 작동을 제어한다. 따라서 음방출부(147)는 파형기억부(146)로부터 선택된 해당파형을 갖는음을 만든다.
특히 발음/소음제어부(144)가 활성화되어 있는 동안 CPU(51)는 피치변환기(111)와 엔벌로프제너레이터(115)의 작동을 요구된 음을 생성하도록 정한다. 그다음 음은 증폭기(148)에 의해 진폭이 맞추어져 실내악출력을 위해 스피커(73)로 전송된다.
음은 타이머 끼어들기간격기억부(131)로부터 출력된 타이머 끼어들기간격 기간동안 악보데이터의 오디오신호에 의해 창조된다.
사운드제어부(140)는 타이머 끼어들기간격기억부(131)에 의해 정해진 타이머 끼어들기간격으로 활성화되기 때문에, 악보데이터의 타이머 끼어들기간격길이들은 연속하여 출력된다.
타이머 끼어들기간격이 l/240초라면, 제 22 도 (a)에서 도시된 바와같이l/240초 길이의 악보데이터가 재생된다.
그때 사운드제어부(140)의 실제처리지속은 l/240초보다 훨씬 적다. 예를들어 t11∼t12, t12∼t13, t13∼t14, t14-t15의 기간 동안 두 노트(notes)가 연주된다. tl1∼tl5 사이에서 l/60초에 총 8노트가 재생된다. 타이머 끼어들기간격이 l/60초라면 제 22 도 (b)에 도시된 바와같이 l/60초 길이의 악보데이터가 재생된다. 그후, t21∼t22에서 l/60초에 8노트가 연주된다. 타이머 끼어들기간격이 l/240초 또는 l/60초릴때 8노트가 같은 길이로 연주된다. 따라서 음원재생기에서 타이머 끼어들기간격이 변하여도, 독출데이터의 독출은 간격과 일치하도록 제어된다. 이에 의해 악보데이터가 같은 템포로 독출 및 재생된다.
타이머끼어들기간격이 l/240초이면 타이머 끼어들기간격신호에 의해 자극된 사운드제어부(140)의 작동은 제 23 도 (a)에 도시된 바와같이 CPU(51)의 전 부하의 25%를 요구한다. 그러나 타이머 끼어들기간격이 l/60초이면, 사운드제어부(140)의 작동은 제 23 도(b)에 도시된 바와같이 CPU(51)의 처리능력의 단지 12.5%일 뿐이다.
CPU(51)가 음원의 작동을 제어하는 부하는 타이머 끼어들기간격의 길이가 줄어들때 거의 변하지 않는다. 그러나 타이머 끼어들기간격이 아주 짧을때는 끼어들기작동이 더 자주 일어나고, 끼어들기의 총도입이 증가된다. 이에의해 사운드제어부(140)에 부하가 증가한다. 따라서 미리 정해져 타이머 끼어들기간격기억부(131)에 기억된 타이머 끼어들기간격은 시스템부하가 비교적 낮을때는 l/240초로 선택되고, 사운드제어부(140)가 더욱 많은 부하를 다루도록 한다. 시스템부하가 높을때는l/60초가 선택되기 때문에 사운드제어부(140)의 부하도 감소된다.
결과적으로 본 발명의 음원제어기내 사운드제어부(140)의 처리능력은 악보데이터형태의 변화없이 시스템부하에 따라 변화한다. 시스템부하가 크다면 사운드제어부(140)는 드로잉용 비디오데이터를 부드럽게 처리하도록 부하가 준다.
본 발명의 앞의 실시예는 효과과 음악을 생성하기 위한 비디오게임기에 설치되는 음원장치에만 국한되지 않고, 파형의 진폭을 소정의 진폭데이터에 따라 조정하여 음이 만들어지는 것이면 자동플레이어나 마이크로컴퓨터와 같은 어떤 장치에도 응용될 수 있다. 또한, 본 발명의 기술적 원리에서 벗어나지 않게 다른 변형이나 변화도 가능하다.
상기 설명과 같이 본 발명의 음원장치는 피치변환기의 출력의 진폭이 연속적으로 변화될 수 있도록 차분볼륨데이터가 미리 정해져 기억된 차분볼륨데이터에 따라 볼륨레벨의 설정이 변할 수 있도록 한다. 계속하여 결과적인 음신호가 불연속이 아니기 때문에 불요한 노이즈가 재생음에서 감쇄된다. 볼륨레벨이 차분볼륨값에 따라 점진적으로 변하기 때문에, 음원작동을 제어하는 음원제어기는 볼륨레벨 및 차분볼륨값의 초기설정과 함께 단지 한번만 부하되면 된다. 따라서 음원제어기의 부하가 최소화된다.
본 발명은 세부에서 많은 변화 및, 변형, 개변이 가능하다. 명세서 전체와 도면에 기술 및 묘사된 것은 단지 예시적인 것이다. 따라서 본 발명은 첨부한 청구범위의 정신 및 범위에 의해서만 제한될 뿐이다.
제 1 도는 본 발명의 음원제어기를 구현한 비디오게임기의 회로배열을 나타내는 개략적 블록다이어그램
제 2 도는 본 발명의 음원제어기를 구현한 비디오게임기에 사용될 음처리기(SPU)를 나타내는 개략적 블록다이어그램
제 3 도는 본 발명의 음원제어기 및 음원에 사용된 데이터뱅크의 포맷을 나타내는 다이어그램
제 4 도는 제 3 도에 도시된 데이터뱅크안에 할당된 속성데이터의 포맷을 나타내는 다이어그램
제 5 도는 속성데이터에 할당된 엔벌로프(envelope)의 설정을 설명하는 다이어그램
제 6 도는 본 발명의 음원제어기에 사용되는 엔벌로프제너레이터를 설명하는 개략적 블록다이어그램
제 7 도는 속성데이터의 기억을 나타내는 다이어그램
제 8 도는 본 발명의 음원제어기에 사용될 볼륨제어를 나타내는 개략적 블록다이어그램
제 9 도(A)(B)는 볼륨제어의 작동을 나타내는 다이어그램
제 10 도는 볼륨제어에 의해 생성된 출력을 설명하는 다이어그램
제 11 도는 본 발명의 비디오게임기내의 음원제어를 위한 악보데이터의 포맷을 나타내는 다이어그램
제 12 도는 본 발명의 비디오게임기내의 음원제어를 위한 악보데이터의 또다른 포맷을 나타내는 다이어그램
제 13 도는 악보데이터의 음악데이터의 포맷을 나타내는 다이어그램
제 14 도는 악보데이터의 할당을 설명하는 다이어그램
제 15 도는 악보데이터로 음원을 제어하기 위한 음원제어기의 개략적 블록다이어그램
제 16 도는 음원장치의 악보데이터기억에 기억된 악보데이터의 할당을 나내는 다이어그램
제 17 도(A)∼(C)는 악보데이터의 독출도중에 사용될 참조테이블의 내용을 나타내는 다이어그램
제 18 도는 음원제어기의 악보데이터의 재생을 설명하는 다이어그램
제 19 도는 음원제어기의 악보데이터의 작동을 설명하는 다이어그램
제 20 도는 음원제어기의 악보데이터의 재생을 설명하는 플로우차트
제 21 도는 본 발명의 음원제어기의 상세한 배열을 보여주는 개략적 블록다이어그램
제 22 도는(A)(B)는 음원제어기의 음제어기의 타이머 끼워넣기작동을 설명하는 다이어그램
제 23 도(A)(B)는 음제어기의 부하비율을 나타내는 다이어그램
제 24 도는 종래의 비디오게임기의 배열을 보여주는 블록다이어그램
제 25 도는 종래의 비디오게임기의 알려진 음원장치의 배열을 나타내는 블록다이어그램
제 26 도(A)-(C)는 알려진 음원장치의 작동을 설명하는 다이어그램
* 도면의 주요부분에 대한 부호설명
50. 제어시스템 51. CPU
52. 주변장치제어기 53. 주메모리
54. ROM 60. 그래픽시스템
61. GTE 62. GPU
63. 프레임버퍼 64. 비디오디코더
70. 사운드시스템 71. SPU
72. 사운드버퍼 73. 스피커
80. 광학디스크제어기모듈 81. 광학디스크
82. 디코더 83. 버퍼
90. 통신제어모듈 91. 통신제어기
92. 컨트롤러 93. 메모리카드
100. 버스 101. 병렬I/O포트
102. 직렬l/O포트 105. 악보데이터선택부
105a. 악보데이터관리부 105b. 악보데이터기억부
105c. 악보데이터제어부 106. 악보데이터취득부
107. 발음/소음데이터제어부 111. 피치변환부
112. 클릭제너레이터 113. 노이즈제너레이터
114. 선택기스위치 115. 엔벌로프제너레이터
116. 뮤트처리부 115a,115b. "adsr"레지스터기
115c. "adsr"제어기 115d. 승산기
117L,117R. 볼륨장치 117a. 차분볼륨레지스터
117b. 볼륨레지스터 117c. 가산기
117d. 제한기 117e. 볼륨레지스터
117f. 볼륨제어기 118L,Il8R 스위치
119. 반향처리부 120. 볼륨장치
121a,121b. 가산기 122. 마스터볼륨장치
123. 스위치 124.믹심볼륨장치
125. 스위치 130. 타이머 끼어들기제어부
131. 타이머 끼어들기간격 기억부 132. 타이머 끼어들기제어부
133. 제어선택기스위치 140. 사운드제어부
141. 악보데이터기억부 142. 데이터취득제어부
143. 시간제어부 144. 발음/소음제어부
145. 내부 분해능 기억부 146. 파형기억부
147. 음방출부 148. 증폭기
150. 시스템 부하제어부 151. 시스템 부하취득부
152. 시스템 부하검사부 153. 시스템 부하임계값 기억부
160. 입력요구제어부 161. 입력장치
162. 입력요구분석기 170. 드로잉제어부
180. 메인루틴부

Claims (11)

  1. 파형데이터를 기억하기 위한 파형버퍼와,
    파형버퍼로 부터 파형데이터를 독출하고 피치데이터에 의거하여 파형데이터의 피치를 변환시키는 피치변환수단과,
    진폭데이터를 보유하는 진폭메모리와,
    차분진폭데이터의 기억을 위한 차분진폭메모리와,
    상기 진폭메모리에 보유된 상기 진폭데이터를 상기 차분진폭메모리에 보유된 상기 차분진폭데이터에 기초하여 변환시켜 조정된 진폭데이터를 제공하는 레벨변환수단과,
    상기 피치변환부의 출력을 수신하여 상기 조정된 진폭데이터에 기초하여 상기 피치변환부로부터 상기 출력의 진폭레벨을 조정하여 점진적으로 조정되는 출력을 제공하는 레벨제어부를 포함하는 것을 특징으로 하는 음원장치,
  2. 제 1 항에 있어서, 조정된 출력레벨이 점진적으로 변하는 것을 특징으로 하는 음원장치.
  3. 제 2 항에 있어서, 조정된 출력레벨이 선형함수에 따라 변하는 것을 특징으로 하는 음원장치.
  4. 제 2 항에 있어서, 조정된 출력레벨이 지수함수에 따라 변하는 것을 특징으로 하는 음원장치.
  5. 제 1 항에 있어서, 레벨제어기가 부가진폭데이터를 기억하기 위한 부가메모리수단과 부가진폭데이터를 차분진폭데이터에 더하는 가산기를 포함하고 있는 것을 특징으로 하는 음원장치.
  6. 제 1 항에 있어서, 조정된 출력을 반향하는 수단을 더 포함하는 것을 특징으로 하는 음원장치.
  7. 제 1항에 있어서, 음원장치에 접속된 CPU에 부하를 가하는 수단을 더 포함하는 것을 특징으로 하는 음원장치.
  8. 파형데이터를 제공하는 단계와, 피치 변환된 출력을 제공하기 위해 파형데이터의 피치를 변환시키는 단계와,
    진폭메모리내에 진폭데이터를 기억하는 단계와,
    차분진폭데이터의 기억을 위한 차분진폭메모리와,
    상기 진폭메모리에 기억된 상기 진폭데이터를 차분진폭메모리에 보유된 차분진폭데이터에 기초하여 변환시켜 조정된 진폭데이터를 조정단계와,
    피치가 변환된 출력레벨을 진폭메모리에 보유된 조정된 진폭데이터에 기초하여 조정함으로써 점진적으로 조정되는 출력을 제공하는 단계를 포함하는 오디오신호생성방법.
  9. 제 8 항에 있어서, 조정된 출력이 점진적으로 변하는 것을 특징으로 하는 오디오신호 생성방법.
  10. 제 8 항에 있어서, 조정된 출력이 선형함수에 따라 변하는 것을 특징으로 하는 오디오신호 생성방법.
  11. 제 8 항에 있어서, 조정된 출력이 지수함수에 따라 변하는 것을 특징으로 하는 오디오신호 생성방법.
KR1019950046116A 1994-12-02 1995-12-01 의사발음이감소된전자음원장치 KR100419839B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP30003294A JP3625880B2 (ja) 1994-12-02 1994-12-02 音源装置
JP94-300032 1994-12-02

Publications (2)

Publication Number Publication Date
KR960025309A KR960025309A (ko) 1996-07-20
KR100419839B1 true KR100419839B1 (ko) 2004-06-18

Family

ID=17879891

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950046116A KR100419839B1 (ko) 1994-12-02 1995-12-01 의사발음이감소된전자음원장치

Country Status (7)

Country Link
US (1) US5789690A (ko)
EP (2) EP0729131B1 (ko)
JP (1) JP3625880B2 (ko)
KR (1) KR100419839B1 (ko)
CN (1) CN1148718C (ko)
CA (1) CA2164268A1 (ko)
DE (2) DE69535444D1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324592B1 (en) 1997-02-25 2001-11-27 Keystone Aerospace Apparatus and method for a mobile computer architecture and input/output management system
JP3596263B2 (ja) * 1997-12-10 2004-12-02 ヤマハ株式会社 データ処理装置およびデータ処理方法
JP3975593B2 (ja) * 1999-01-21 2007-09-12 株式会社ソニー・コンピュータエンタテインメント 再生音を発生する方法、再生音を発生する電子機器及びエンターテインメント・システム
JP3869175B2 (ja) * 2000-02-07 2007-01-17 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム音楽出力方法、情報記憶媒体、ゲームプログラム配信装置及びゲームプログラム配信方法
JP4497264B2 (ja) * 2001-01-22 2010-07-07 株式会社セガ ゲームプログラム、ゲーム装置、効果音の出力方法及び記録媒体
JP4542308B2 (ja) * 2002-12-16 2010-09-15 株式会社ソニー・コンピュータエンタテインメント 信号処理用デバイス及び情報処理機器
TWI235356B (en) * 2003-04-28 2005-07-01 Mediatek Inc Waveform adjustable system for music file
CN100386798C (zh) * 2003-05-20 2008-05-07 联发科技股份有限公司 音乐文件的波形调节系统和方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02275496A (ja) * 1989-04-17 1990-11-09 Suzuki Gakki Seisakusho:Kk 電子楽器の音量制御装置
US5111530A (en) * 1988-11-04 1992-05-05 Sony Corporation Digital audio signal generating apparatus
JPH04184493A (ja) * 1990-11-20 1992-07-01 Casio Comput Co Ltd 電子楽器の信号処理装置
JPH04301894A (ja) * 1991-03-29 1992-10-26 Roland Corp 電子楽器のミューティング回路
JPH05323970A (ja) * 1992-05-19 1993-12-07 Matsushita Electric Ind Co Ltd 楽音発生装置
US5283387A (en) * 1990-11-20 1994-02-01 Casio Computer Co., Ltd. Musical sound generator with single signal processing means
KR100284518B1 (ko) * 1992-06-25 2001-11-05 야스카와 히데아키 전자볼륨

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924428A (en) * 1987-12-08 1990-05-08 Northern Telecom Limited Real time digital signal processor idle indicator
US5086475A (en) * 1988-11-19 1992-02-04 Sony Corporation Apparatus for generating, recording or reproducing sound source data
GB2230132B (en) * 1988-11-19 1993-06-23 Sony Corp Signal recording method
US5052685A (en) * 1989-12-07 1991-10-01 Qsound Ltd. Sound processor for video game
US5295123A (en) * 1990-11-14 1994-03-15 Roland Corporation Automatic playing apparatus
JP2699651B2 (ja) * 1990-11-16 1998-01-19 ヤマハ株式会社 音源装置
JP2896716B2 (ja) * 1991-03-01 1999-05-31 ヤマハ株式会社 自動演奏装置
JP2743680B2 (ja) * 1992-01-16 1998-04-22 ヤマハ株式会社 自動演奏装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5111530A (en) * 1988-11-04 1992-05-05 Sony Corporation Digital audio signal generating apparatus
JPH02275496A (ja) * 1989-04-17 1990-11-09 Suzuki Gakki Seisakusho:Kk 電子楽器の音量制御装置
JPH04184493A (ja) * 1990-11-20 1992-07-01 Casio Comput Co Ltd 電子楽器の信号処理装置
US5283387A (en) * 1990-11-20 1994-02-01 Casio Computer Co., Ltd. Musical sound generator with single signal processing means
JPH04301894A (ja) * 1991-03-29 1992-10-26 Roland Corp 電子楽器のミューティング回路
JPH05323970A (ja) * 1992-05-19 1993-12-07 Matsushita Electric Ind Co Ltd 楽音発生装置
KR100284518B1 (ko) * 1992-06-25 2001-11-05 야스카와 히데아키 전자볼륨

Also Published As

Publication number Publication date
DE69529273D1 (de) 2003-02-06
CA2164268A1 (en) 1996-06-03
EP1280133A3 (en) 2004-12-01
EP1280133B1 (en) 2007-03-28
JPH08160961A (ja) 1996-06-21
CN1148718C (zh) 2004-05-05
US5789690A (en) 1998-08-04
EP0729131A3 (en) 1999-01-13
EP1280133A2 (en) 2003-01-29
DE69535444D1 (de) 2007-05-10
JP3625880B2 (ja) 2005-03-02
DE69529273T2 (de) 2003-11-20
EP0729131B1 (en) 2003-01-02
CN1151062A (zh) 1997-06-04
KR960025309A (ko) 1996-07-20
EP0729131A2 (en) 1996-08-28

Similar Documents

Publication Publication Date Title
EP1109149B1 (en) Sound source controlling device
US7678986B2 (en) Musical instrument digital interface hardware instructions
KR100319481B1 (ko) 악음발생방법,파형데이터압축방법,이러한방법을실행하기위한제어명령어를포함하는기계판독가능한기록매체및사운드장치
KR100419839B1 (ko) 의사발음이감소된전자음원장치
US7718882B2 (en) Efficient identification of sets of audio parameters
US7663052B2 (en) Musical instrument digital interface hardware instruction set
JP3799711B2 (ja) 楽音発生方法および楽音発生装置
JP3919833B2 (ja) 音源装置
JP3660379B2 (ja) 音源制御情報の記憶方法及び音源制御装置
CN112435644B (zh) 音频信号输出方法及装置、存储介质、计算机设备
JP3394626B2 (ja) 電子楽器
JP3632744B2 (ja) 音生成方法
JPH10124060A (ja) 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体
JP3148803B2 (ja) 音源装置
JP2833485B2 (ja) 楽音発生装置
JPH0944160A (ja) 楽音生成方法
JP3627590B2 (ja) 音生成方法
JPH1097258A (ja) 波形メモリ音源装置および楽音発生装置
JP3735172B2 (ja) 演奏情報処理方法

Legal Events

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

Payment date: 20130118

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140407

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150119

Year of fee payment: 12

EXPY Expiration of term