KR102051542B1 - 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치 및 방법 - Google Patents

엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치 및 방법 Download PDF

Info

Publication number
KR102051542B1
KR102051542B1 KR1020190123862A KR20190123862A KR102051542B1 KR 102051542 B1 KR102051542 B1 KR 102051542B1 KR 1020190123862 A KR1020190123862 A KR 1020190123862A KR 20190123862 A KR20190123862 A KR 20190123862A KR 102051542 B1 KR102051542 B1 KR 102051542B1
Authority
KR
South Korea
Prior art keywords
sound
midi
engine sound
tone
memory
Prior art date
Application number
KR1020190123862A
Other languages
English (en)
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 KR1020190123862A priority Critical patent/KR102051542B1/ko
Application granted granted Critical
Publication of KR102051542B1 publication Critical patent/KR102051542B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q5/00Arrangement or adaptation of acoustic signal devices
    • B60Q5/005Arrangement or adaptation of acoustic signal devices automatically actuated
    • B60Q5/008Arrangement or adaptation of acoustic signal devices automatically actuated for signaling silent vehicles, e.g. for warning that a hybrid or electric vehicle is approaching
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q2300/00Indexing codes for automatically adjustable headlamps or automatically dimmable headlamps
    • B60Q2300/10Indexing codes relating to particular vehicle conditions
    • B60Q2300/11Linear movements of the vehicle
    • B60Q2300/114Vehicle acceleration or deceleration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q2300/00Indexing codes for automatically adjustable headlamps or automatically dimmable headlamps
    • B60Q2300/40Indexing codes relating to other road users or special conditions
    • B60Q2300/45Special conditions, e.g. pedestrians, road signs or potential dangers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2200/00Type of vehicle
    • B60Y2200/90Vehicles comprising electric prime movers
    • B60Y2200/91Electric vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2306/00Other features of vehicle sub-units
    • B60Y2306/11Noise generation, e.g. drive noise to warn pedestrians that an electric vehicle is approaching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2499/00Aspects covered by H04R or H04S not otherwise provided for in their subgroups
    • H04R2499/10General applications
    • H04R2499/13Acoustic transducers and sound field adaptation in vehicles

Landscapes

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

Abstract

본 발명은 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치 및 방법에 관한 것으로서, 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치는, 자동차의 주행 및 정차시 운전자가 작동하는 엑셀레이터의 변화량과 엔진 회전값(Depth)의 조절에 따른 가상 엔진음 발생 장치로서, 운전자의 요구에 엘셀레이터를 발로 누르거나 보행자 접근시 필요한 해당하는 엔진음 깊이값을 수신하여 내부톤인지 외부 톤인지를 판별하여 가상엔진음을 생성하라는 명령을 전달하는 제어부; 및 미리 편집된 엔진음 파라미터가 저장된 가상 엔진음 저장 메모리를 읽어서 적절한 엔진음을 발생시켜 스피커를 통하여 엔진음을 출력하는 가상엔진음 발생부를 포함하고, 깊이값은 가속장치의 변화량과 엔진회전량의 변화량, 및 갑작스런 물체의 출현으로 인한 엔진음의 변화가 필요한 변수를 포함하고, 가상엔진음 발생부는 엔진음이나 효과음을 미디 규정을 이용하여 미디신호의 순차적인 블록단위 전송과 외부 웨이브사운드(wave sound)의 블록단위전송에 의한 미디와 웨이브의 혼합처리를 하면서 엔진음 깊이 값에 따라 음색을 가변하는 것을 특징으로 한다.

Description

엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치 및 방법{Apparatus and method for generating virtual engine sound for virtual for car according to Accelerator depth variation}
본 발명은 엔진음원 생성에 관한 것으로서, 특히 전기자동차 또는 자율주행차의 주행 및 정차시 엑셀레이터의 변화량과 엔진 회전값(Depth)에 따라 엔진음 발생이 발생되는, 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치 및 방법에 관한 것이다.
최근, 반도체의 집적기술이 발달함에 따라 간단한 신호를 주고 받아 악기음을 구현하거나 구현된 음을 변조하는 것을 용이하게 하는 반도체 칩이 개발되었다. 이동전화나 전자악기, 오락기 등에서 배경음을 구현하기 위해서는 미디(MIDI, Musical Instrument Digital Interface) 기능을 탑재한 반도체나 미디 기능을 소프트웨어로 구현할 수 있는 프로세서가 필요하다. 종래에는 직렬이나 병렬로 미디 신호를 받아 메모리에 있는 음색 파라미터를 읽어 음을 재생하였다. 이렇게 하기 위해서는 미디 신호를 해석하여 처리하는 기능이 별도로 외부에 있어야 하고, 시간별로 단순 배경음을 처리할 때 음성을 분리해서 처리할 수가 없었다. 즉, 기존 미디 방식의 비메모리 반도체들은 단순히 미디 자체만 처리할 수 있었지 미디에 정의되지 않은 오디오 신호와 믹싱(혼합)은 할 수 없었다.
한편 미디 기능을 탑재한 기기 등은 미디용 비메모리 반도체와 별도로 중앙처리장치(CPU), 디지털 신호처리프로세서(DSP) 등을 내장하고 있으므로 제조원가가 높다, 따라서 일반 미디 반도체칩을 이용하여 미디와 미디가 아닌 오디오 신호를 동시에 구현할 수 있는 연구가 활발히 진행되고 있다.
외부에 연결된 기기가 특정한 소리를 내고자 할 때 사용자 요구를 받아들여 사용자 요구가 미디를 이용해서 충족될 수 있는지 아닌지를 판단하고, 미디정보를 내부 메모리에 있는 정보를 이용할 것인지 아니면 외부기기에 있는 메모리의 정보를 이용할 것인지를 판단한다. 이 과정에서 내부메모리에 있는 소리로도 충분한 소리를 구현할 수 있으면 외부에 특정정보를 요청하지 않는다. 그러나 내부 메모리에 있는 소리로 음을 구현할 수 없으면 외부음 정보를 받기 위해 만들어 놓은 외부메모리에 소리정보를 순차적으로 보내달라고 외부기기에 신호를 보낸다.
그런데 외부메모리와 내부메모리에 있는 소리가 정상적인 절차를 거쳐 원하는 소리로 재생이 될 경우에는 사용자가 원하면 특정한 음을 변조할 수 있는 음변조부를 통해 다양한 엔진음을 재생할 수 있다. 이 경우 엔진음을 최종적으로 외부에 출력하기 위해서는 외부인터페이스에 맞는 출력회로를 구성한다.
이러한 과정에서 엔진음을 미디를 이용하여 재생할 수 있으므로 외부장치의 소리 재생 정보는 매우 단조로울 수 있다. 이 때 특별한 조건에서만 외부메모리의 소리를 이용하여 소리를 재생할 수 있기 때문에 특별한 조건에서는 미디가 가지는 정보의 단조로움을 극복할 수 있다.
미디 자체가 가지는 정보량의 축소 특성은 외부메모리가 가질 수 없는 장점으로 내부, 외부메모리를 적절히 조화시켜 음을 재생할 때 최대의 효과를 얻을 수 있다. 그리고 미디가 재현하는 여러 가지 파라미터가 단순 소리의 재생을 뛰어 넘어 음을 변조할 수 있지만, 이를 외부 메모리와 동시에 구현할 수 없는 한계가 있다. 또한 내연 기관은 물론이고 기존의 전기 자동차는 생산 출하시에 내장된 엔진음을 바꿀 수 없고, 바꿀 의미도 없었지만, 4차산업 시대에는 소비자의 새로운 욕구로 내장된 엔진음 이외에 완전히 새로운 엔진음을 원할 수가 있다. 이 때에는 Mobile디바이스(Smart Phone)을 이용하여 새로운 음원을 다운로딩 받아 취향에 맞게 재생할 수 있는 방안이 필요하다.
본 발명이 해결하고자 하는 과제는 상술한 문제점을 해결하기 위한 것으로, 전기로 구동되는 이동장치의 주행 및 정차 시 운전자에 의해 작동되는 엑셀레이터의 변화량과 엔진 회전 값(Depth) 조절에 따른 음 발생을 위하여 미디 장치에서 만드는 음원과 동시에 외부 웨이브를 어드레스 페이즈 발생부와 음색 데이타 메모리, 음 변조 데이타 메모리, 음 크기 데이타 메모리를 이용하여, 메모리를 최적으로 이용하고 미디에서 정해진 악기음과 외부웨이브를 동시에 직접적으로 처리하는 회로를 개발하여 미디의 기능을 향상시키고 미디와 외부 웨이브를 혼합하여 동시에 청취할 수 있는, 엑셀레이터의 압력에 따라 가변적으로 발생되는 자율주행 차나 전기 동력차 등의 자동차 가상 엔진음 생성장치 및 방법을 제공하는 것이다.
또한 본 발명은 전기로 구동되는 이동장치의 주행 및 정차시 운전자가 작동하는 엑셀레이터의 변화량과 엔진 회전값(Depth)에 따른 가상엔진음을 발생하고 미디 신호의 순차적인 블럭 단위 전송과 메모리 어드레스 페이즈변조를 이용한 소리 발생방식에 관하여 반도체 비메모리 장치로 구현가능한, 엑셀레이터의 압력에 따라 가변적으로 발생되는 자율주행 차나 전기 동력차 등의 자동차 가상 엔진음 생성장치 및 방법을 제공하는 것이다.
상술한 기술적 과제를 해결하기 위한 본 발명에 따른 엑셀레이터의 압력에 따라 가변적으로 발생되는 자율주행 차나 전기 동력차 등의 자동차 가상 엔진음 생성장치는, 자동차의 주행 및 정차시 운전자가 작동하는 엑셀레이터의 변화량과 엔진 회전값(Depth)의 조절에 따른 가상 엔진음 발생 장치로서,
상기 운전자의 요구에 엘셀레이터를 발로 누르거나 보행자 접근시 필요한 해당하는 엔진음 깊이값을 수신하여 내부톤인지 외부 톤인지를 판별하여 가상엔진음을 생성하라는 명령을 전달하는 마이크로 프로세서; 및 미리 편집된 엔진음 파라미터가 저장된 가상 엔진음 저장 메모리를 읽어서 적절한 엔진음을 발생시켜 스피커를 통하여 엔진음을 출력하는 가상엔진음 발생부를 포함하고, 상기 깊이값은 가속장치의 변화량과 엔진회전량의 변화량, 및 갑작스런 물체의 출현으로 인한 엔진음의 변화가 필요한 변수를 포함하고, 가상엔진음 발생부는 엔진음이나 효과음을 미디 규정을 이용하여 미디신호의 순차적인 블록단위 전송과 외부 웨이브사운드(wave sound)의 블록단위전송에 의한 미디와 웨이브의 혼합처리를 하면서 엔진음 깊이 값에 따라 음색을 가변하는 것을 특징으로 한다.
본 발명에 따른 엑셀레이터의 압력에 따라 가변적으로 발생되는 자율주행 차나 전기 동력차 등의 자동차 가상 엔진음 생성장치는, 엔진음을 웨이브 파일을 이용하여 만들 때 미디 파라미터와 동일한 특성을 갖는 웨이브용 파라미터를 사용하여 미디음과 웨이브음을 혼합 하기 쉽게 파일을 만드는 수단; 및 엑셀레이터의 가변시나 보행자의 과도한 접근시 안전을 위해 엔진음 깊이 값의 변화량을 읽어 테이블 형태로 미리 정해놓은 파라미터를 음 발생장치에 전달하기 위한 수단을 포함할 수 있다. 본 발명에 따른 엑셀레이터의 압력에 따라 가변적으로 발생되는 자율주행 차나 전기 동력차 등의 자동차 가상 엔진음 생성장치는, 상기 파일에서 미디나 웨이브 중 하나의 파일만 사용할 때는 미디나 웨이브가 한 가지 형태로만 사용 가능토록 하여 외부장치의 능률을 보장하는 인터페이스 수단; 및 하나의 메모리로 미디와 웨이브 파일이 분리가 되어 있을 때는 두 가지 신호를 동시처리 가능하도록 메모리를 분리할 수 있는 수단을 구비하고, 상기 메모리 분리수단은 미디신호와 웨이브신호가 하나의 파일로 섞여 있을 때는 미디와 웨이브 사이에 특정신호를 추가하여 내부에서 두 가지 신호를 구분하여 내부버퍼에 미디와 웨이브를 따로 저장하고, 파일이 분리되어 있을 때는 외부에서 내부의 분리되어 있는 버퍼에 미디와 웨이브를 직접 쓰게 하는 것을 특징으로 한다.
상기 가상엔진음 발생부는 원하는 톤을 만들기 위해서 선택된 주파수 변수에 따른 음색데이타가 들어있는 메모리의 어드레스 입력을 시간에 따른 변화를 만들 수 있는 어드레스변수를 곱해서 크기를 변화시켜 음을 만들어 내면서 음색을 변화시키는 음색변조부; 및 상기의 음색변화를 위해 동일한 곱셈기와 덧셈기를 여러 개 중첩시켜 어드레스변화를 시간에 따라 실시간으로 생성하며, 계산량을 줄이기 위해 상기 어드레스 변화를 시간에 따라 주기적으로 반복하는 어드레스 변조부를 포함하고, 상기 음색변조부와 어드레스 변조부에 의한 출력을 입력으로 받아 특정 메모리에 있는 데이터 값에 의해서 입력의 크기를 변화시키고, 특정 메모리에 시간에 따라 변화시키는 크기의 양과 시간 간격이 들어있고, 상기 메모리 값에 따라 음량이 변하고, 상기 최종적인 음량의 변화가 곱셈기에 의해서 변화되고, 음량이 변화된 음의 음색을 변화하고자 할 때 사용된 음변조 데이타가 들어있는 음변조 메모리의 어드레스가 특정음색에 따라 변화되고, 수정 어드레스의 결정은 내부의 감산기와 덧셈기를 이용하고 덧셈이나 뺄셈을 하는데 순수하게 시간변수에 따라 덧셈과 뺄셈의 시간 간격과 양이 결정되고 상기 결정된 음변조메모리의 어드레스가 음변조 데이타를 읽어 들이는데 사용되고, 결정된 음변조 데이타의 사용방법은 출력을 입력으로 받아 음변조 메모리에서 읽어 들인 데이타를 곱셈기를 이용해서 곱셈과 덧셈을 반복하여 출력을 만들고, 상기 입력은 출력을 만드는데 사용된 후에 다음 싸이클에서 새로 들어온 입력과 조합을 하여 출력을 만드는데 사용되고, 상기 출력도 현재 싸이클에서 생성된 출력이 다음 싸이클에서 한 샘플 지연이 되서 입력들과 덧셈기를 이용하여 최종출력을 만들고, 상기 모든 입출력 데이타는 음변조 메모리에서 읽은 데이타값과 곱셈기를 이용하여 결합이 돼서 곱셈기의 최종결과가 모두 합산이 되어 최종 출력이 되는 것을 특징으로 한다.
또한 상기 가상엔진음 발생부는 사용자가 설정한 깊이 값을 정해진 주기에 맞춰 읽어서 미디&깊이값 해석부에 전달해주는 엔진음 깊이값 전송부; 외부장치와 정보를 교환하면서 내부에 미디정보를 전달하는 미디버퍼; 외부장치와 정보를 교환하면서 내부에 효과음용 웨이브 정보를 전달하는 웨이브버퍼; 외부에서 들어오는 명령이 일반 음에 관한 것인지, 깊이값에 관한 것인지, 정지명령인지 시작명령인지를 판별하며 명령의 순서에 따라 순차적으로 명령을 저장하고 내부 상태를 외부에 전달하는 외부명령수신부; 외부와 정보를 교환하는 버퍼의 상태를 제어하고 버퍼의 크기를 최소화하기 위한 버퍼어드레스생성기; 외부에서 들어온 명령 중 미디에 관한 명령을 골라내서 내부에 필요한 채널넘버나 미디 파라미터를 해석하거나, 깊이 제어에 관한 명령을 분리하여 미디 파라미터(MIDI Parameter)와 분리하는 미디&깊이값 해석부; 미디명령과 사운드에 관한 명령을 내부 디에스피(DSP)에 각 채널에 해당하는 변수를 분리하며 순차적으로 번호를 붙여서 전달하여 소리의 발생을 채널별 간섭이 없이 시작할 수 있도록 명령을 전달하는 가상엔진음 매핑부; 미디명령과 깊이값 명령을 전달받아 원하는 소리가 저장되어 있는 메모리의 매 사이클에 따른 위치 데이타를 읽는 메모리 어드레스 재생성부; 음색데이타, 음크기조절데이타,음변조데이타, 깊이값 파라미터를 하나의 메모리에 저장하기 위한 음저장 메모리 어드레스/외부데이터 액세스부; 매 사이클 마다 정해진 어드레스에 의해 읽혀진 데이타를 상기 미디&깊이 값 해석부에서 오는 특정 명령에 따라 소리를 변조시키는 음 변조부; 음색데이타, 음크기조절데이타, 음변조데이타, 엔진음 깊이 파라미터, 음변조정보가 저장되어 있는 음저장 메모리; 음저장메모리의 데이터를 원하는 피치로 생성하는 음 인터폴레이터; 및 최종적으로 재생된 데이터를 외부로 출력시키는 디지털 출력부를 포함할 수 있다.
상기 가상엔진음 발생부는 음색메모리의 최소화와 복원시 최소한의 회로나 계산량을 사용하기 위하여 인코더를 이용하여 압축되어 저장된 음색데이타를 웨이브 형태로 복원하는 디코더부를 더 포함하고, 상기 음 인터폴레이터는 상기 디코딩된 음저장메모리의 데이터를 원하는 피치로 생성하는 것을 특징으로 한다.
상술한 기술적 과제를 해결하기 위한 본 발명에 따른 엑셀레이터의 압력에 따라 가변적으로 발생되는 자율주행 차나 전기 동력차 등의 자동차 가상 엔진음 생성방법은, 액셀레이터의 변화량과 엔진회전량의 변화량 및 갑작스런 물체의 출현으로 인한 자동차 엔진음의 변화가 필요한 변수를 포함하는 깊이값을 획득하는 단계; 내부에 저장된 내부톤을 의미하는 미디신호와 특수 효과용 외부톤을 의미하는 웨이브 인지를 판별하는 단계; 원래의 미디와 깊이값을 혼합하여 새로운 음을 생성하기 위한 미디 파라미터를 생성하는 단계; 외부음을 사용하는 웨이브이면 압축이 되었는지 순수한 비압축음인지를 판별하여 외부음을 저장 및 처리하고, 미디신호이면 내부메모리에 저장된 내부음으로 처리하는 단계; 가상 엔진음 생성과 합성을 통해 생성된 가상엔진음을 변조하고 음 높이를 조절하여 가상 엔진음을 출력하는 단계를 포함한다.
본 발명에 따른 엑셀레이터의 압력에 따라 가변적으로 발생되는 자율주행 차나 전기 동력차 등의 자동차 가상 엔진음 생성장치 및 방법에 의하면, 전기로 구동되는 이동장치의 주행 및 정차시 운전자가 작동하는 엑셀레이터의 변화량과 엔진 회전값(Depth value)의 조절에 따라 미리 설정된 미디형태로 저장된 음과 웨이브 형태의 가상의 엔진음을 구현할 수 있다.
보통의 미디 상태에서는 음발생 방식이 내부 메모리에 가지고 있는 음 관련 정보를 이용해서 원하는 음을 발생하며 미디에서 정해진 명령에 의해 음 발생을 진행하면서 메모리 어드레스 페이즈 발생기를 이용하여 간단한 메모리 어드레스 변환으로 필요한 파라미터가 들어 있는 정확한 번지를 생성하여 필요한 음색관련 파라미터를 만든다. 저장된 음색관련 파라미타를 최적으로 사용하기 위하여 샘플링 음원데이타의 인접 간의 차를 저장한 압축테이블을 이용한 최소한의 메모리로 풍부한 음을 발생시킴으로 음발생 회로를 최소한으로 줄일 수 있고 내장된 음색으로 구현하기 불가능한 음색은 외부에서 원음 형태의 웨이브로 받아 사용자의 의도를 만족하는 엔진음의 깊이 정보 명령에 따라 원하는 소리의 구현이 가능하도록 하며 이때 외부 웨이브도 내부메모리에서 사용하는 메모리어드레스페이즈 발생기와 정보량 축소를 위한 압축테이블을 공동으로 사용하여 회로를 최소화 하며 미디와 동일한 효과를 얻을 수 있다.
도 1은 본 발명에 따른 자동차 가상엔진음 발생장치의 일실시예를 개념적으로 설명하는 전체적인 흐름과 새로운 가상엔진음을 모바일 단말을 통해서 다운로딩 받는 서비스 과정을 설명하는 개념도를 나타낸 것이다.
도 2는 본 발명의 일실시예에 따른 자동차 가상엔진음 발생장치의 모델을 블록도로 나타낸 것이다.
도 3은 본 발명에 따른 자동차 가상엔진음 발생을 흐름도로 나타낸 것이다.
도 4는 본 발명에 따른, 미디정보의 블록단위 전송과 메모리 어드레스 페이즈 모듈레이션을 이용한 자동차 가상 엔진음 발생장치의 구성을 블록도로 나타낸 것이다.
도 5 는 본 발명에 따른 자동차의 가상엔진음 발생장치에서의 가상엔진음 생성을 흐름도로 나타낸 것이다.
도 6은 본 발명에 따른 자동차의 가상엔진음 발생장치에서 미리 정의된 미디 정보와 랜덤한 새로운 웨이브 정보를 버퍼에 기록하는 것을 흐름도로 나타낸 것이다.
도 7은 본 발명에 따른 자동차의 가상엔진음 발생장치에서 깊이값에 따른 가상엔진음을 생성하기 위한 미디정보 전달을 흐름도로 나타내 것이다.
도 8은 본 발명에 따른 자동차의 가상엔진음 발생장치에서 소리를 만들기 위한 모든 파라미터가 함축된 정보를 받아 가상엔진음을 생성하는 구성을 블록도로 나타낸 것이다.
도 9은 본 발명에 따른 자동차의 가상엔진음 발생장치의 메모리 어드레스 페이즈 생성기 1의 구성을 블록도로 나타낸 것이다.
도 10는 본 발명에 따른 자동차의 가상엔진음 발생장치의 메모리 어드레스 페이즈 생성기 2의 구성을 블록도로 나타낸 것이다.
도 11은 본 발명에 따른 자동차의 가상엔진음 발생장치의 메모리 어드레스 페이즈 생성기 3의 구성을 블록도로 나타낸 것이다.
도 12는 입력된 엔진음에 속도변환을 주기 위한 전단계로서 교차신호변조음을 만들어 놓기 위한 구성도이다.
도 13은 음변조 수단을 위한 변조기(Modulator flow diagram for sound modulation)를 보인 것이다.
도 14는 사용자가 설정하는 엔진 깊이 값 에 따라 엔진음 발생장치의 입출력(input/output)이 변화되는 전체적 구성을 블록도로 나타낸 것이다.
이하, 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원 시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1은 본 발명에 따른 자동차 가상엔진음 발생장치의 일실시예를 개념적으로 설명하는 전체적인 흐름과 새로운 가상엔진음을 모바일 단말을 통해서 다운로딩 받는 서비스 과정을 설명하는 개념도를 나타낸 것이다. 본 발명에 따른 자동차 가상엔진음 발생장치는 전기로 구동되는 이동장치의 주행 및 정차시 운전자가 작동하는 엑셀레이터의 변화량과 엔진 회전값(엔진음 depth)의 조절에 따라 자동차 가상엔진음을 발생한다.
도 1을 참조하면, 보행자(110)의 안전을 위해 자동차에 내장된 가상 엔진음 합성 IC(120)에서 생성된 가상 엔진음을 전기앰프(130)와 스피커(140)를 통해 외부로 출력시킨다. 이때 외부로 가상엔진음을 출력시키기 위해서는 운전자가 엑셀레이터의 가속페달(150)을 발로 밟으면 페달암(160)과 스프링(170), 가속엔진 전달 링(180)을 이용하여 센서에 전달되면 센서는 누르는 양만큼 엔진 깊이 값을 엔진음 발생부에 전달한다. 자율주행 차량에서는 보행자(110)를 인식하여 보행자에게 차량의 접근을 알리기 위해서 보행자의 접근을 자동 인식하는 보행자 접근인식센서(190)를 통해 적절한 엔진음을 재생하기 위한 깊이 값을 엔진음 발생부에 전달한다. 그리고 모바일단말기(115)를 통해 새로운 가상엔진음을 자율주행차량으로 전달할 수도 있다.
도 2는 본 발명의 일실시예에 따른 자동차 가상엔진음 발생장치를 블록도로 나타낸 것이다. 도 2를 참조하면, 운전자의 요구에 엘셀레이터를 발로 누르거나 보행자 접근시 필요한 해당하는 엔진음 깊이값(Depth Value)를 제어부 예를 들어 마이크로 프로세서(210)가 전달 받으면 내부톤인지 외부 톤인지를 판별하여 가상엔진음 발생 IC(220)에 음을 생성하라는 명령을 전달한다. 이 명령을 전달받은 가상 엔진 음 발생 IC(220)는 엔진음의 편집장치(230)를 통해 편집된 엔진음 파라미터가 미리 저장되어있는 가상엔진음 저장 메모리(240)를 읽어서 적절한 엔진음을 발생시켜 스피커(250)를 통하여 엔진음을 출력시킨다.
가상엔진음 발생 IC는 엔진음이나 효과음을 미디 규정을 이용하여 미디신호의 순차적인 블록단위 전송과 외부 웨이브사운드(wave sound)의 블록단위전송에 의한 미디와 웨이브의 혼합처리를 하면서 엔진음 깊이 값에 따라 음색을 가변할 수 있다.
이 때, 본 발명에 따른 자동차 가상엔진음 발생장치는 엔진음을 웨이브 파일을 이용하여 만들 때 미디 파라미터와 동일한 특성을 갖는 웨이브용 파라미터를 사용하여 미디음과 웨이브음을 혼합 하기 쉽게 파일을 만드는 미디음&웨이브음 혼합부와 엑셀레이터의 가변시나 보행자의 과도한 접근시 안전을 위해 엔진음 깊이 값의 변화량을 읽어 테이블 형태로 미리 정해놓은 파라미터를 음 발생장치에 전달하기 파라미터 전송부를 포함할 수 있다.
그리고, 상기 파일에서 미디나 웨이브 중 하나의 파일만 사용할 때는 미디나 웨이브가 한 가지 형태로만 사용 가능토록 하여 외부장치의 능률을 보장하는 인터페이스부 및 하나의 메모리로 미디와 웨이브 파일이 분리가 되어 있을 때는 두 가지 신호를 동시처리 가능하도록 메모리를 분리할 수 메모리분리부를 포함할 수 있다. 상기 메모리 분리부는 미디신호와 웨이브신호가 하나의 파일로 섞여 있을 때는 미디와 웨이브 사이에 특정신호를 추가하여 내부에서 두 가지 신호를 구분하여 내부버퍼에 미디와 웨이브를 따로 저장하고, 파일이 분리되어 있을 때는 외부에서 내부의 분리되어 있는 버퍼에 미디와 웨이브를 직접 쓰게 할 수 있다.
상기 가상엔진음 발생 IC는 원하는 톤을 만들기 위해서 선택된 주파수 변수에 따른 음색데이타가 들어있는 메모리의 어드레스 입력을 시간에 따른 변화를 만들 수 있는 어드레스변수를 곱해서 크기를 변화시켜 음을 만들어 내면서 음색을 변화시키는 음색변조부; 및 상기의 음색변화를 위해 동일한 곱셈기와 덧셈기를 여러 개 중첩시켜 어드레스변화를 시간에 따라 실시간으로 생성하며, 계산량을 줄이기 위해 상기 어드레스 변화를 시간에 따라 주기적으로 반복하는 어드레스 변조부를 포함하고, 상기 음색변조부와 어드레스 변조부에 의한 출력을 입력으로 받아 특정 메모리에 있는 데이터 값에 의해서 입력의 크기를 변화시키고, 특정 메모리에 시간에 따라 변화시키는 크기의 양과 시간 간격이 들어있고, 상기 메모리 값에 따라 음량이 변하고, 상기 최종적인 음량의 변화가 곱셈기에 의해서 변화되고, 음량이 변화된 음의 음색을 변화하고자 할 때 사용된 음변조 데이타가 들어있는 음변조 메모리의 어드레스가 특정음색에 따라 변화되고, 수정 어드레스의 결정은 내부의 감산기와 덧셈기를 이용하고 덧셈이나 뺄셈을 하는데 순수하게 시간변수에 따라 덧셈과 뺄셈의 시간 간격과 양이 결정되고 상기 결정된 음변조메모리의 어드레스가 음변조 데이타를 읽어 들이는데 사용되고, 결정된 음변조 데이타의 사용방법은 출력을 입력으로 받아 음변조 메모리에서 읽어 들인 데이타를 곱셈기를 이용해서 곱셈과 덧셈을 반복하여 출력을 만들고, 상기 입력은 출력을 만드는데 사용된 후에 다음 싸이클에서 새로 들어온 입력과 조합을 하여 출력을 만드는데 사용되고, 상기 출력도 현재 싸이클에서 생성된 출력이 다음 싸이클에서 한 샘플 지연이 되서 입력들과 덧셈기를 이용하여 최종출력을 만들고, 상기 모든 입출력 데이타는 음변조 메모리에서 읽은 데이타값과 곱셈기를 이용하여 결합이 돼서 곱셈기의 최종결과가 모두 합산이 되어 최종 출력될 수 있다.
상기 덧셈기 입력을 만들기 위한, 현재 싸이클에서 읽어들인(입력된) 데이터를 테이블의 어드레스 입력으로 받아 출력된 데이타를 모든 웨이브가 공동으로 사용하기 위한 테이블 데이터 생성 수단 및 상기 테이블 출력을 덧셈기 입력으로 보내기 위한 회로를 구비할 수 있고, 상기 테이블을 한 가지 종류만으로 구성하기 위한 테이블 출력 데이터 조정 파라미터를 추출하고 적용할 수 있다.
상술한 음 저장 메모리, 음 크기 제어 데이타메모리, 음변조데이타메모리를 한 개의 메모리에 저장하고 읽어 낼 때 각각의 어드레스/데이타의 시간분배를 적절히 하여 서로 혼용되지 않게 하며, 동시에 읽으려고 할 때의 음색데이타(음 저장 메모리)에 최우선권의 순서를 부여할 수 있다. 그리고 상술한 기능을 내부 메모리의 음색데이타이건 외부기기에서 받는 웨이브 데이터이건 관계없이 모든 채널에 동일하게 모든 플로우를 공통으로 이용하여 최소한의 회로와 최소한의 계산량으로 처리할 수 있다. 또한 상술한 엔진음 깊이 값의 변화에 따른 적절한 음 변조 파라미터를 테이블 형태로 저장하여 프로세서의 계산량을 최소화한다.
그리고 상술된 기본 음색데이타가 전기차의 출하시 기본 내장된 메모리에 없을 때는 모바일기기를 이용하여 웹사이트에서 다운로드 받아 새로운 엔진음으로 사용할 수 있으며, 미디 관련 툴(tool)을 이용한 미디 포맷에 호환하는 엔진 음 편집방법과 동일한 편리한 엔진 음 제작 수단을 제공할 수 있다.
도 3은 본 발명에 따른 자동차의 가상엔진음 발생장치 및 방법의 일실시예에 따른 엔진음을 생성하기 위한 전체적인 흐름도이다. 여기서 깊이값은 가속장치의 변화량과 엔진회전량의 변화량, 그리고 갑작스런 물체의 출현 등 음의 변화가 필요한 변수를 모두 합산한 것이다. 상기 깊이값은 실질적으로 IC 에 전달되는 엔진음 발생에 필요한 값이다.
운전자나 센서를 통한 요구에 의해서 전기로 구동되는 이동장치의 엔진음 깊이값(Depth Value)을 전달 받으면(S310 단계), 내부에 저장된 내부톤을 의미하는 미디신호와 특수 효과용 외부톤을 의미하는 웨이브 인지를 판별한다.(S320 단계) 원래의 미디와 깊이값을 혼합하여 음 생성을 위한 미디 파라미터를 생성한다.(S330 단계) 외부음을 사용하는 웨이브이면 압축이 되었는지 순수한 비압축음인지를 또다시 판별하여 외부음을 저장 및 처리하고(S340단계), 미디신호이면 내부메모리에 저장된 내부음으로 처리한다.(S350단계) 음 생성과 합성을 통해 음을 발생하고(S360단계), 발생된 음을 변조하고 음 높이를 조절 한 후(S370단계) 엔진음을 출력한다.(S380단계) 여기서, 깊이값을 읽은 후(S310단계) 외부음 처리(S340단계)와 내부음 처리(S350단계) 및 음성생과 합성(S360단계)과 음변조와 음높이 조절(S370단계) 할 때 깊이값이 ON/OFF 될 수 있다.(S315단계)
도 4는 본 발명에 따른, 미디정보의 블록단위 전송과 메모리 어드레스 페이즈 모듈레이션을 이용한 자동차 가상 엔진음 발생장치의 구성을 블록도로 나타낸 것이다. 엔진음 깊이값 전달부(410)는 엔진음 깊이값을 정해진 주기에 맞춰 읽어서 미디&깊이값 해석부(415)에 전달한다. 미디버퍼(420)는 엔진 구동시 엔진음 깊이에 해당하는 사운드(Sound)를 만들기 위해서 외부에서 미디 데이타를 받아 임시로 저장한다. 웨이브버퍼(425)는 엔진 구동시 엔진음 깊이에 해당하는 사운드(Sound)를 만들기 위해서 외부에서 효과음용 웨이브 데이타를 받아 임시로 저장한다.
외부명령 수신부(External command receiver, 430)는 외부에서 들어온 명령 중 미디에 관한 명령을 골라내서 내부에 필요한 채널넘버(개별 화음을 구분하기 위한 통로)나 미디파라미타를 해석하거나, 엔진음 depth 제어에 관한 명령을 분리하여 미디 파라미터와 분리한다. 외부명령 수신부(430)는 외부 호스트에서 써주는 데이타가 언제 시작되는지, 언제 끝나는지, 버퍼메모리를 미디버퍼(420)와 웨이브버퍼(425)로 꼭 나누어야 하는지, 버퍼를 나누지 않고 한가지로만 즉, 미디 데이터만 받을 것인지 웨이브 데이터만 받아도 되는지를 즉, 미디나 웨이브 중 한가지로만 사용해도 되는지를 결정하고, 수신된 데이타가 특정시간 동안 없으니 슬립모드로 가도 되는지, 슬립모드에서 깨어나려면 어떤 조건을 주어야 하는지, 사용자가 설정한 엔진음 깊이값에 맞는 미디 파라미터를 어떻게 조절해야 하는지 등을 결정하는 중개자 역할을 한다.
버퍼어드레스생성기(Buffer address generator, 435)는 외부명령 수신부(430)에 의해서 결정된 데이터 출력속도나 내부 디지털신호처리기(DSP)에서 음을 만들 때 할당해야 할 내부 채널 중 몇 번째 채널로 할당 할 것인지 등을 결정하고 필요한 출력속도나 원하는 악기소리의 선택에 따라 외부버퍼의 어드레스를 결정한다. 버퍼어드레스생성기(435)는 외부와 정보를 교환하는 버퍼의 상태를 제어하고 버퍼의 크기를 최소화한다.
미디&깊이값 해석부(MIDI & depth command interpretation unit, 415)는 외부명령수신회로(430)(씨퀀서)를 통하여 명령의 시작과 끝을 판독하여 시작을 알리는 명령이면 외부버퍼를 읽는다. 이 때 버퍼의 내용에 따라 음악의 시작과 끝을 판단하고, 시작일 경우에는 내부 디에스피(DSP)에 비어있는 적당한 채널을 할당하여 소리의 시작을 알리고, 소리가 발생하는 도중에 소리의 크기 변화나 피치 변화, 필터 계수 가변 등의 변조가 필요할 때는 미디에서 지시하는 명령에 의하여 해당 채널의 변조회로에 정보를 전달한다. 이 때 엔진음 깊이값에 따라 크기 변화, 피치 변화, 필터계수 가변 등을 미리 정해 놓은 엔진음 깊이 테이블(depth table)에 따라 적절히 수정(update)해 주며 웨이브 신호가 온(ON) 되었을 때는 웨이브 신호용 채널을 별도로 할당하여 미디 신호와 분리하여 처리한 후 채널 전체의 출력을 합(addition)한다.
가상 엔진음 매핑부(virtual Engine sound Mapper, 440)는 외부명령수신부(430)가 미디명령과 엔진음 깊이값 유무를 해석해서 적당한 데이터를 소리발생부의 하나인 메모리 어드레스 재생성부(445)에 전달할 때 해석된 명령에 따라 정해진 순서대로 필요한 정보를 써넣는 회로로서, 크기, 주파수, 할당채널번호, 소리의 길이 등의 정보를 전달한다. 이 때 이전 명령이 아직 수행되지 않았을 경우 다음 명령의 통제를 할 수 있는 통제회로가 필요하다. 통제회로는 이전에 받아들여진 명령의 수행이 아직 완성이 안됐을 때 통제조건이 발생되면 전체적으로 한 샘플링 싸이클을 기다렸다가 다음 명령을 수행 할 수 있도록 한다.
음 저장 메모리(465)는 음색저장메모리, 음크기제어데이타메모리, 음변조데이터메모리 등을 포함한다. 만일 세 가지의 데이터(음색, 크기조절, 음변조) 중 두 개 이상이 동일한 싸이클에 동시에 읽으려고 할 때는 음색저장메모리에 최우선권을 주고 음크기 및 음변조의 우선권은 임의로 한다.
메모리 어드레스 재생성부(445)는 메모리 어드레스 페이즈를 변조하여 음색저장메모리, 음크기제어데이터메모리 및 음변조데이터메모리에 대한 어드레스를 생성한다.
음 변조부(450)는 도 8에 도시된 바와 같이 디코더(840)와 어드레스페이즈생성기2(860), 음변조데이터메모리(880)에서 읽어 들인 데이터에 의해 음을 변조한다.
음 인터폴레이터(455)는 디코더를 통하여 복원된 사운드 데이터(sound data)을 이용하여 원하는 피치(Pitch) 값을 만든다. XY 좌표평면에서 (x1, y1), (x2, y2) & (x3, y3) 점이 있을 때, 만일 (x1, y1), x2, & (x3, y3)을 알고 있다면 y2 값은 수학식 1에 의해 정해진다.
[수학식 1]
y2 = ((x2 - x1)(y3 - y1) / (x3 - x1)) + y1
음 저장 메모리 어드레스/외부 데이터 엑세스부(460)은 메모리 어드레스 재생성부(445)에 의해 정해진 어드레스를 독립된 채널들이 메모리를 읽고 쓰려고 할 때 충돌나지 않도록 시간 분할을 적절히 하고, 내부 데이타를 저장하고 있는 음 저장 메모리(465)와 외부에서 온 데이타를 저장하고 있는 미디버퍼(420) 웨이브버퍼(425)를 읽을 수 있도록 한다.
DAC(D/A Converter, 470)는 최종적으로 출력되는 신호가 소리로 변환되기 위해서는 디지털신호를 아날로그신호로 변환한다. DAC(470)로 데이타를 전송해 주어야 하기 때문에 음변조부(450)에 의해 DAC(470)가 필요로 하는 신호형태로 변환된다. 오디오 출력부(475)는 생성된 음을 최종적으로 오디오로 출력한다. 음색메모리의 최소화와 복원시 최소한의 회로나 계산량을 사용하기 위하여 인코더를 이용하여 압축되어 저장된 음색데이타를 웨이브 형태로 복원하는 디코더부를 더 포함할 수 있다. 이때 음 인터폴레이터는 상기 디코딩된 음저장메모리의 데이터를 원하는 피치로 생성한다.
도 5 는 본 발명에 따른 자동차의 가상엔진음 발생장치에서 가상엔진음 생성을 흐름도로 나타낸 것이다. 가상엔진음 발생장치는 항상 동작하고 있지는 않고 대부분의 시간을 준비 상태로 있다. 가상엔진음 발생장치가 전원절약모드에 있다가 동작의 필요성이 있다는 신호를 외부에서 받으면 전원절약 모드를 해제한다.(S510단계)
내부적으로 준비상태가 되어 있는지 여부를 판단하여(S520단계), 준비상태가 되어 있지 않으면 준비가 될 때까지 기다리고, 준비가 되어 있다면 동작시작명령 전달로 동작 시작명령을 전달한다.(S530단계) 이 때 전달된 미디 정보를 버퍼에 저장하고(S540단계), 미디 파일의 끝인지 체크한다.(S550단계) 만일 미디 파일의 끝이면 내부적으로 정지명령을 수행한 후 엔진음 깊이 명령을 읽는다.(S580단계) 그러나 미디 파일의 끝이 아니면 버퍼의 끝인지를 판단하고(S560단계), 만일 끝이면 버퍼 어드레스를 처음으로 재설정하고(S570단계), 버퍼의 끝이 아니면 버퍼 어드레스를 순차적으로 증가시키면서 들어 온 미디 데이터를 저장한다.(S540단계)
도 6은 본 발명에 따른 자동차의 가상엔진음 발생장치에서 미리 정의된 미디 정보와 랜덤한 새로운 웨이브 정보를 버퍼에 기록하는 것을 흐름도로 나타낸 것이다. 자동차의 가상엔진음 발생장치의 동작이 시작되면 램(RAM) 메모리인 미디버퍼(420)와 웨이브버퍼(425)에 데이터를 전달하는 램 메모리 데이터 쓰기 기능이 시작된다.(S540단계) 일단 외부로부터 램메모리에 데이타가 들어오면(S610단계) 미디와 웨이브가 혼합 되어 있는지 판단하여(S620단계), 혼합되어 있으면 미디/웨이브 판단회로가 내부에서 매신호마다 미디인지 웨이브인지 확인한다.(S630단계) 확인 결과 미디이면(S640단계), 미디버퍼(420)에 쓰고(S650단계), 웨이브이면 웨이브버퍼(425)에 쓴다(S660단계). 만일 미디와 웨이브가 혼합되지 않은 신호이면, 즉 분리된 신호이면 미디인지 웨이브인지 판별한다.(S670단계) 판별결과 미디이면 미디버퍼에 직접 저장하고(S680단계), 웨이브 이면 웨이브버퍼에 외부에서 직접 저장한다.(S690단계)
미디와 웨이브가 혼합되어 있건, 분리되어 있건 간에 두 경우 모두 데이터의 한 블럭의 끝이 어디인지를 항상 판단하는 파일 끝 탐지회로에서 파일의 끝으로 판단되면(도 5의 S550단계), 정지명령을 내부음발생부에 전달한다.(도 5의 S580단계) 끝이 아니면 외부버퍼(420,425)의 끝이 왔는지 판단하고(도 5의 S560), 끝이면 다시 외부에 새로운 데이타를 요구하고(도 5의 S570단계), 끝이 아니면 연속해서 외부버퍼(420,425)에 데이타를 쓴다(write).
도 7은 본 발명에 따른 자동차의 가상엔진음 발생장치에서 엔진음 깊이값에 따른 가상엔진음을 생성하기 위한 미디정보 전달을 흐름도로 나타내 것이다. 미디정보수신단은 버퍼에 있는 미디정보를 읽어서(S710단계), 외부에서 미디와 웨이브가 섞여서 들어오면 미디정보만 받아서 음생성부를 통해 음을 발생하고(S760단계), 음변조기를 이용해서 음을 변조한다.(S790단계)
보다 구체적으로 설명하면, 온/오프 신호 또는 제어신호 판단회로는 들어온 미디 데이터가 온/오프 신호인지 제어신호인지 판단한다.(S720단계) 온/오프신호가 들어왔을 경우는 다시 온(ON)과 오프(OFF)를 판단한다(S730단계). 만일 온(ON)인 경우는 메모리 번지수를 현재의 번지수에 엔진음 깊이값에 따라 들어온 어드레스 페이즈 파라미터를 합산하여 새롭게 수정된 어드레스 페이즈를 만들어(S740단계), 음생성부에 전달하여(S750단계) 음을 발생한다.(S760단계) 만일 오프(소리를 제거하는 신호) 신호가 들어오면 오프 속도를 해석하여 어드레스 페이즈를 오프모드로 설정하여 음을 적절히 제거한다.(S735단계)
한편, S720단계에서 만일 제어신호가 들어왔을 경우는 음변조부에 전달하여 진행되는 음의 변조가 가능하도록 해준다. 음변조부에서는 소리의 발생이 된 시점부터 미디정보 중 음변조 명령에 따라서 음의 높낮이, 음색의 변화 등을 가능케 한다. 만일 엔진음이 On 되면(S725단계), 미디 제어 데이터를 엔진음 깊이 값을 참고하여 갱신 한 후(S770단계), 음 변조기로 최종 결정된 제어 데이터를 전달하고(S780단계), 엔진임이 OFF이면 바로 음변조기에 전달하여 음변조를 수행한다.(S790단계)
도 8은 본 발명에 따른 자동차의 가상엔진음 발생장치에서 소리를 만들기 위한 모든 파라미터가 함축된 정보를 받아 가상엔진음을 생성하는 구성을 블록도로 나타낸 것으로서, 미디입력단과 엔진음 깊이 값 판독부에서 들어온 변환신호에 맞는 음을 생성한다. 도 4의 어드레스 페이즈를 변조하는 어드레스 재생성부(445)는 음색데이터를 저장하는 음저장메모리(830)를 관장하는 어드레스페이즈 생성기1(810)과 음크기를 조절하는 음크기 제어데이터 메모리(864)를 관장하는 어드레스페이즈생성기2(860), 음변조 데이터 메모리(880)를 관장하는 어드레스페이즈생성기3(870), 엔진음 깊이 값에 따른 피치 조절 파라미터(820)와 미디의 원음 피치 파라미터(815)를 합산한 결과(825)와 어드레스 페이즈 생성기 1(810)의 출력이 최종 합산(820)되어 엔진 음 저장 메모리(830)의 최종 어드레스 값을 결정하는 유닛, 미디를 재현하기 위해서 악기의 특정 파라미타를 저장하고 있는 음색 데이터를 저장하는 음 저장 메모리(830), 사용자가 시간에 따라 음의 크기를 변화 시키고 싶을 때 이를 만족시키기 위한 음크기정보를 저장하고 있는 음크기 제어데이타 메모리(864), 저장된 음색을 재생할 때 음의 크기를 변화시키면서 원하는 음색을 다른 색깔로 변화시키고자 할 때 사용하는 음변조 데이터 메모리(880), 음색파라미타를 저장하고 있는 음 저장 메모리(830)에서 나오는 정보가 때로는 압축정보가 될 수도 있고 그대로 사용될 수가 있다.
이때 압축된 데이터는 원상태로 복원을 해야 하며 이를 복원하는 회로인 디코더(840)는 압축테이블메모리1(841)과 압축테이블메모리2(846), 덧셈기(842), 출력지연기(844) 및 선택기(847)을 포함한다. 압축테이블메모리1(841)은 원 샘플에서 이전 샘플 값과 현재 샘플 값 간의 차에 관한 정보가 저장되어 있고, 압축테이블메모리2(846)에는 원샘플정보와 1:1로 맵핑되는 정보가 들어있다. 출력지연기(844)는 복원된 정보를 한 샘플 혹은 두 샘플 지연시켜 압축테이블메모리1(841)에서 나온 정보와 덧셈기(842)를 이용하여 출력으로 내보낸다. 복원된 정보는 선택기(847)를 이용하여 사용자의 의도에 맞는 정보만 골라서 내보낸다. 선택기(847)는 압축테이블메모리1(841), 압축테이블메모리2(846)와는 별도로 음색데이터를 저장하고 있는 음저장메모리(830)에서 출력된 정보를 그대로 외부로 보낼 수 있는 선택도 할 수 있다.
어드레스페이즈생성기2(860)은 기준어드레스 1(862)를 외부에서 받아서 음크기를 조절하는 데이터를 저장하고 있는 음크기 제어 데이터메모리(864)에 들어있는 정보를 읽어 음크기설정연산기(866)를 통해서 계산된 음크기를 곱셈기1(850)에 보낸다. 이때 음크기제어데이터메모리(864)의 정보를 이용하여 어드레스패턴생성기(868)에서 다음에 필요한 어드레스를 계산한다. 여기서 계산된 어드레스는 기준어드레스1(862)과 함께 덧셈기(863)입력으로 들어가 덧셈을 한 후 이 덧셈기(863)의 출력이 최종적인 음크기제어데이터메모리(864)의 어드레스가 된다. 곱셈기1(850)은 디코더(840)의 출력과 어드레스페이즈생성기2(860)의 출력을 입력으로 받아 곱셈을 한 후 변조기(855)의 입력으로 보낸다. 변조기(855)는 음변조데이터메모리(880)의 출력과 곱셈기1(850)의 출력을 입력으로 받아 연산을 한 후 최종 출력인 DAC로 내보낸다. 음변조데이터메모리(880)는 어드레스페이즈생성기3(870)의 출력에 의해 어드레스가 결정되어 해당 어드레스에 맞는 데이타를 외부로 출력시킨다.
도 9는 메모리 어드레스 페이즈 생성기1(810)의 세부적인 구성을 블록도로 나타낸 것이다. 미디에서 들어온 데이타가 엔진음을 온(On) 시키는 정보이면 해당 기준 음에 맞는 음색의 어드레스가 결정되며 외부제어 키변수1,2,... 등에 의해서 음색데이타를 저장하고 있는 음저장메모리(830)의 어드레스가 가변된다. 이때 외부제어 키변수기(920,930,940,...)에서 들어오는 변수는 음수가 될 수도 있고 양수가 될 수도 있다. 외부제어 키변수는 때로는 정현파의 형태로 변환될 수 있고, 1 비트의 정보로 부호(양수 와 음수)를 변환시킨다. 정현파형태로 원하는 음의 구현이 어려울 때는 정현파의 절대치만을 사용해서 구현할 수도 있고, 톱니파나 거형파, 구형파 등도 사용할 수 있다. 이때 외부제어키변수는 웨이브쉐이퍼테이블메모리1,2,3,... 에 저장해서 사용한다. 제어키변수는 기준키음 어드레스(910)와 곱셈기(950,960,...)를 통해서 곱해지고 각각 곱셈기의 출력은 덧셈기(970)를 거쳐서 최종 음색데이타메모리(980)의 어드레스가 된다.
도 10은 도 8의 음크기 제어 데이터메모리(864)에 들어가는 어드레스를 결정하기 위한 어드레스페이즈생성기 2(860)의 구조를 설명하기 위한 흐름도이다. 카운터 1값 변경회로(S1045)에서는 어드레스페이즈 생성기 2(860)에서 시간에 따른 어드레스 변화를 위한 계수값 들을 조절하는 기능을 하며 일정한 상수값 1을 외부에서 받아 카운터1 이라는 변수에서 매 싸이클별로 상수 1 값에 해당하는 값을 더하거나 빼주는 역할을 한다. 이 결과를 카운터 1이 0 인지를 판단하는 회로(S1020)에서 '0'이면 카운터 2값 변경회로(S1030)에서 또다른 상수2 값에 따라 카운터2의 값을 변경시킨다. 이 때 다음 싸이클부터는 카운터1의 값이 '0'이 되었으므로 새로운 값의 카운터1의 값을 외부에서 갱신하여 사용할 수도 있고, 맨 처음 사용한 값을 반복해서 그대로 사용할 수도 있다. 만일 카운터1의 값이 '0'이 아니면 본 플로우를 마친다. 카운터1의 값이 '0'이 아닌 경우에 수행하여 변경된 카운터2의 값은 카운터2값이 '0'인지를 판단하는 회로(S1040)에서 '0'이면 타이머1의 값을 또다른 정해진 상수3값에 의해서 덧셈이나 뺄셈을 통하여 변경시킨다. 이때 변경된 타이머1의 값이 '0'이면 크기변경을 위한 파라미터어드레스를 변경(S1070)하고 음크기 제어 데이터메모리(864)에서 새로운 파라미터(상수2,타이머1-S1080)를 읽어와 새로운 상수2와 타이머1을 새로이 갱신한다. 다음 싸이클 부터는 새로이 갱신된 상수2와 타이머1을 사용한다. 카운터2값이 '0'을 판단하는 회로(S1040)에서 만일 카운터2 값이 '0'이 아니면 카운터1 값을 맨 처음 값으로 재 갱신한 후 본 플로우를 끝내고 다음 싸이클에서 동일한 본플로우를 재 갱신된 카운터 1 값으로 다시 카운터1 값 변경회로(S1010)부터 수행 한다. 타이머1이 '0'인지를 판단하는 회로(S1060)에서 만일 타이머1의 값이 '0'이 아니면 타이머1 값을 처음값으로 재 갱신 한 후 플로우를 끝내고 다음싸이클에서 동일한 본플로우를 카운터1값 변경회로(S1045)부터 다시 수행한다.
도 11 은 도 8의 어드레스 페이즈 생성기3(870)의 구성을 흐름도로 나타낸 것이다. 매 싸이클마다 음변조 변수 읽기(S1110)를 수행하여 음변조데이타메모리(880)에서 변조를 하기 위한 변수를 읽는다. 변조정지 온(On)을 체크하고(S1115), 음변조메모리의 어드레스를 계속 변경시킬 것인가를 판단하여 계속 변경시킬 필요가 없는 경우는 바로 종료하고, 변조정지 온이 아닌 경우는 타이머2값 변경회로에 의해서 정해진 값에 따라 타이머2의 값을 변화 시킨다.(S1120) 변경된 타이머2 값이 '0'인가를 판단하는 회로에서 타이머2값을 판단해서(S1125), 만일 '0'이면 종료하고, '0'이 아니면 타이머3의 값을 정해진 값에 따라 변화시킨다.(S1130) 이후에 증가/감소를 판단하는 회로에서 증가해야 한다면(S1135) 음변조데이타메모리 어드레스 증가회로에서 어드레스를 증가시키고(S1145), 감소해야 한다면 음변조데이타메모리 어드레스감소회로에서 어드레스를 감소시킨다.(S1140) 이런 증감회로9S1145, S1140)에 의해서 음변조데이타메모리어드레스를 갱신하고(S1150), 타이머3 값을 판단하는 회로에 의해서 현재의 타이머3 값이 '0'인가를 판단하여(S1155) '0'이면 새로운 파라미터(타이머2값,타이머3값)를 읽어서(S1160), 다음 싸이클부터는 새로이 갱신된 타이머2 값과 타이머3 값으로 시작한다. 새로이 읽어 들인 정보 중에 변조정지를 할 것인지 안할 것인지 하는 정보가 들어 있어(S1165), 변조정지를 할 것이면 변조 정지 온(ON)을 셋팅하고(S1170), 계속 변조를 할 것이면 바로 종료한다. 만일 타이머3 값을 판단하는 과정(S1155)에서 타이머3 값이 '0'이 아니면 타이머2 값을 원래(맨 처음) 타이머2 값으로 재 갱신한 후(S1175), 종료한다.
도 12는 입력된 엔진음에 속도변환을 주기 위한 전단계로서 교차신호변조음을 만들어 놓기 위한 구성도 이다. 입력된 오리지날 웨이브를 주기A, 주기B, 주기C 라고 하면(S1210), 웨이브 속도를 느리게 할 것인지 빠르게 할 것인지를 먼저 판단해서 속도를 느리게 하고자 하면 주기A를 교차변조를 위해서 입력된 원음의 맨 처음 샘플 데이터부터 1/N, 2/N, ... N/N을 곱해서 교차변조된 주기A를 만든다.(S1222) 역으로 주기B를 교차변조하기 위해서는 오리지날 주기B(원래의 주기)의 웨이브에 맨처음 샘플 데이터부터 N/N,(N-1)/N, ... 1/N을 곱해서 교차변조된 주기B를 만든다.(S1224) 교차변조된A(S1222) 와 교차변조된B(S1224)를 각 샘플별로 더해서(ADDITION, S1226) 교차변조된A' 신호를 만든다.(S1228) 같은 주파수로 속도만 느리게 하는 S1220 의 최종 결과는 주기 A'(S1228)이 된다. 이렇게 새로 발생된 A'를 웨이브 속도를 느리게 하는 중간 매개체로 사용하여 최종 출력할 데이터는 주기A, 주기A', 주기B, 주기C(S1230)을 실제 출력으로 내 보낸다.
그러나 웨이브 속도를 빠르게 하고 싶은 구조가 필요할 때는 주기A를 교차변조를 위해서 맨처음 웨이브부터 오리지날웨이브(원음)에 맨 처음 샘플 데이터부터 N/N,(N-1)/N, ... 1/N 을 곱해서 교차변조된 주기A(S1242)를 만든다. 역으로 주기B를 교차변조하기 위해서는 오리지날 주기B의 웨이브에 맨처음 샘플 데이터부터 1/N, 2/N, ... N/N을 곱해서 교차변조된 주기B(S1244)를 만든다. 교차변조된A(S1242) 와 교차변조된(S1244)를 각 샘플별로 더해서(ADDITION, S1246), 교차변조된 주기 B'(S1248) 신호를 만든다. 같은 주파수로 속도만 빠르게 하는 S1240 의 최종 결과가 주기 B'(S1248) 이 된다. 이렇게 새로 발생된 B'를 웨이브속도를 느리게 하는 중간 매개체로 사용하여 최종 출력할 데이터는 주기B',주기C(S1250)을 실제 출력으로 내 보낸다.
도 13은 음변조 수단을 위한 변조기(Modulator flow diagram for sound modulation)를 보인 것이다. 입력단(500)에 들어오는 데이터는 도 8의 곱셈기(850)의 출력이 들어오며 곱셉기1(510)의 출력은 입력들의 Level를 조절하는 역할을 한다. 입력[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] , ...]을 음변조데이타 메모리에서 읽어 들인 변조 지수와 곱셈기(511,512,513,514,515....)를 이용하여 곱한다. 각각의 곱해진 결과들은 덧셈기(540)의 입력으로 들어간다. 도 13의 출력(550)인 출력[n]은 매 싸이클마다 새로이 만들어져 나오며 다음 싸이클에서는 출력[n-1]로 되어 곱셈기군2(530)에서 곱셈기들의 입력값들로 쓰인다. 이때, 매 싸이클마다 출력[n](550)은 현싸이클 일 때의 덧셈기(540)의 출력이고 출력[n-1](521)은 한 싸이클 이전의 덧셈기(550)의 출력이다. 출력[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 , ... 등은 어드레스 페이즈 생성기(address phase generator) 3에서 생성된 어드레스에 따라 음변조 데이터 메모리(880)에서 출력된 계수값들이다. 도 13에서 나온 출력[n]이 상기 도 4의 DAC 회로(470)의 입력으로 들어간다.
도 14는 사용자가 설정하는 엔진 깊이 값 에 따라 엔진음 발생장치의 입출력(input/output)이 변화되는 전체적 구성을 블록도로 나타낸 것이다. 이 구성은 미디 음을 구현하기 위해서 미리 정해진 원래의 미디 변수(1410) 에 의한 정상적인 소리 발생부분(514)과 엔진음 깊이의 변수에 따라 정해진 음 크기, 피치 , 오른쪽/왼쪽 스피커 레벨, 필터, 음 길이 등의 기 설정된 변조 파라피터를 받아 음을 구현하는 부분(1456)으로 나누어 진다. 이를 위해 엔진음 깊이 값(1420)의 입력단, 계산량을 줄이기 위해서 원음 미디 변수값과 엔진음 깊이 변수 1의 공통된 부분을 분류하여 각각 통합해 주는 믹서 부분(1452), 특수 효과음(1440)이 필요할 때 특수 효과음의 크기를 조절하기 위해서 필요한 변수인 엔진음 깊이 변수2(1430)를 받아들이는 곱셈기(1458), 이 곱셈기(1458)는 8 비트로 256 단계의 크기를 나타낼 수 있고, 미디로 만들어진 음과 합해질 때 오버 플로우를 방지하는 역할도 한다. 미디음 생성기(1454)는 편곡 작업된 엔진음을 음악의 배경음 처럼 합성해 내는 생성기이며, 엔진음이 필요한 화음수(Polyphony)에 따라 회로나 CPU 의 계산량의 크기가 결정되며 최소 8 화음에서 최대 32 화음이면 충분하다. 또한 미디음 생성기(1454)는 수많은 엔진 종류음에 필요한 음을 저장하기 위해서 막대한 양의 메모리가 필요하기 때문에 계산량을 최소화 하고 메모리를 최대한 줄일 수 있는 ADPCM 압축방식이 사용되었다. 특수 효과음을 구현하기 위한 웨이브 음 발생기는 MIDI 의해 정의되지 않은 음을 구현하기 위한 외부 음 발생장치로 외부에서 들어온 음을 엔진 깊이 값의 변화에 따라 음색, 크기, 음의 길이 등을 자유롭게 조절하여 어떠한 소리도 구현 가능한 엔진음 발생기이다. 합성기(1459)는 미디에 의해 정의되어 미디음 생성기(1454)에 의해 만들어진 음과 웨이브 음 생성기(1456)에 의해 만들어진 음을 덧셈(addition) 해 주는 오퍼레이터 이다. 결국 최종 출력(Output)은 이 합쳐진 두 개 음이 엔진음 생성기의 최종 출력(1460)이 되는 것이다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
110 : 보행자 115 : 모바일 단말기
120 : 가상엔진음 합성 IC 130 : 전기앰프
140 : 스피커 150 :가속 페달
160 : 페달 암(arm) 170 : 스프링
180 : 전달링 190 : 보행자 접근인식 센서
250 : 스피커 820 : 덧셈기
825 : 덧셈기 840 : 디코더
842 : 덧셈기 850 : 곱셈기 1
863 : 덧셈기 950 : 곱셈기
960 : 곱셈기 970 : 곱셈기
500 : 입력단 510 : 곱셈기1
511, 512, 513, 514, 515 : 곱셈기
520 : 피드백 출력단 530 : 곱셈기2
531, 532, 533, 534, 535 : 곱셈기
540 :덧셈기

Claims (7)

  1. 자동차의 주행 및 정차시 운전자가 작동하는 엑셀레이터의 변화량과 엔진 회전값(Depth)의 조절에 따른 가상 엔진음 발생 장치로서,
    상기 운전자의 요구에 엘셀레이터를 발로 누르거나 보행자 접근시 필요한 해당하는 엔진음 깊이값을 수신하여 내부톤인지 외부 톤인지를 판별하여 가상엔진음을 생성하라는 명령을 전달하는 제어부;
    미리 편집된 엔진음 파라미터가 저장된 가상 엔진음 저장 메모리를 읽어서 적절한 엔진음을 발생시켜 스피커를 통하여 엔진음을 출력하는 가상엔진음 발생부;
    파일에서 미디나 웨이브 중 하나의 파일만 사용할 때는 미디나 웨이브가 한 가지 형태로만 사용 가능토록 하여 외부장치의 능률을 보장하는 인터페이스 수단; 및
    하나의 메모리로 미디와 웨이브 파일이 분리가 되어 있을 때는 두 가지 신호를 동시처리 가능하도록 메모리를 분리할 수 있는 메모리 분리수단을 포함하고,
    상기 메모리 분리수단은 미디신호와 웨이브신호가 하나의 파일로 섞여 있을 때는 미디와 웨이브 사이에 특정신호를 추가하여 내부에서 두 가지 신호를 구분하여 내부버퍼에 미디와 웨이브를 따로 저장하고, 파일이 분리되어 있을 때는 외부에서 내부의 분리되어 있는 버퍼에 미디와 웨이브를 직접 쓰게 하고,
    상기 깊이값은 가속장치의 변화량과 엔진회전량의 변화량, 및 갑작스런 물체의 출현으로 인한 엔진음의 변화가 필요한 변수를 포함하고,
    가상엔진음 발생부는 엔진음이나 효과음을 미디 규정을 이용하여 미디신호의 순차적인 블록단위 전송과 외부 웨이브사운드(wave sound)의 블록단위전송에 의한 미디와 웨이브의 혼합처리를 하면서 엔진음 깊이 값에 따라 음색을 가변하는 것을 특징으로 하는 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치.
  2. 제1항에 있어서,
    엔진음을 웨이브 파일을 이용하여 만들 때 미디 파라미터와 동일한 특성을 갖는 웨이브용 파라미터를 사용하여 미디음과 웨이브음을 혼합 하기 쉽게 파일을 만드는 수단; 및
    엑셀레이터의 가변시나 보행자의 과도한 접근시 안전을 위해 엔진음 깊이 값의 변화량을 읽어 테이블 형태로 미리 정해놓은 파라미터를 음 발생장치에 전달하기 위한 수단을 포함하는 것을 특징으로 하는 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치.
  3. 삭제
  4. 제1항에 있어서, 상기 가상엔진음 발생부는
    원하는 톤을 만들기 위해서 선택된 주파수 변수에 따른 음색데이타가 들어있는 메모리의 어드레스 입력을 시간에 따른 변화를 만들 수 있는 어드레스변수를 곱해서 크기를 변화시켜 음을 만들어 내면서 음색을 변화시키는 음색변조부; 및
    상기의 음색변화를 위해 동일한 곱셈기와 덧셈기를 여러 개 중첩시켜 어드레스변화를 시간에 따라 실시간으로 생성하며, 계산량을 줄이기 위해 상기 어드레스 변화를 시간에 따라 주기적으로 반복하는 어드레스 변조부를 포함하고,
    상기 음색변조부와 어드레스 변조부에 의한 출력을 입력으로 받아 특정 메모리에 있는 데이터 값에 의해서 입력의 크기를 변화시키고, 특정 메모리에 시간에 따라 변화시키는 크기의 양과 시간 간격이 들어있고, 상기 메모리 값에 따라 음량이 변하고, 상기 최종적인 음량의 변화가 곱셈기에 의해서 변화되고,
    음량이 변화된 음의 음색을 변화하고자 할 때 사용된 음변조 데이타가 들어있는 음변조 메모리의 어드레스가 특정음색에 따라 변화되고, 수정 어드레스의 결정은 내부의 감산기와 덧셈기를 이용하고 덧셈이나 뺄셈을 하는데 순수하게 시간변수에 따라 덧셈과 뺄셈의 시간 간격과 양이 결정되고 상기 결정된 음변조메모리의 어드레스가 음변조 데이타를 읽어 들이는데 사용되고,
    결정된 음변조 데이타의 사용방법은 출력을 입력으로 받아 음변조 메모리에서 읽어 들인 데이타를 곱셈기를 이용해서 곱셈과 덧셈을 반복하여 출력을 만들고, 상기 입력은 출력을 만드는데 사용된 후에 다음 싸이클에서 새로 들어온 입력과 조합을 하여 출력을 만드는데 사용되고, 상기 출력도 현재 싸이클에서 생성된 출력이 다음 싸이클에서 한 샘플 지연이 되서 입력들과 덧셈기를 이용하여 최종출력을 만들고, 상기 모든 입출력 데이타는 음변조 메모리에서 읽은 데이타값과 곱셈기를 이용하여 결합이 돼서 곱셈기의 최종결과가 모두 합산이 되어 최종 출력이 되는 것을 특징으로 하는, 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치.
  5. 제1항에 있어서, 상기 가상엔진음 발생부는
    사용자가 설정한 깊이 값을 정해진 주기에 맞춰 읽어서 미디&깊이값 해석부에 전달해주는 엔진음 깊이값 전송부;
    외부장치와 정보를 교환하면서 내부에 미디정보를 전달하는 미디버퍼;
    외부장치와 정보를 교환하면서 내부에 효과음용 웨이브 정보를 전달하는 웨이브버퍼;
    외부에서 들어오는 명령이 일반 음에 관한 것인지, 깊이값에 관한 것인지, 정지명령인지 시작명령인지를 판별하며 명령의 순서에 따라 순차적으로 명령을 저장하고 내부 상태를 외부에 전달하는 외부명령수신부;
    외부와 정보를 교환하는 버퍼의 상태를 제어하고 버퍼의 크기를 최소화하기 위한 버퍼어드레스생성기;
    외부에서 들어온 명령 중 미디에 관한 명령을 골라내서 내부에 필요한 채널넘버나 미디 파라미터를 해석하거나, 깊이 제어에 관한 명령을 분리하여 미디 파라미터(MIDI Parameter)와 분리하는 미디&깊이값 해석부;
    미디명령과 사운드에 관한 명령을 내부 디에스피(DSP)에 각 채널에 해당하는 변수를 분리하며 순차적으로 번호를 붙여서 전달하여 소리의 발생을 채널별 간섭이 없이 시작할 수 있도록 명령을 전달하는 가상엔진음 매핑부;
    미디명령과 깊이값 명령을 전달받아 원하는 소리가 저장되어 있는 메모리의 매 사이클에 따른 위치 데이타를 읽는 메모리 어드레스 재생성부;
    음색데이타, 음크기조절데이타,음변조데이타, 깊이값 파라미터를 하나의 메모리에 저장하기 위한 음저장 메모리 어드레스/외부데이터 액세스부;
    매 사이클 마다 정해진 어드레스에 의해 읽혀진 데이타를 상기 미디&깊이 값 해석부에서 오는 특정 명령에 따라 소리를 변조시키는 음 변조부;
    음색데이타, 음크기조절데이타, 음변조데이타, 엔진음 깊이 파라미터, 음변조정보가 저장되어 있는 음저장 메모리;
    음저장메모리의 데이터를 원하는 피치로 생성하는 음 인터폴레이터; 및
    최종적으로 재생된 데이터를 외부로 출력시키는 디지털 출력부를 포함하는 것을 특징으로 하는, 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치.
  6. 제5항에 있어서,
    음색메모리의 최소화와 복원시 최소한의 회로나 계산량을 사용하기 위하여 인코더를 이용하여 압축되어 저장된 음색데이타를 웨이브 형태로 복원하는 디코더부를 더 포함하고,
    상기 음 인터폴레이터는
    상기 디코딩된 음저장메모리의 데이터를 원하는 피치로 생성하는 것을 특징으로 하는, 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치.
  7. 삭제
KR1020190123862A 2019-10-07 2019-10-07 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치 및 방법 KR102051542B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190123862A KR102051542B1 (ko) 2019-10-07 2019-10-07 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190123862A KR102051542B1 (ko) 2019-10-07 2019-10-07 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치 및 방법

Publications (1)

Publication Number Publication Date
KR102051542B1 true KR102051542B1 (ko) 2020-01-08

Family

ID=69154484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190123862A KR102051542B1 (ko) 2019-10-07 2019-10-07 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치 및 방법

Country Status (1)

Country Link
KR (1) KR102051542B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023011911A1 (en) * 2021-08-05 2023-02-09 Bayerische Motoren Werke Aktiengesellschaft Sound experience generator

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005219716A (ja) * 2004-02-09 2005-08-18 Pioneer Electronic Corp 擬似音発生装置、車両、擬似音発生方法および擬似音発生プログラム
JP2015082029A (ja) * 2013-10-23 2015-04-27 株式会社Access 疑似音生成装置および疑似音再生装置からなる疑似音提供システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005219716A (ja) * 2004-02-09 2005-08-18 Pioneer Electronic Corp 擬似音発生装置、車両、擬似音発生方法および擬似音発生プログラム
JP2015082029A (ja) * 2013-10-23 2015-04-27 株式会社Access 疑似音生成装置および疑似音再生装置からなる疑似音提供システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023011911A1 (en) * 2021-08-05 2023-02-09 Bayerische Motoren Werke Aktiengesellschaft Sound experience generator

Similar Documents

Publication Publication Date Title
US6191349B1 (en) Musical instrument digital interface with speech capability
JP2001249668A (ja) 音声信号または楽音信号の処理装置およびその処理プログラムが記録された記録媒体
JPH04249298A (ja) Midiデータファイルの処理システム及び方法
EP2657931A1 (en) Ensemble system, audio playback apparatus and volume controller for the ensemble system
EP3379527A1 (en) Musical sound generation device, musical sound generation method and electronic instrument
CN108630178B (zh) 乐音生成装置、乐音生成方法、记录介质及电子乐器
JPH06222776A (ja) オーディオ信号の発生方法
KR102051542B1 (ko) 엑셀레이터의 압력에 따라 가변적으로 발생되는 자동차의 가상 엔진음 생성장치 및 방법
US6756532B2 (en) Waveform signal generation method with pseudo low tone synthesis
KR102227110B1 (ko) 엑셀레이터 변화량과 미디 및 웨이브를 이용한 자동차 가상 엔진음 생성장치
EP1580728A1 (en) Apparatus and method for processing bell sound.
US20050056144A1 (en) Computer music input system, processing method and keyboard apparatus
KR101005672B1 (ko) Midi 파일 재생의 최적화
US6127617A (en) Effector differently controlling harmonics and noises to improve sound field effect
JPH09330079A (ja) 楽音信号発生装置及び楽音信号発生方法
KR100481939B1 (ko) 미디신호의 순차적인 블록 단위 전송과 메모리 어드레스페이즈 변조를 이용한 음발생장치
JP7159583B2 (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
KR100734772B1 (ko) 교차신호와 어드레스페이즈변조 방식을 이용한미디웨이브/자동구간반복웨이브/속도 조절된웨이브/원음웨이브의 동시 구현이 가능한 다중음 동시발생 장치
US20010044663A1 (en) Sound controller
JP6851578B2 (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JP2005338126A (ja) 演奏データ編集装置、演奏データ編集方法および演奏データ編集プログラム
EP1017039B1 (en) Musical instrument digital interface with speech capability
JP2858314B2 (ja) 楽音特性制御装置
JPH1074088A (ja) コンピュータソフトウェアを用いた音源システムおよび音響波形データ生成方法
KR100775068B1 (ko) 무선통신을 이용한 전자제품의 콘텐츠 변환기능을 구현하는 비메모리장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant