KR100481939B1 - 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스페이즈 변조를 이용한 음발생장치 - Google Patents

미디신호의 순차적인 블록 단위 전송과 메모리 어드레스페이즈 변조를 이용한 음발생장치 Download PDF

Info

Publication number
KR100481939B1
KR100481939B1 KR10-2002-0082249A KR20020082249A KR100481939B1 KR 100481939 B1 KR100481939 B1 KR 100481939B1 KR 20020082249 A KR20020082249 A KR 20020082249A KR 100481939 B1 KR100481939 B1 KR 100481939B1
Authority
KR
South Korea
Prior art keywords
midi
sound
memory
data
address
Prior art date
Application number
KR10-2002-0082249A
Other languages
English (en)
Other versions
KR20040055837A (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 주식회사 화음소
Priority to KR10-2002-0082249A priority Critical patent/KR100481939B1/ko
Publication of KR20040055837A publication Critical patent/KR20040055837A/ko
Application granted granted Critical
Publication of KR100481939B1 publication Critical patent/KR100481939B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments

Landscapes

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

Abstract

미디(MIDI)신호의 순차적인 Block 단위 전송과 메모리 어드레스 페이즈 변조를 이용한 소리 발생방식을 반도체 비메모리장치로 구현하는 방식이 개시된다. 본 발명은 원하는 음을 만들기 위하여 이미 저장되어 있는 데이터베이스를 이용하여 시간에 따른 변화된 메모리 어드레스정보와 어드레스를 만들기 위한 방식 및 미디를 해석하기 위한 인터페이스부를 구비한다. 미디인터페이스부는 구체적으로 미디정보 감지수단, 음발생부에 미디정보를 전달하는 전달수단으로 구분되고, 음발생부는 음발생수단, 음변조수단, 출력회로를 구비한다. 미디인터페이스부는 외부에서 입력되는 MIDI신호를 직렬통신방식과 병렬통신방식을 모두 이용하여 MIDI신호를 인식하고, MIDI신호에 맞는 음을 발생시키기 위한 음발생부에 적정한 신호를 전달하는 변환신호를 음발생부에 전달한다. 상기 음발생부는 MIDI 입력단에서 들어온 변환신호에 맞는 음을 발생하는 부분인 음발생수단부와 음이 일단 발생되면 발생된 음을 주파수와 진폭을 변화시켜 변조된 음을 만들 수 있는 음변조수단, 최종적으로 음변조수단에서 발생된 신호를 외부에 내보내는 출력부 디지털 아날로그 변환기에 연결시킨다.

Description

미디신호의 순차적인 블록 단위 전송과 메모리 어드레스 페이즈 변조를 이용한 음발생장치{Apparatus for Sound Generation Method using block transfer of MIDI Information and phase modulation of Memory address}
본 발명은 음발생장치에 관한 것으로서, 보다 상세하게는 미디(MIDI-Musical Instrument Digital Interface-전자악기간의 통신방법을 정해놓은 국제적인 표준규격)신호의 순차적인 블록 단위 전송과 메모리 어드레스 페이즈변조를 이용한 음발생장치에 관하여 반도체 비메모리 장치로 구현하는 방식에 관한 것이다.
최근, 반도체 집적기술의 발달에 따라 간단한 신호를 주고받아서 악기음의 구현이나 구현된 음의 변조 등을 쉽게 할 수 있는 반도체가 개발되었다.
이동전화나 전자악기, 오락기 등에서 악기음의 구현을 위해서는, 미디기능을 탑재한 반도체 또는 미디기능을 소프트웨어 적으로 구현할 수 있는 프로세서가 필요하다. 즉, 기존의 직렬이나 병렬로 미디신호를 받아서 메모리에 있는 음색 파라미터를 읽어서 음을 재생하는 방식으로는 미디신호를 해석하는 처리기능이 별도로 외부에 있어야 하고 시간별로 단순음악을 처리할 때 음성을 분리해서 처리할 수가 없었다. 즉, 기존의 미디방식 비메모리 반도체들은 단순 미디자체만 처리할 수 있었지 미디에 정의되지 않은 오디오 신호와의 믹싱(혼합)은 할 수 없었다.
한편, 미디기능을 탑재한 기기 등은 미디에서 정의되지 않은 특정 음을 구현하기 위해서는 미디용 비메모리 반도체와 별도로 중앙처리장치(CPU), 디에스피(DSP) 등을 내장하므로, 높은 제조원가가 요구된다, 따라서 일반 미디반도체를 이용하여 미디와 미디이외의 오디오신호를 동시에 구현할 수 있는 연구가 활발히 진행되고 있다.
종래에는 외부에 연결된 기기가 미디를 이용하여 특정한 소리를 내고자 할 때 사용자 요구를 인식하는 부분에서 원하는 미디정보를 받아들여 사용자 요구 중에 미디를 이용해서 충족할 수 있는 정보인지 아닌지를 판단하는 부분에서 내부의 메모리에 있는 정보를 이용할 것인지 아니면 외부기기에 있는 메모리의 정보를 이용할 것인지를 판단하여 교통정리를 해준다. 이 과정에서 내부메모리에 있는 소리로도 충분한 소리를 구현할 수 없을 경우는 외부에서 특정소리의 정보를 미디반도체가 받아서 처리해야 할 필요가 있다. 본 발명은 이러한 필요를 최적으로 충족시켜준다.
외부에서 특정 소리를 받았더라도 외부메모리와 내부메모리에 있는 소리가 정상적인 절차를 거쳐서 원하는 소리로 재생이 되었을 경우는 사용자가 원하는 경우에 특정한 외부 음도 음의 변조를 할 수 있는 음변조부에 입력시켜 다양한 음질을 재생할 수 있어야 한다.
이러한 과정에서 소리를 미디를 이용하여 재생시킬 수 있기 때문에 외부장치에서 가지고 있어야 할 소리재생을 위한 정보는 매우 단조로울 수가 있으며 특별한 조건에서만 외부메모리의 소리를 이용하여 소리를 재생할 수 있기 때문에 이럴 때는 미디가 가지는 정보의 단조로움을 극복할 수 있다. 미디자체가 가지는 정보량의 축소특성은 외부메모리가 가질 수 없는 장점으로 내부/외부메모리를 적절히 조화시켜 음을 재생할 때 최대의 효과를 얻을 수 있다. 그러나 종래의 장치로는 미디가 가지고 있는 장점인 여러 가지 파라미터를 적절히 조합하여 내부/외부메모리를 이용한 소리의 재생과 변조를 동시에 가능케 하는 기능구현을 할 수 없는 한계를 가지고 있다.
따라서, 본 발명은 상기한 종래의 제반 문제점을 해결하기 위한 것으로, 그 목적은, 미디와 동시에 외부 웨이브를 어드레스 페이즈 발생부와 음색 데이터 메모리, 음 변조 데이터 메모리, 음 크기 데이터 메모리를 이용하여, 메모리를 최적으로 이용하고 미디에서 정해진 악기음과 외부웨이브를 동시에 직접적으로 처리하는 회로를 개발하여 미디의 기능을 향상시키고 미디와 외부 웨이브를 혼합하여 동시에 청취할 수 있도록 한 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스 페이즈 변조를 이용한 음발생장치를 제공하는 것이다.
상기와 같은 기술적 과제를 해결하기 위한 본 발명의 특징은, 반도체 비메모리 장치를 통하여 소리를 재생하기 위한 장치에 있어서, 외부장치와 정보를 교환하면서 내부에 미디정보와 웨이브정보를 전달해 주는 미디버퍼(310) 및 웨이브버퍼(312); 외부에서 들어오는 명령이 정지명령인지 시작명령인지 판별해주며 명령의 순서에 따라 순차적으로 명령을 저장하고 내부 상태를 외부에 전달해주는 외부명령해석회로(314); 외부와 정보를 교환하는 버퍼를 제어하기 위한 어드레스발생회로(316); 외부에서 들어온 명령 중 미디에 관한 명령을 골라내서 내부에 필요한 채널넘버나 미디파라미터를 해석하는 미디명령해석회로(318); 미디명령을 내부 디에스피(DSP)에 순차적으로 번호를 붙여서 전달하여 소리의 발생을 시작할 수 있도록 명령을 전달하는 미디명령 전달회로(320); 미디명령을 전달받아 원하는 소리가 저장되어 있는 메모리를 읽기 위한 정확한 어드레스페이즈 변조회로(322); 음색데이터, 음크기조절데이터, 음변조데이터를 하나의 메모리에 저장하기 위한 메모리 어드레스/데이터 액세스 회로(324); 정해진 어드레스에 의해 읽혀진 데이터를 외부에서 오는 특정 명령에 따라 소리를 변조시킬 수 있는 데이터 변조회로(326); 음색정보, 볼륨정보, 변조정보 등이 저장되어 있는 데이터메모리(328); 상기데이터 변조회로(326)를 거쳐서 최종적으로 재생된 데이터를 외부로 출력시키는 디지털 출력회로(330)(332)를 포함한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 대하여, 동일한 참조부호는 동일한 부재임을 나타낸다.
도 1은 본 발명의 일실시예에 따른 음발생장치의 전체적인 흐름을 설명하기 위한 흐름도이다. 외부 사용자의 요구(S100) 에 의해서 특정신호를 받으면 내부톤을 의미하는 미디신호와 외부톤을 의미하는 웨이브(S102)를 판별하여 외부음을 사용하는 웨이브이면 외부음을 저장 및 처리(S104) 하고 미디신호이면 내부음으로 처리(S106)하여 음을 발생(S108)한 후 발생된 음을 변조(S110) 시켜서 출력(S112)으로 내 보낸다.
도 2는 본 발명의 미디신호의 순차적인 블록단위 전송과 메모리 어드레스 페이즈변조를 이용한 음발생장치의 전체적인 구성도이다. 상기 음발생 시스템은 외부에서 미디나 웨이브 데이터를 받을 수 있는 미디버퍼(310)와 웨이브버퍼(312)가 있다.
외부명령해석회로(314)는 외부 호스트에서 써주는 데이터가 언제 시작되는지, 언제 끝나는지, 버퍼메모리를 미디버퍼와 웨이브버퍼로 꼭 나누어야 하는지, 버퍼를 나누지 않고 한가지로만 즉, 미디데이터만 받을 것인지 웨이브데이터만 받아도 되는지를 즉, 미디나 웨이브 중 한가지로만 사용해도 되는지를 결정하고, 수신된 데이터가 특정시간 동안 없으니 슬립모드로 가도 되는지, 슬립모드에서 깨어나려면 어떤 조건을 주어야 하는지 등을 결정하는 중개자 역할을 한다.
버퍼어드레스발생회로(316)는 외부명령해석회로(314)에 의해서 결정된 데이터 출력속도나 내부 디지털신호처리기(DSP)에서 음을 만들 때 할당해야 할 내부 채널 중 몇 번째 채널로 할당 할 것인지 등을 결정하고 필요한 출력속도나 원하는 악기소리의 선택에 따라 외부버퍼의 어드레스를 결정한다.
미디명령해석회로(318)는 외부명령해석회로(314)(시퀀서)를 통하여 명령의 시작과 끝을 판독하여 시작을 알리는 명령이면 외부버퍼를 읽는다. 이때 버퍼의 내용에 따라 음악의 시작과 끝을 판단하고 시작일 경우에는 내부 디에스피(DSP) 기능부분에 적당한 채널을 할당하여 소리의 시작을 알리고 소리가 발생하는 도중에 소리의 혼변조가 필요할 때는 미디에서 지시하는 명령에 의하여 해당 채널의 변조회로에 정보를 전달해 준다.
미디명령전달회로(320)는 미디명령해석회로(314)가 미디명령을 해석해서 적당한 데이터를 소리발생부의 하나인 어드레스페이즈변조회로(322)에 전달할 때 해석된 명령에 따라 정해진 순서대로 필요한 정보를 써넣는 회로로서 크기, 주파수, 할당채널번호, 소리의 길이 등의 정보를 전달해 준다. 이때 하나의 명령의 전달이 아직 수행이 안 됐을 때 다음명령의 통제를 할 수 있는 통제회로가 그 기능을 해준다. 통제회로는 이전에 쓰여진 명령의 수행이 아직 이루어지지 않은 통제를 해야 할 조건이 발생되면 전체적으로 한 샘플링 싸이클을 기다렸다가 다음 명령을 수행 할 수 있도록 제작되었다.
어드레스 페이즈 변조회로(322)는 음색데이터메모리(402)와 음크기조절데이터메모리(423) , 음변조데이터메모리(406)를 관장하는 메모리의 어드레스를 만들어 주는 회로이고 , 데이터변조회로(326)는 디코더(410)와 어드레스페이즈발생부2(420), 음변조데이터메모리(406)에서 읽어 들인 데이터에 의해 음을 변조시키는 역할을 한다.
메모리 어드레스/데이터 액세스회로(324)는 어드레스 페이즈 변조회로(322)에 의해 정해진 어드레스를 독립된 채널들이 메모리를 읽고 쓰려고 할 때 충돌 나지 않도록 시간 분할을 적절히 하여 내부 데이터를 저장하고 있는 데이터메모리(328)와 외부에서 온 데이터를 저장하고 있는 미디버퍼(310), 웨이브버퍼(312)를 읽을 수 있도록 한다. 데이터메모리(328)는 음색데이터메모리(402), 음크기조절데이터메모리(423), 음변조데이터메모리(406) 등을 포함한다. 만일 세 가지의 데이터(음색, 크기조절, 음변조) 중 두개 이상이 동일한 싸이클에 동시에 읽으려고 할 때는 음색데이터메모리(402)에 최우선권을 주고 다음 두 가지(음크기, 음변조)의 우선권은 임의로 한다.
디지털 아날로그변환 출력회로(330,332)는 본 회로에서 최종적으로 출력되는 신호가 소리로 변환되기 위해서는 디지털을 아날로그로 변환하는 디지털아날로그컨버터로 데이터를 전송해 주어야 하기 때문에 디지털 아날로그 컨버터가 필요로 하는 신호형태로 변환해주는 역할을 한다.
도 3a는 본 발명의 미디인터페이스부중 구체적으로 미디정보를 감지하는 과정을 나타내는 흐름도이고, 도 3b는 본 발명의 외부 인터페이스 램메모리(버퍼메모리)에 데이터 쓰기 과정을 나타내는 흐름도이다.
시스템이 항상 동작중이 아니고 대부분의 시간을 준비상태로 있기 때문에 전원절약모드해제(S114) 부분에서 동작의 필요성이 있다는 신호를 외부에서 받으면 내부적으로 준비상태가 되어 있는지 점검하는 준비상태점검(S116)회로에서 여부를 판단하여 준비상태가 되어 있지 않으면 준비가 될 때까지 기다리고 준비가 되어 있다면 동작시작명령 전달부(S118)로 동작 시작명령을 전달한다.
동작이 시작되면 램메모리인 미디버퍼(310)와 웨이브버퍼(312)에 데이터를 쓰는 램메모리 데이터 쓰기(S120) 기능이 시작된다. 일단 외부로부터 램메모리에 데이터가 들어오면(S120) 미디와 웨이브가 혼합(S122) 되어 있는지 판단하여 혼합이 되어 있으면 내부에서 매신호마다 미디와 웨이브를 판별(S123) 할 수 있도록 미디/웨이브 판단회로(S124)를 이용하여 미디이면 미디버퍼에 쓰고(S126) 웨이브이면 웨이브버퍼에 쓴다(S125). 만일 미디와 웨이브가 혼합되지 않은 신호이면, 즉 분리된 신호이면 미디인지 웨이브인지 판별하는 회로(S127)에서 판별하여 미디이면 미디버퍼에 외부에서 직접 쓰도록 하고(S129) 웨이브이면 웨이브버퍼에 외부에서 직접 쓰도록(S128) 한다. 미디와 웨이브가 혼합되어 있건, 분리되어 있건 간에 두 경우 모두 데이터의 한 블록의 끝이 어디인지를 항상 판단하는 파일 끝 탐지회로(S132)에서 파일의 끝으로 판단되면 정지명령(S136)을 내부 음발생부에 전달한다. 끝이 아니면 외부버퍼(310,312)의 끝이 왔는지 판단(S134)해서 끝이면 다시 외부에 새로운 데이터(S130)를 요구하고 끝이 아니면 연속해서 외부버퍼(310,312)에 데이터를 쓴다.
도 4는 음발생부에 미디정보를 전달하는 과정을 구체적으로 나타내는 흐름도이다. 미디정보수신단은 버퍼에 있는 미디정보를 읽어서(S138) 외부에서 미디와 웨이브가 섞여서 들어오면 미디정보만 받아서 음발생부(S148) 와 음변조부(S150)를 이용해서 음의 발생과 변조를 할 수 있게 해준다. 온/오프 or 제어신호 판단회로(S140)는 들어온 미디 데이터중 온/오프신호가 들어왔을 경우는 음발생수단부(S144)에 전달하여 음발생을 하거나 음을 없애는데 사용하고 제어신호가 들어왔을 경우는 음변조수단부에 전달(S146)하여 진행되는 음의 변조가 가능하도록 해준다. 음변조(S150)부에서는 소리의 발생이 된 시점부터 미디정보 중 음변조 명령에 따라서 음의 높낮이, 음색의 변화 등을 가능케 한다.
도 5는 미디입력단에서 들어온 변환신호에 맞는 음을 발생하는 부분인 음 발생 수단부를 나타내는 구성도이다. 도 2의 어드레스 페이즈변조회로(322)는 음색데이터메모리(402)를 관장하는 어드레스페이즈 발생부1(400)과 음크기조절데이터메모리(423)를 관장하는 어드레스페이즈발생부2(420), 음변조데이터메모리(406)를 관장하는 어드레스페이즈발생부3(404), 미디를 재현하기 위해서 악기의 특정 파라미터를 저장하고 있는 음색데이터 메모리(423), 사용자가 시간에 따라 음의 크기를 변화시키고 싶을 때 이를 만족시키기 위한 음크기정보를 저장하고 있는 음크기조절데이터메모리(423), 저장된 음색을 재생할 때 음의 크기를 변화시키면서 원하는 음색을 다른 색깔로 변화시키고자 할 때 사용하는 음변조데이터 메모리(406), 음색파라미터를 저장하고 있는 음색데이터메모리(402)에서 나오는 정보가 때로는 압축정보가 될 수도 있고 그대로 사용될 수가 있다. 이때 압축된 데이터는 원상태로 복원을 해야하며 이를 복원하는 회로인 디코더(410)는 압축테이블메모리1(411) 과 압축테이블메모리2(412), 덧셈기(413), 출력지연기(414)로 구성되어져 있다. 압축테이블메모리1(411)은 원샘플에서 이전샘플값과 현재샘플값간의 차에 관한 정보가 저장되어 있고, 압축테이블메모리2(412)에는 원샘플정보와 1:1로 맵핑되는 정보가 들어있다. 출력지연기(414)는 복원된 정보를 한샘플 혹은 두샘플 지연시켜 압축테이블메모리1(411)에서 나온 정보와 덧셈기(413)를 이용하여 출력으로 내보낸다. 복원된 정보는 선택기(416)를 이용하여 사용자의 의도에 맞는 정보만 골라서 내보낸다. 선택기(416)는 압축테이블메모리1(411), 압축테이블메모리2(412)와는 별도로 음색데이터메모리(402)에서 출력된 정보를 그대로 외부로 보낼 수 있는 선택도 할 수 있다. 어드레스페이즈발생부2(420)는 기준어드레스(421)를 외부에서 받아서 음크기조절데이터메모리(423)에 들어있는 정보를 읽어 음크기연산기(424)를 통해서 계산된 음크기를 곱셈기1(408)에 보낸다. 이때 음크기조절데이터메모리(423)의 정보를 이용하여 어드레스패턴발생기(425)에서 다음에 필요한 어드레스를 계산한다. 여기서 계산된 어드레스는 기준어드레스1(421)과 함께 덧셈기(422)입력으로 들어가 덧셈을 한 후 이 덧셈기의 출력이 최종적인 음크기조절데이터메모리의 어드레스가 된다. 곱셈기1(408)은 디코더(410)의 출력과 어드레스페이즈발생부2(420)의 출력을 입력으로 받아 곱셈을 한 후 변조기(430)의 입력으로 보낸다. 변조기는 음변조데이터메모리(406)의 출력과 곱셈기1(408)의 출력을 입력으로 받아 연산을 한 후 최종 출력(432)으로 내보낸다. 음변조데이터메모리(406)는 어드레스페이즈발생부3(404)의 출력에 의해 어드레스가 결정되어 해당 어드레스에 맞는 데이터를 외부로 출력시킨다.
도 6은 본 발명의 음변조수단을 위한 어드레스페이즈발생부1(400)의 구조를 상세히 설명하기 위한 구성도이다.
미디에서 들어온 데이터가 소리를 온 시키는 정보이면 해당 기준 음에 맞는 음색의 어드레스가 결정되며 외부제어 키변수1,2,... 등에 의해서 음색데이터메모리(402)의 어드레스가 가변된다. 이때 외부제어 키변수기(442,443,444,...)에서 들어오는 변수는 음수가 될 수도 있고 양수가 될 수도 있다. 외부제어 키변수는 때로는 정현파의 형태로 변환될 수 있고, 1비트의 정보로 부호(양수 와 음수)를 변환시킨다. 정현파형태로 원하는 음의 구현이 어려울 때는 정현파의 절대치만을 사용해서 구현할 수도 있고, 톱니파나 거형파, 구형파 등도 사용할 수 있다. 이때 외부제어키변수는 웨이브쉐이퍼테이블메모리1,2,3,... 에 저장해서 사용한다. 제어키변수는 기준키온 어드레스(441)와 곱셈기(445,446,...)를 통해서 곱해지고 각각 곱셈기의 출력은 덧셈기(447)를 거쳐서 최종 음색데이터메모리(402)의 어드레스가 된다.
도 7은 본 발명의 음변조수단 즉, 음크기조절데이터메모리에 들어가는 어드레스를 결정하기 위한 어드레스페이즈2의 작용을 설명하기 위한 흐름도이다.
카운터1값 변경회로(S160)에서는 어드레스페이즈 발생부2(420)에서 시간에 따른 어드레스 변화를 위한 계수값들을 조절하는 기능을 하며 일정한 상수값1을 외부에서 받아 카운터1 이라는 변수에서 매 싸이클별로 상수1값에 해당하는 값을 더하거나 빼주는 역할을 한다. 이 결과를 카운터1이 0인지를 판단하는 회로(S162)에서 "0"이면 카운터2값 변경회로(S164)에서 또 다른 상수2값에 따라 카운터2의 값을 변경시킨다. 이때 다음 싸이클부터는 카운터1의 값이 "0"이 되었으므로 새로운 값의 카운터1의 값을 외부에서 갱신하여 사용할 수도 있고, 맨 처음 사용한 값을 반복해서 그대로 사용할 수도 있다. 만일 카운터1의 값이 "0"이 아니면 본 플로우를 마친다. 카운터1의 값이 "0"이 아닌 경우에 수행하여 변경된 카운터2의 값은 카운터2값이 "0"인지를 판단하는 회로(S168)에서 "0"이면 타이머1의 값을 또 다른 정해진 상수3값에 의해서 덧셈이나 뺄셈을 통하여 변경시킨다. 이때 변경된 타이머1의 값이 "0"이면 크기변경을 위한 파라미터어드레스를 변경(S176)하고 음크기조절데이터메모리에서 새로운 파라미터(상수2,타이머1-S178)를 읽어와 새로운 상수2와 타이머1을 새로이 갱신한다. 다음 싸이클부터는 새로이 갱신된 상수2와 타이머1을 사용한다. 카운터2값이 "0"을 판단하는 회로(S168)에서 만일 카운터2 값이 "0"이 아니면 카운터1값을 맨 처음 값으로 재 갱신한 후 본 플로우를 끝내고 다음싸이클에서 동일한 본플로우를 재 갱신된 카운터1값으로 다시 카운터1값 변경회로(S160)부터 수행한다. 타이머1이 "0"인지를 판단하는 회로(S174)에서 만일 타이머1의 값이"0"이 아니면 타이머1 값을 처음값으로 재 갱신 한 후 플로우를 끝내고 다음싸이클에서 동일한 본플로우를 카운터1값 변경(S166)회로부터 다시 수행한다.
도 8은 어드레스페이즈발생부3의 흐름도를 보인 것이다. 매 싸이클마다 음변조변수읽기(S200)를 수행하여 음변조데이터메모리(406)에서 변조를 하기 위한 변수를 읽는다. 변조정지 온 체크(S202)회로에서는 음변조메모리의 어드레스를 계속 변경시킬 것인가를 판단하여 계속 변경시킬 필요가 없는 경우는 본 플로우(도8)를 바로 끝내고 변조정지 온이 아닌 경우는 타이머2값 변경회로(S204)에 의해서 정해진 값에 따라 타이머2의 값을 변화시킨다. 변경된 타이머2값이 "0"인가를 판단하는 회로(S206)에서 타이머2값을 판단해서 만일 "0"이면 본 플로우(도8)를 끝내고 "0"이 아니면 타이머3의 값을 정해진 값에 따라 변화시킨다. 이후에 증가/감소를 판단하는 회로(S210)에서 증가해야 한다면 음변조데이터메모리 어드레스 증가회로(S212)에서 어드레스를 증가시키고 감소해야 한다면 음변조데이터메모리 어드레스감소회로(S214)에서 어드레스를 감소시킨다. 이런 증감회로(S212,S214)에 의해서 음변조데이터메모리어드레스를 갱신(S216)하고 타이머3값을 판단하는 회로(S218)에 의해서 현재의 타이머3값이 "0"인가를 판단하여 "0"이면 새로운 파라미터(타이머2값, 타이머3값)를 읽어서(S218)) 다음 싸이클부터는 새로이 갱신된 타이머2값과 타이머3값으로 본플로우(도 8)를 시작한다. 새로이 읽어 들인 정보 중에 변조정지를 할 것인지 안 할 것인지 하는 정보(S222)가 들어 있어 변조정지를 할 것이면 변조 정지온을 세팅(S224)하고 계속 변조를 할 것이면 바로 본 플로우(도8)를 끝낸다. 만일 타이머3값을 판단하는 회로(S218)에서 타이머3값이 "0"이 아니면 타이머2값을 원래(맨 처음) 타이머2값으로 재 갱신(S226)한 후 본 플로우(도8)를 끝낸다.
도 9는 음변조 수단을 위한 변조기를 보인 것이다. 입력단(500)에 들어오는 데이터는 곱셉기1(510)의 출력이 들어오며 입력[n](501)은 현싸이클 일 때의 곱셈기1(510)의 출력이고 입력[n-1](502)은 한싸이클 이전의 곱셈기1(510)의 출력이다. 입력[n-2](503)은 한싸이클 이전의 입력[n-1]을 가리킨다. 즉, 한싸이클이 끝나면 ... 입력[n-3]을 입력[n-2] 으로 갱신하고, 입력[n-2]는 입력[n-1]값으로 갱신, 입력[n-1]의 값은 입력[n]으로 갱신한다는 의미이다. 갱신된 값들은 다음싸이클에서 사용된다. 곱셈기조합회로(510)는 현재 입력[n] 과 이전 입력들[n-1] , [n-2] , [n-3] , ...]을 음변조데이터메모리에서 읽어 들인 변조지수와 곱셈기(611,612,614,614,615....)를 이용하여 곱한다. 각각의 곱해진 결과들은 덧셈기(540)의 입력으로 들어간다. 도9의 출력(550)인 출력[n]은 매 싸이클마다 새로이 만들어져 나오며 다음싸이클에서는 출력[n-1]로 되어 곱셈기군2(530)에서 곱셈기들의 입력값들로 쓰인다. 이때, 매 싸이클마다 출력[n](550)은 현싸이클 일때의 덧셈기(540)의 출력이고 출력[n-1](521)은 한싸이클 이전의 덧셈기1(510)의 출력이다. 출력[n-2](522)는 한싸이클 이전의 입력[n-1]을 가리킨다. 즉, 한싸이클이 끝나면 출력[n-3]을 출력[n-2] 으로 갱신하고, 출력[n-2]는 출력[n-1]값으로 갱신, 입력[n-1]의 값은 입력[n]으로 갱신한다는 의미이다. 갱신된 값들은 다음싸이클에서 사용된다. 곱셈기조합회로(510)는 현재 입력값[n] 과 이전 입력값들[n-1] , [n-2] , [n-3] , ...]을 음변조데이터메모리에서 읽어 들인 변조지수와 곱셈기(511,512,514,514,515....)를 이용하여 곱한다. 각각이 곱해진 결과들은 덧셈기(540)의 입력으로 들어간다. 출력값들[n-1] , [n-2] , [n-3] , . . . 과 곱해지는 변조지수 b1i , b2i , b3i , ... 등은 음변조데이터메모리(406)에서 출력된 계수값들이다. [도9]에서 나온 출력[n]이 상기 [도2]의 D/AC입력회로(330)의 입력으로 들어간다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상에서 설명한 바와 같이 본 발명의 미디와 웨이브 소리를 발생하는 비메모리 반도체 장치에 의하면 , 보통의 미디 상태에서는 음발생방식이 내부 메모리에 가지고 있는 음 관련 정보를 이용해서 원하는 음을 발생하며 미디에서 정해진 명령을 받아 음발생을 진행하면서 메모리어드레스페이즈 발생기를 이용하여 간단한 메모리 어드레스 변환으로 필요한 파라미터가 들어 있는 정확한 번지를 계산하여 필요한 음색관련 파라미터를 만든다. 저장된 음색관련 파라미터를 최적으로 사용하여 최소한의 메모리로 풍부한 음을 발생시킴으로 메모리를 최적으로 사용하면서 음발생 회로를 최소한으로 줄일 수 있고 내장된 음색으로 구현하기 어려운 음색은 외부에서 원음형태의 웨이브로 받아 외부에서 들어오는 명령에 따라 어떠한 소리도 구현 가능토록 하며 이때 외부 웨이브도 내부메모리에서 사용하는 메모리어드레스페이즈 발생기를 동시에 사용하여 미디와 동일한 효과를 얻을 수 있다.
도 1은 본 발명의 음발생장치의 전체적인 흐름을 설명하기 위한 흐름도이다.
도 2는 본 발명의 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스 페이즈 변조를 이용한 음발생장치의 전체적인 구성도이다.
도 3a는 본 발명의 미디인터페이스부중 구체적으로 미디정보를 감지하는 과정을 나타내는 흐름도이다.
도 3b는 본 발명의 외부 인터페이스 램메모리(버퍼메모리)에 데이터 쓰기 과정을 나타내는 흐름도이다.
도 4는 본 발명의 음발생부에 미디정보를 전달하는 과정을 구체적으로 나타내는 흐름도이다.
도 5는 본 발명에서 미디 입력단에서 들어온 변환신호에 맞는 음을 발생하는 부분인 음발생수단부를 상세히 나타내는 구성도이다.
도 6은 본 발명의 음변조수단을 위한 어드레스페이즈발생부1의 구조를 상세히 설명하기 위한 구성도이다.
도 7은 본 발명의 음변조수단을 위한 어드레스페이즈2의 작용을 설명하기 위한 흐름도이다.
도 8은 본 발명의 음변조수단을 위한 어드레스페이즈3의 작용을 설명하기 위한 흐름도이다.
도 9는 본 발명의 음변조수단을 위한 변조기를 나타낸 제어 블록도이다.
* 도면의 주요부분에 대한 부호의 설명 *
310: 미디버퍼 312: 웨이브버퍼
314: 외부명령해석회로 316: 어드레스발생회로
318: 미디명령해석회로 320: 미디명령 전달회로
322: 어드레스페이즈변조회로 324: 메모리 어드레스/데이터 액세스 회로
326: 데이터 변조회로 328: 데이터 메모리
330,332: 디지털 출력회로

Claims (8)

  1. 반도체 비메모리 장치를 통하여 소리를 재생하기 위한 장치에 있어서,
    외부장치와 정보를 교환하면서 내부에 미디정보와 웨이브정보를 전달해 주는 미디버퍼(310) 및 웨이브버퍼(312);
    외부에서 들어오는 명령이 정지명령인지 시작명령인지 판별해주며 명령의 순서에 따라 순차적으로 명령을 저장하고 내부 상태를 외부에 전달해주는 외부명령해석회로(314);
    외부와 정보를 교환하는 버퍼를 제어하기 위한 어드레스발생회로(316);
    외부에서 들어온 명령 중 미디에 관한 명령을 골라내서 내부에 필요한 채널넘버나 미디파라미터를 해석하는 미디명령해석회로(318);
    미디명령을 내부 디에스피(DSP)에 순차적으로 번호를 붙여서 전달하여 소리의 발생을 시작할 수 있도록 명령을 전달하는 미디명령 전달회로(320);
    미디명령을 전달받아 원하는 소리가 저장되어 있는 메모리를 읽기 위한 정확한 어드레스페이즈 변조회로(322);
    음색데이터, 음크기조절데이터, 음변조데이터를 하나의 메모리에 저장하기 위한 메모리 어드레스/데이터 액세스 회로(324);
    정해진 어드레스에 의해 읽혀진 데이터를 외부에서 오는 특정 명령에 따라 소리를 변조시킬 수 있는 데이터 변조회로(326);
    음색정보, 볼륨정보, 변조정보 등이 저장되어 있는 데이터메모리(328);
    상기데이터 변조회로(326)를 거쳐서 최종적으로 재생된 데이터를 외부로 출력시키는 디지털 출력회로(330)(332)를 포함하는 것을 특징으로 하는 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스 페이즈 변조를 이용한 음발생장치.
  2. 제 1항에 있어서, 상기 데이터메모리(328)는;
    미디와 웨이브 파일이 분리가 되어 있을 때는 두 가지 신호를 동시처리 가능하도록 메모리 영역을 분리하며, 상기 파일에서 미디나 웨이브 중 어느 하나의 파일만 사용할 때는 미디나 웨이브가 한 가지 형태로만 사용하여 외부장치의 능률을 최대한 보장하도록 하는 것을 특징으로 하는 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스 페이즈 변조를 이용한 음발생장치.
  3. 제 2항에 있어서,
    상기 미디신호와 웨이브신호가 하나의 파일로 섞여 있을 때는 미디와 웨이브 사이에 특정신호를 추가하여 내부에서 두 가지 신호를 구분하여 상기 미디버퍼(310)와 웨이브버퍼(312)에 따로 저장하고, 파일이 분리되어 있을 때에는 외부에서 내부의 분리되어 있는 상기 미디버퍼(310)와 웨이브버퍼(312)에 미디와 웨이브를 직접 쓰는 것을 특징으로 하는 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스 페이즈 변조를 이용한 음발생장치.
  4. 제 1항에 있어서, 상기 어드레스 페이즈 변조회로(322)는
    선택된 주파수에 따른 음색데이터가 들어있는 메모리의 어드레스 입력을 시간에 따른 변화가 있는 변수를 곱해서 크기를 변화시켜 음을 만들어 내면서 동시에 음색을 변화시키되, 상기의 음색변화를 위해 동일한 곱셈기와 덧셈기를 여러 개 중첩시켜 어드레스변화를 시간에 따라 줄 수 있는 구조로 구성되며, 상기 어드레스 변화를 시간에 따라 주기적으로 반복되게 하는 것을 특징으로 하는 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스 페이즈 변조를 이용한 음발생장치.
  5. 제 4항에 있어서,
    상기 어드레스 페이즈 변조회로(322)의 상기 메모리 어드레스 변화에 의해 생성된 출력을 입력으로 받아 특정 메모리에 있는 데이터값에 의해서 입력의 크기를 변화시키고, 특정메모리에 시간에 따라 변화시키는 크기의 양과, 시간 간격이 들어있으며, 상기 메모리 값에 따라 음량이 변하고, 상기 메모리에 있는 데이터를 읽어 들인 곱셈기의 결과에 따라 상기 음량이 변화하는 것을 특징으로 하는 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스 페이즈 변조를 이용한 음발생장치.
  6. 제 5항에 있어서,
    상기 음량이 변화된 음의 음색을 변화하고자 할 때 원하는 음변조 데이터가 들어있는 음변조 메모리의 어드레스가 원하는 음색에 따라 변화되되,
    이렇게 원하는 음색에 따라 변화되는 상기 음변조 메모리의 어드레스의 결정은 내부의 감산기와 덧셈기를 이용하고 덧셈이나 뺄셈을 하는데 순수하게 시간변수에 따라 덧셈과 뺄셈의 시간 간격과 양이 결정되도록 만들며,
    상기 원하는 음색에 따라 결정된 음변조 메모리의 어드레스가 음변조 데이터를 읽어 들이는데 사용되도록 하는 것을 특징으로 하는 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스 페이즈 변조를 이용한 음발생장치.
  7. 제 6항에 있어서,
    상기 결정된 음변조 데이터는 음량이 변화된 음의 음색을 입력으로 받아 음변조 메모리에서 읽어 들인 데이터를 곱셈기를 이용해서 곱셈과 덧셈을 반복하여 출력을 만들며, 음변조 데이터를 읽어 들이는데 사용된 어드레스는 현재 싸이클에서 사용된 후에 다음 싸이클에서 새로 들어온 입력과 조합을 하여 다음에 사용할 새로운 어드레스를 만드는데 사용되고, 메모리에서 읽어 덧셈과 곱셈을 반복하여 생성된 출력도 현재 싸이클에서 생성된 출력이 다음 싸이클에서 한 샘플 지연이 되어서 입력들과 덧셈기를 이용하여 최종출력이 되는 것을 특징으로 하는 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스 페이즈 변조를 이용한 음발생장치.
  8. 제 1항에 있어서, 상기 메모리 어드레스/데이터 액세스 회로(324)에 의하여 하나의 메모리에 저장된 상기 음색데이터, 음크기조절데이터, 음변조데이터를 읽어 낼 때 서로 혼용되지 않도록 각각의 어드레스/데이터의 시간분배를 적절히 하되, 동시에 읽으려고 할 때의 상기 데이터별로 우선권의 순서를 부여하는 것을 특징으로 하는 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스 페이즈 변조를 이용한 음발생장치.
KR10-2002-0082249A 2002-12-23 2002-12-23 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스페이즈 변조를 이용한 음발생장치 KR100481939B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0082249A KR100481939B1 (ko) 2002-12-23 2002-12-23 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스페이즈 변조를 이용한 음발생장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0082249A KR100481939B1 (ko) 2002-12-23 2002-12-23 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스페이즈 변조를 이용한 음발생장치

Publications (2)

Publication Number Publication Date
KR20040055837A KR20040055837A (ko) 2004-06-30
KR100481939B1 true KR100481939B1 (ko) 2005-04-14

Family

ID=37348276

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0082249A KR100481939B1 (ko) 2002-12-23 2002-12-23 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스페이즈 변조를 이용한 음발생장치

Country Status (1)

Country Link
KR (1) KR100481939B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102227110B1 (ko) * 2019-11-29 2021-03-12 (주) 아이티아이일렉트로닉스 엑셀레이터 변화량과 미디 및 웨이브를 이용한 자동차 가상 엔진음 생성장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102227110B1 (ko) * 2019-11-29 2021-03-12 (주) 아이티아이일렉트로닉스 엑셀레이터 변화량과 미디 및 웨이브를 이용한 자동차 가상 엔진음 생성장치

Also Published As

Publication number Publication date
KR20040055837A (ko) 2004-06-30

Similar Documents

Publication Publication Date Title
US20040011190A1 (en) Music data providing apparatus, music data reception apparatus and program
KR101166735B1 (ko) 악기 디지털 인터페이스 하드웨어 명령
JP2584185B2 (ja) オーディオ信号の発生方法及び装置
CN108630178B (zh) 乐音生成装置、乐音生成方法、记录介质及电子乐器
EP1011090B1 (en) Musical tone-generating method and musical tone-generating apparatus
CN108600917B (zh) 一种嵌入式多路音频管理系统及管理方法
KR101120968B1 (ko) 악기 디지털 인터페이스 하드웨어 명령 세트
KR100481939B1 (ko) 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스페이즈 변조를 이용한 음발생장치
JP2003255945A (ja) ミキシング装置及び楽音発生装置並びにミキシング用の大規模集積回路
KR102051542B1 (ko) 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치 및 방법
KR102227110B1 (ko) 엑셀레이터 변화량과 미디 및 웨이브를 이용한 자동차 가상 엔진음 생성장치
US20050056144A1 (en) Computer music input system, processing method and keyboard apparatus
JP2002252562A (ja) ディジタル信号処理装置及び方法
KR100775068B1 (ko) 무선통신을 이용한 전자제품의 콘텐츠 변환기능을 구현하는 비메모리장치
US5459279A (en) Electronic instrument for generating sounds based on the compressed waveform data stored beforehand
KR100734772B1 (ko) 교차신호와 어드레스페이즈변조 방식을 이용한미디웨이브/자동구간반복웨이브/속도 조절된웨이브/원음웨이브의 동시 구현이 가능한 다중음 동시발생 장치
US20060086238A1 (en) Apparatus and method for reproducing MIDI file
JP3246405B2 (ja) 楽音発生方法、楽音発生装置および楽音発生用プログラムを記録した記録媒体
Bert FPGA-based implementation of audio effects for ultralow-latency Networked Music Performance applications
JP3141789B2 (ja) コンピュータソフトウェアを用いた音源システム
JPH02124597A (ja) 複数チャンネルの信号圧縮方法
JP6851578B2 (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
US20060129388A1 (en) Apparatus and method for reproducing MIDI file
JP3027832B2 (ja) 楽音波形発生装置
KR100188145B1 (ko) 다이나믹 크로스 페이딩을 이용한 키 제어기

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: 20130111

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20131220

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150303

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee