KR101268994B1 - 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법 - Google Patents

외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법 Download PDF

Info

Publication number
KR101268994B1
KR101268994B1 KR1020120020383A KR20120020383A KR101268994B1 KR 101268994 B1 KR101268994 B1 KR 101268994B1 KR 1020120020383 A KR1020120020383 A KR 1020120020383A KR 20120020383 A KR20120020383 A KR 20120020383A KR 101268994 B1 KR101268994 B1 KR 101268994B1
Authority
KR
South Korea
Prior art keywords
midi
external
command
instrument
external device
Prior art date
Application number
KR1020120020383A
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 KR1020120020383A priority Critical patent/KR101268994B1/ko
Application granted granted Critical
Publication of KR101268994B1 publication Critical patent/KR101268994B1/ko

Links

Images

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
    • 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
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • 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

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

Abstract

외부 장치로부터 생성된 데이터로부터 동적으로 미디 악기의 미디 명령을 발생시켜 다른 악기의 미디 명령과 동적으로 합성할 수 있도록 하는, 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법에 관한 것이다.
본 발명인 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법을 사용함으로써, 악기 신호음을 생성할 수 있는 외부 장치와 연동하여 풍부한 미디 신호음을 출력할 수 있도록 하는 효과가 있다.

Description

외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법{MIDI REPLAYING APPARATUS AND METHOD COORDINATING EXTERNAL APPARATUS}
본 발명은 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법에 관한 것으로서, 구체적으로는 외부 장치로부터 생성된 데이터로부터 동적으로 미디 악기의 미디 명령을 발생시켜 다른 악기의 미디 명령과 동적으로 합성할 수 있도록 하는, 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법에 관한 것이다.
노래방에서 사용되는 노래 반주 장치는 미디 명령을 이용한 미디 신호음을 출력하여 사용자가 부르고자 하는 곡을 재생하고 사용자가 노래를 부를 수 있는 환경을 제공한다.
이와 같은 노래 반주 장치는, 악기의 좋은 음질과 다양한 악기의 음을 출력할 수 있도록 하기 위하여 64-폴리(Poly) 또는 128-폴리(Poly) 이상의 고가의 별도의 미디 합성기를 서브 보드의 형태나 칩셋의 형태로 구비하고 있다.
이러한 미디 합성기는, 다양한 종류의 악기를 지원할 수 있고, 각 악기 별로 다양한 종류의 효과음을 제공할 수 있다.
그리고 노래 반주 장치는, 노래 반주 장치에 저장된 미디 파일을 이용하여 미디 합성기에 악기별로 미디 명령을 제공할 수 있으나 미디 합성기에서 제공하는 전체 악기에 대한 미디 신호음을 완전하게 활용할 수 없는 것이 현실이다.
이에는 미디 파일의 각 곡별로 필요한 악기와 필요치 않은 악기가 있을 수 있고, 특정 악기는 해당 곡의 연주에 부적당하거나 곡에 다양한 미디 악기를 제공하는 경우에 이를 위한 개발 비용과 저장 비용이 증가하기 때문이다.
또한 기존의 노래 반주 장치는, 고가의 미디 합성기를 단지 미디 파일을 재생하기 위한 용도로만 사용하고 미디 파일에서 제공된 제한된 미디 악기의 신호음만을 생성하여 미디 합성기의 성능이나 기능에 대비하여 충분히 활용할 수 없는 문제가 있다.
그리고 기존의 노래 반주 장치는, 일부 외부의 악기와 연동할 수 있는 아날로그 인터페이스를 제공할 수 있다. 이러한 아날로그 인터페이스는 단지 아날로그의 악기의 음을 아날로그의 미디 음과 합성하는 기능을 제공할 뿐이고 이에 따라 아날로그의 오디오 음을 출력하는 외부의 악기를 직접 활용하여 연주하도록 하는 기능을 제공할 뿐이다.
이와 같은 기존의 노래 반주 장치에서 제공하는 기능의 제약으로부터, 노래 반주 장치에 포함된 고가의 미디 합성기를 활용하여 외부 장치와 연동하여 연주 음 또는 미디 음을 발생시킬 수 있도록 하는, 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법이 필요하다.
본 발명은, 상술한 문제점을 해결하기 위해서 안출한 것으로서, 노래 반주 장치에 포함된 미디 합성기를 다양하게 활용할 수 있도록 하는, 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법을 제공하는 데 그 목적이 있다.
또한 본 발명은, 노래 반주 장치 외부의 외부 장치에 의해서 생성된 데이터로부터 특정 악기의 미디 신호음을 생성할 수 있도록 하는, 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법을 제공하는 데 그 목적이 있다.
또한 본 발명은, 외부 장치로부터 수신된 데이터에 의해서 생성된 미디 신호음이 재생중인 미디 파일의 미디 음과 동기화될 수 있도록 하는, 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법을 제공하는 데 그 목적이 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한, 외부 장치와 연동할 수 있는 미디 재생 장치는, 외부 장치에서 출력된 데이터로부터 미디 명령을 동적으로 생성하는 외부 미디 신호 생성부와 미디 파일로부터의 미디 명령과 외부 미디 신호 생성부에서 생성된 미디 명령을 지정된 미디 트랙에 할당하여 출력하는 미디 제어부를 포함한다.
또한 상기와 같은 목적을 달성하기 위한, 외부 장치와 연동할 수 있는 미디 재생 장치는, 미디 제어부가 외부 미디 신호 생성부에서 생성된 미디 명령을 미디 파일에 기초하여 주기적으로 생성된 시간 이벤트에 동기화하여 지연 출력하는 것을 특징으로 한다.
또한 상기와 같은 목적을 달성하기 위한, 외부 장치와 연동할 수 있는 미디 재생 방법은, 외부 장치를 위한 외부 미디 트랙을 미디 파일로부터 결정된 하나 이상의 미디 트랙에 더 할당하는 단계와 외부 장치로부터 데이터를 수신하는 단계와 데이터로부터 지정된 미디 악기를 위한 미디 명령을 생성하는 단계와 생성된 미디 명령을 할당된 외부 미디 트랙으로 출력하는 단계를 포함한다.
또한 상기와 같은 목적을 달성하기 위한, 외부 장치와 연동할 수 있는 미디 재생 방법은, 생성된 미디 명령을 할당된 외부 미디 트랙으로 출력하는 단계가 생성된 미디 명령을 미디 파일에 기초하여 주기적으로 생성된 시간 이벤트에 동기화하여 지연 출력하는 것을 특징으로 한다.
상기와 같은 본 발명에 따른, 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법은, 외부 장치와 연동하여 미디 합성기의 미디 재생 또는 생성 기능을 활용할 수 있도록 하여, 미디 재생 장치의 다양한 응용에 활용할 수 있도록 하는 효과가 있다.
또한 상기와 같은 본 발명에 따른, 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법은, 생성하고자 하는 특정 악기의 미디 신호음을 임의로 생성할 수 있도록 하여 곡의 재생시에 풍부한 미디 신호음을 생성하여 출력할 수 있도록 하는 효과가 있다.
또한 상기와 같은 본 발명에 따른, 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법은, 외부 장치로부터 수신된 데이터에 의해서 생성된 미디 신호음이 재생중인 미디 파일의 미디 신호음과 동기화될 수 있도록 하여, 재생중인 미디 파일과 화음을 이룰 수 있도록 하는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은, 본 발명인 외부 장치와 연동할 수 있는 미디 재생 장치를 포함하는 미디 재생 시스템의 일 실시예를 도시한 시스템 블록도이다.
도 2는, 미디 재생 장치의 하드웨어 블록도의 일 실시예를 도시한 도면이다.
도 3은, 미디 재생 장치의 기능 블록도의 일 실시예를 도시한 도면이다.
도 4는, 외부 장치와 연동할 수 있는 미디 재생 방법의 제어 흐름을 도시한 도면이다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술 되어 있는 상세한 설명을 통하여 더욱 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
도 1은, 본 발명인 외부 장치(100)와 연동할 수 있는 미디 재생 장치(200)를 포함하는 미디 재생 시스템의 일 실시예를 도시한 시스템 블록도이다.
도 1에 따르면, 미디 재생 시스템은, 동적인 미디 신호음을 발생할 수 있도록 하는 외부 장치(100)와, 이 외부 장치(100)에 유선 또는 무선으로 연결된 미디 재생 장치(200)와, 미디 재생 장치(200)로부터 수신된 오디오 신호를 출력하는 오디오 출력 장치(300)와 디스플레이(400)를 포함한다.
이러한 실시예에서 일부 시스템 블록은 필요에 따라서 생략될 수 있고 도시되지 않은 시스템 블록이 본 실시예에서 더 포함될 수 있다.
도 1의 미디 재생 시스템의 각 시스템 블록을 살펴보면, 외부 장치(100)는, 미디 재생 장치(200)가 미디 신호음을 동적으로 생성하여 오디오 신호로 출력할 수 있도록 하는, 데이터를 동적으로 생성하여 생성된 데이터를 무선(통신)으로 혹은 유선(통신)(예를 들어 유선의 케이블을 이용하여)으로 미디 재생 장치(200)로 전송한다.
이러한 외부 장치(100)는, 다양한 형태의 응용 장치일 수 있다. 일 예로 외부 장치(100)는 다수의 건반을 포함하고 건반의 눌림 등에 따라 눌려진 건반의 식별 정보, 눌려진 건반의 압력 세기 등을 동적으로 전달할 수 있는 전자 피아노, 드럼이나 북의 형상을 가지고 드럼이나 북에 가해진 압력의 정도와 압력의 시간 등을 동적으로 전달할 수 있는 타악기와 같이 악기의 형상을 갖춘 장치일 수 있다.
또 다른 예로서, 외부 장치(100)는 스마트 폰과 같은 휴대형 단말기일 수 있고, 이 휴대형 단말기에 탑재되는 악기의 음을 재현할 수 있는 악기 재생 프로그램을 이용하여 미디 재생 장치(200)로 미디 음을 동적으로 생성할 수 있도록 하는 데이터를 실시간으로 사용자의 입력에 따라서 전송할 수 있다. 이러한 데이터에도 미디 악기에 따라서 각 미디 악기의 미디 음을 표현하기에 필요한 정보를 포함한다.
이러한 외부 장치(100)는, 악기를 이용할 사용자로부터 입력을 수신하기 위한 입력부와 유선 또는 무선으로 데이터를 송신할 수 있는 통신부를 구비하고 이 입력부로부터 수신된 입력 명령에 따라 악기의 미디 음을 생성하기 위해서 사용될 수 있는 데이터를 실시간으로 생성하고 이를 통신부로 송신하는 프로세서(processor)를 구비할 수 있다.
여기서, 미디 재생 장치(200)로 송신되는 데이터는, 또한 다양한 형태를 취할 수 있다. 예를 들어 데이터는 아날로그 신호 형태의 아날로그 데이터이거나 혹은 디지털 데이터를 인코딩한 신호 형태의 디지털의 데이터일 수 있고 이러한 데이터는 설정된 미디 악기의 특정 미디 신호음을 생성하도록 혹은 생성되고 있는 특정 미디 신호음을 생성 중단하도록 제어할 수 있도록 하는 데이터이다.
이러한 아날로그 데이터 또는 디지털의 데이터는 미디 재생 장치(200)로 하여금 미디 신호음을 생성하기 위해서 사용되어 질 수 있고, 이러한 데이터는 예를 들어 생성할 미디 악기의 미디 음의 높낮이(음정)나 길이 등을 알 수 있도록 한다. 예를 들어 아날로그 혹은 디지털의 데이터는 사용자에 의해서 특정 미디 음을 생성시키기 위해서 취해진 액션으로부터의 데이터이고, 이러한 데이터는 데이터의 크기 등과 같은 정보에 따라 악기의 종류에 따라서 악기 음의 높낮이나 악기 음의 길이 등을 알 수 있도록 하고 이에 더하여 터치의 크기 값 등을 알 수 있도록 한다.
이러한 데이터는 사용자의 외부 장치(100)에 대한 액션이 발생시에 일회성으로 전송되거나 혹은 액션의 발생 동안에 주기적으로(예를 들어 1mSec 단위로) 생성되어 전송될 수 있다.
외부 장치(100)에서 생성된 데이터는, 무선(통신)으로 혹은 유선(통신)으로 미디 재생 장치(200)로 전송될 수 있는 데, 예를 들어 블루투스(Bluetooth)나 지그비(ZigBee) 등과 같은 표준화된 무선 통신, RS232, RS485, IEEE1394, USB 등과 같은 표준화된 유선 통신, 혹은 임의의 외부 장치(100)와 미디 재생 장치(200) 사이에 약속된 전용의 유선 또는 무선의 통신 방식을 통해서 전송될 수 있다.
미디 재생 장치(200)는, 미디 파일을 이용하여 생성된 미디 신호음을 포함하는 오디오 신호를 오디오 출력 장치(300)로 출력한다. 또한 미디 재생 장치(200)는, 외부 장치(100)로부터 유선 또는 무선 통신을 통하여 수신된 데이터로부터 미디 명령을 동적으로 생성하고, 이 생성된 미디 명령을 미디 파일로부터 생성된 미디 명령과 함께, 미디 신호음을 생성하도록 하는 미디 재생 장치(200)에 포함된, 미디 합성기(211)로 출력하여 이 미디 합성기(211)가 다수의 미디 신호음을 오디오 신호로 생성하도록 한다.
이러한 미디 재생 장치(200)는, 예를 들어 노래방에서 사용되는 노래 반주 단말기일 수 있다. 이러한 미디 재생 장치(200)는 노래 반주 단말기에 국한할 필요는 없고, 예를 들어 (다수의) 외부 장치(100)로부터 실시간으로 데이터를 수신하고, 수신된 데이터에 따라 (다수의) 미디 명령을 생성하여 오디오 신호로 출력할 수 있는 장치이다.
이렇게 출력되는 오디오 신호는 미디 합성기(211)에서 미디 파일에서 추출된 혹은 생성된 미디 명령으로부터 합성된 오디오 신호이거나(이고) 외부 장치(100)로부터 수신된 데이터에 따라 동적으로 생성된 미디 명령에 따라서 합성된 오디오 신호일 수 있다.
이와 같은 오디오 신호는 다수의 채널(예를 들어 스테레오, 5채널 등)로 구성된 오디오 신호일 수 있다.
미디 재생 장치(200)에 대한 보다더 상세한 설명은 도 2 내지 도 4를 통해서 살펴보도록 한다.
오디오 출력 장치(300)는, 미디 재생 장치(200)로부터 디지털 또는 아날로그의 오디오 신호를 수신하고 수신된 오디오 신호를 청각적으로 들을 수 있도록 출력한다.
이러한 오디오 출력 장치(300)는, 예를 들어 다채널의 오디오 신호를 수신하고 수신된 다채널 오디오 신호를 증폭하여 다수의 스피커로 출력하는 앰프와 다수의 스피커를 포함할 수 있다.
디스플레이(400)는, 미디 재생 장치(200)로부터 비디오 신호를 수신하여 수신된 비디오 신호를 시각적으로 볼 수 있도록 하는 장치로서 예를 들어 LCD나 LED TV 등이 있을 수 있다.
도 1의 오디오 출력 장치(300)나 디스플레이(400)는 미디 재생 시스템의 이해를 위해서 예시적으로 도시하였으며, 미디 재생 장치(200)에 연결될 수 있는 오디오 출력 장치(300)나 디스플레이(400)의 예시적인 형태는 다양한 형태를 가질 수 있을 것이다.
도 2는, 미디 재생 장치(200)의 하드웨어 블록도의 일 실시예를 도시한 도면이다. 도 2에 따르면, 미디 재생 장치(200)는, 비휘발성 메모리(201)와 휘발성 메모리(203)와 대용량 저장매체(205)와 입력 인터페이스(207)와 오디오 신호 생성부(209)와 미디 합성기(211)와 오디오 신호 출력 인터페이스(213)와 비디오 신호 생성부(215)와 비디오 신호 출력 인터페이스(217)와 외부 인터페이스(219)와 제어 프로세서(221)와 시스템 버스/제어 버스(223)를 포함한다.
이 중 일부의 블록은 필요에 따라 생략될 수 있고, 도 2에 도시되지 않은 블록이 도 2의 하드웨어 블록도에 더 포함될 수도 있다. 이하에서 각 블록에 대해서 살펴보면, 비휘발성 메모리(201)는, 낸드 플래쉬(Nand Flash)나 노어 플래쉬(Nor Flash) 등과 같이 전원의 공급이 중단되는 경우에도 이 메모리에 저장된 데이터가 유지되는 메모리이다.
이러한 비휘발성 메모리(201)는, 미디 재생 장치(200)에 전원이 공급된 후에 부팅을 진행하기 위한 부트 로더(bootloader)나 이 미디 재생 장치(200)에서 사용될 각종 설정 데이터를 저장하기 위해서 사용되어 질 수 있다.
휘발성 메모리(203)는, 디램(DRAM)과 같이 전원의 공급이 중단되는 경우에 이 메모리에 저장된 데이터가 소멸되는 메모리이다. 이러한 휘발성 메모리(203)는 외부 장치(100)로부터 수신된 데이터를 임시로 저장하고 각종 프로그램을 임시로 저장하여 구동할 수 있도록 하는 메모리로서 사용되어 진다.
대용량 저장매체(205)는, 미디 재생 장치(200)에서 재생할 수 있는 복수의 미디 파일을 저장하고, 이 미디 재생 장치(200)에서 구동될 수 있는 각종 프로그램 등을 저장한다. 이러한 대용량 저장매체(205)는, 예를 들어 하드 디스크, DVD, CD, USB 메모리 등일 수 있다.
대용량 저장매체(205)에 저장되는 복수의 미디 파일 각각은, 미디 재생 장치(200)를 이용하는 사용자에 의하여 선택될 수 있고, 선택된 미디 파일은 제어 프로세서(221)와 미디 합성기(211)에 의해서 미디 명령으로 그리고 미디 신호음으로 생성하고 오디오 신호로 출력하여 재생될 수 있도록 한다.
이러한 미디 파일은, 미리 약속된 포맷의 형태로 저장되고, 예를 들어 미디 파일은, 미디 신호음을 생성할 악기의 개수, 각 악기별 할당될 트랙의 번호, 각 악기별로 특정 음 높낮이나 특정 음의 크기의 미디 신호의 발생 시기와 종료 시기 등과 같은 정보를 포함하고 또한 해당 미디 파일에서 기준 클록으로 사용할 시간 이벤트 값을 결정할 수 있도록 정보를 더 포함할 수 있다.
따라서 이러한 미디 파일은, 해당 미디 파일을 재생하기 위해서 필요한 악기의 개수(트랙의 개수)를 알 수 있게 하고, 각 트랙에 할당된 악기가 무엇인지를 알 수 있게 하고, 각 트랙별로 출력되어야 하는 미디 명령이 언제 출력되어야하는 지를 알 수 있게 한다.
미디 파일에서 결정될 시간 이벤트 값은 주기(period) 값으로 표현될 수 있고, 이러한 주기 값은 미디 파일별로 상이할 수 있고, 예를 들어 각 미디 파일의 기준 박자(3/4, 4/4 박자 등)나 각 미디 파일의 기준 템포에 따라서 해당 박자나 템포에 동기화될 수 있도록 하는 주기 값일 수 있고 예를 들어 1mSec 에서 100mSec 사이의 임의의 값일 수 있다.
이와 같은 주기 값은, 미디 파일로부터 생성된(추출된) 미디 명령이 미디 합성기(211)로 전송될 시점을 결정하기 위해서 사용되고, 각 미디 명령은 각 트랙에서 미디 파일에 의해서 설정된 특정 시점(예를 들어 10은, 이 주기 값이 10회 반복한 경우)에 동기화되어 출력된다.
이와 같은 주기 값의 사용으로, 일련의 다수의 미디 명령이 최소한 주기 값에 따른 시간 이벤트에 동기화하여 미디 신호음을 생성하도록 하고 이에 따라 미디 명령 간의 화음을 맞출 수 있도록 한다.
이러한 주기 값을 또한 외부 장치(100)로부터의 데이터에 대해서도 적용할 수 있고 이러한 주기 값의 데이터에 대한 적용은 특정 미디 파일에 대한 화음을 다른 미디 명령과의 사이에서 맞출 수 있도록 한다.
또한 대용량 저장매체(205)는, 미디 파일의 재생 동안에 디스플레이(400)를 통해서 출력할 수 있는 압축된 다수의 동영상 파일을 포함하고 이러한 동영상 파일은 제어 프로세서(221)에 의해서 실시간으로 디코딩될 수 있다.
입력 인터페이스(207)는, 미디 재생 장치(200)를 사용하는 사용자로부터 제어 명령을 수신할 수 있도록 한다. 이러한 입력 인터페이스(207)는 예를 들어 다수의 (터치) 버튼을 포함하고 이에 더하여 리모콘 수신 포트를 더 포함할 수 있다.
오디오 신호 생성부(209)는, 제어 프로세서(221)에서 생성한 일련의 디지털 오디오 스트림을 아날로그의 오디오 스트림으로 변환하여 오디오 신호 출력 인터페이스(213)로 출력하고(거나) 또는 제어 프로세서(221)로부터 수신된 미디 명령을 약속된 전송 포맷으로 포맷팅하여 미디 합성기(211)로 전송한다.
이러한 오디오 신호 생성부(209)는, 아날로그의 오디오 신호를 생성할 수 있도록 하고 일련의 디지털 오디오 스트림을 수신할 수 있는 DAC(Digital Analog Converter)를 포함하고(거나), 미디 합성기(211)로 전송할 포맷으로서 예를 들어 RS232나 UART 등과 같은 전송 포맷으로 인코딩하기 위한 포맷터(formatter)를 포함한다.
미디 합성기(211)는, 약속된 포맷으로 수신된 일련의 미디 명령을 디코딩하고 각각의 미디 명령에 따른 미디 신호음을 생성하여 각 미디 신호음을 합성하여 합성된 오디오 신호를 출력한다.
이러한 미디 합성기(211)는, 예를 들어 64 폴리(Poly), 128 폴리 등과 같이 다수의 미디 악기 음을 독립적으로 각각 생성할 수 있도록 하고, 각 미디 악기 음에 대해서 다수의 효과 음을 더 추가할 수 있도록 하는, 별도의 칩셋을 포함한다.
이러한 별도의 칩셋은, 수신된 미디 명령을 개별적으로 혹은 독립적으로 처리할 수 있는 DSP(digital signal processor)를 포함할 수 있고, 제어 프로세서(221)가 탑재된 보드와는 별도의 보드에 탑재되어 제어 프로세서(221)와 케이블 등을 통해서 연결되거나 혹은 제어 프로세서(221)가 탑재된 보드에 PCB 패턴을 통해서 제어 프로세서(221)에 연결될 수 있다.
오디오 신호 출력 인터페이스(213)는, 미디 합성기(211)로부터의 오디오 신호 및/또는 오디오 신호 생성부(209)로부터 생성된 오디오 신호를 수신하여 수신된 오디오 신호를 오디오 출력 장치(300)로 출력하는 오디오 출력 단자를 포함한다.
여기서 오디오 신호 출력 인터페이스(213)는, 수신된 미디 합성기(211)의 오디오 신호와 오디오 신호 생성부(209)로부터의 오디오 신호를 하나의 오디오 신호로 합성하여 출력할 수도 있다.
비디오 신호 생성부(215)는, 제어 프로세서(221)에 의해서 생성된 일련의 디지털의 비디오 프레임을 디스플레이(400)에서 사용할 수 있는 비디오 신호 포맷으로 변환한다. 예를 들어 비디오 신호 생성부(215)는, CCIR656 포맷의 디지털 비디오 프레임을 S-Video 또는 아날로그 RGB, 혹은 콤포지트(Composite) 비디오 신호로 변환하거나 혹은 일련의 디지털의 비디오 프레임을 HDMI(High-Definition Multimedia Interface) 포맷으로 변환하여 비디오 신호 출력 인터페이스(217)로 출력한다.
비디오 신호 출력 인터페이스(217)는, 비디오 신호 생성부(215)로부터의 비디오 신호를 디스플레이(400)로 제공하기 위한 비디오 단자를 포함한다. 이러한 비디오 단자는 각 비디오 포맷에 따라서 상이한 비디오 단자일 수 있다.
외부 인터페이스(219)는, 외부 장치(100)로부터 데이터를 수신하기 위한 인터페이스이다. 이러한 외부 인터페이스(219)는 유선 또는 무선의 통신 인터페이스를 포함하고 예를 들어 RS232, USB, 블루투스(Bluetooth) 등과 같은 표준 통신 포맷을 이용할 수 있는 통신 인터페이스일 수 있다.
이러한 외부 인터페이스(219)는, 외부 장치(100)에서 생성된 데이터를 아날로그 데이터로 혹은 데이터 패킷 형태의 디지털 데이터로 수신할 수 있다.
혹은 외부 인터페이스(219)는, 외부 장치(100)와 미디 재생 장치(200) 사이에 약속된 전용의 유선 또는 무선의 통신 방식을 지원하기 위한 인터페이스일 수 있고, 예를 들어 다수의 유선 라인을 가지고 각각의 라인에 특정 아날로그 신호를 수신할 수 있는 인터페이스일 수 있다.
제어 프로세서(221)는, 입력 인터페이스(207)를 통해 수신된 제어 명령에 따라서 혹은 저장부에 저장된 프로그램의 제어에 따라서, 각 블록들을 제어한다.
이러한 제어 프로세서(221)는, 프로그램을 로딩하여 로딩된 프로그램을 구동할 수 있는 하나 이상의 실행 유닛(ALU 유닛 등)을 포함하고, 각각의 실행 유닛은 다른 실행 유닛과는 독립적으로 혹은 의존하여 상이하거나 동일한 프로그램을 수행할 수 있다.
이와 같은 제어 프로세서(221)에서 수행되는 기능과 제어 흐름은, 이하 도 3과 도 4를 통해서 더욱더 상세히 살펴보도록 한다.
시스템 버스/제어 버스(223)는, 제어 프로세서(221)를 중심으로 다른 블록들을 이 제어 프로세서(221)에 연결하여 데이터나 제어 신호를 송수신할 수 있도록 한다.
이러한 시스템 버스/제어 버스(223)는, 제어 프로세서(221)의 제어에 따라 하나 이상의 블록으로(부터) 데이터를 송수신할 수 있는 버스이고, 예를 들어 메모리 버스(DRAM 버스), 외부 I/O나 비휘발성 메모리(201)로(부터) 데이터를 송수신할 수 있는 버스를 포함하고 또한 CCIR656 포맷을 출력하기 위한 병렬 버스나 I2C, SPI, UART, I2S 등과 같은 시리얼의 제어 버스나 데이터 버스를 포함할 수 있다.
이와 같은 시스템 버스/제어 버스(223)는 제어 프로세서(221)에 연결된 하나 이상의 블록이 각각의 블록에서 사용할 수 있는 버스를 이용하여 제어 프로세서(221)와 데이터나 제어 신호(데이터)를 송수신할 수 있도록 한다.
도 3은, 미디 재생 장치(200)의 기능 블록도의 일 실시예를 도시한 도면이다. 도 3에 따르면, 미디 재생 장치(200)는, 외부 미디 신호 설정부(251)와 미디 파일 로딩부(253)와 시간 이벤트 생성부(255)와 외부 미디 신호 생성부(257)와 미디 제어부(259)를 포함한다.
이 중 일부의 블록은 필요에 따라 생략될 수 있고, 도 3에 도시되지 않은 블록이 도 3의 기능 블록도에 더 포함될 수도 있다.
이러한 미디 재생 장치(200)의 기능 블록도는 도 2 하드웨어 블록도 상에서 수행될 수 있고, 예를 들어 프로그램의 형태로 제어 프로세서(221)에 로딩되어 이 제어 프로세서(221)가 프로그램을 이용하여 다른 하드웨어 블록을 제어하도록 구성될 수 있다.
이하에서 각 블록에 대해서 상세히 살펴보면, 외부 미디 신호 설정부(251)는, 외부 장치(100)에서 수신된 데이터로 생성할 미디 악기(의 종류)를 설정할 수 있도록 한다. 이러한 외부 미디 신호 설정부(251)는, 도 2의 하드웨어 블록들을 이용하여 구성될 수 있다.
구체적으로 외부 미디 신호 설정부(251)는, 외부 인터페이스(219)를 통해 연결될 하나 이상의 외부 장치(100) 각각에 대한 미디 악기를 선택하거나 결정하고 이에 따라 연결된 외부 장치(100)로부터의 데이터로부터 선택된 미디 악기의 미디 신호음을 생성할 수 있도록 한다. 이렇게 선택된 미디 악기는 미디 합성기(211)에서 제공하는 미디 악기의 종류에 한정(제한)되고, 이러한 미디 악기의 종류는 예를 들어 비디오 출력 인터페이스를 통해서 표시될 수 있고, 사용자나 관리자의 입력 인터페이스(207)를 통한 제어로 특정 미디 악기를 특정 외부 장치(100)에 할당할 수 있다.
대안으로 혹은 이에 더하여, 외부 미디 신호 설정부(251)는, 연결된 외부 장치(100)로부터 이 외부 장치(100)가 생성할 대상 악기에 대한 식별 정보나 식별 정보를 포함하는 식별 명령을 외부 인터페이스(219)를 통해서 수신할 수도 있다. 따라서 외부 미디 신호 설정부(251)는, 수신된 식별 정보로부터 미디 악기를 자동으로 설정할 수 있도록 하고, 이 외부 미디 신호 설정부(251)에 의해서, 사용자나 관리자가 설정하고자 의도한 미디 악기를 용이하게 설정할 수 있도록 한다.
미디 파일 로딩부(253)는, 사용자 혹은 미디 재생 장치(200)를 관리하는 관리자에 의해서 입력 인터페이스(207)를 통해 선택된 미디 파일 혹은 미디 파일 스케쥴링 프로그램 등에 의해서 자동으로 선택된 미디 파일을 대용량 저장 매체에서 식별하고, 식별된 미디 파일을 임시로 휘발성 메모리(203)에 로딩하여 미디 제어부(259)에서 사용할 수 있도록 준비한다.
시간 이벤트 생성부(255)는, 미디 제어부(259)로부터 시간 이벤트를 주기적으로 생성하기 위한 예를 들어 주기 값(10 mSec 등)을 수신(설정)하고, 수신된 주기 값을 이용하여 매 주기마다 펄스의 형태 혹은 주기의 횟수 값의 형태로 미디 제어부(259)로 출력한다.
이러한 시간 이벤트 생성부(255)는, 하드웨어 카운터 혹은 소프트웨어 카운터에 클록(하드웨어 또는 소프트웨어의 클록) 등을 이용하여 이벤트를 발생하도록 구현할 수 있다.
외부 미디 신호 생성부(257)는, 하나 이상 외부 장치(100) 각각으로부터 데이터를 외부 인터페이스(219)를 통해 수신하고, 수신된 데이터를 외부 미디 신호 설정부(251)에서 설정한 해당 외부 장치(100)의 미디 악기의 악기 음을 나타내는 미디 명령을 데이터 수신에 바로 동적으로 생성하여 출력한다.
이러한 외부 미디 신호 생성부(257)는, 외부 장치의 개수에 따라서 그 개수만큼 각각 구성될 수 있다.
구체적으로 외부 미디 신호 생성부(257)는, 외부 장치(100)로부터 데이터를 수신한다. 이 데이터는 아날로그의 데이터이거나 디지털의 데이터일 수 있다. 이러한 데이터는 설정된 미디 악기에 대한 미디 음을 출력 혹은 제어하도록 하는 미디 명령을 생성하기에 필요한 정보를 포함한다. 예를 들어 수신된 데이터에는 설정된 미디 악기의 음의 높낮이나 음의 크기나 이 음의 길이를 알 수 있도록 한다.
예를 들어 디지털의 데이터는 음의 높낮이 및/또는 음의 크기를 나타내는 디지털의 데이터를 시리얼 혹은 병렬의 데이터 패킷을 포함할 수 있고, 먼저 생성된 음의 높낮이나 크기 이후에 음이 없음을 나타내는(예를 들어 음의 높낮이나 음의 크기를 나타내는 데이터 패킷의 해당 값이 0과 같이 낮은) 데이터 패킷으로 미디 음의 길이를 알 수 있도록 한다.
이와 같은 디지털의 데이터는 주기적으로 혹은 비주기적으로 외부 장치(100)로부터 수신될 수 있고, 외부 장치(100)는 이러한 디지털의 데이터를 특정 액션에 따라서 생성할 수 있다.
또한 아날로그의 데이터에서도 이 아날로그의 데이터의 변화량으로 혹은 절대량으로 음의 높낮이나 크기나 길이 값을 알 수 있다. 예를 들어 특정 해상도(16 비트 등)를 가진 ADC(Analog-Digital Converter)를 이용하여 일련의 아날로그 데이터를 일련의 디지털 데이터로 변환하고, 이 변환된 일련의 디지털 데이터에서 설정된 미디 악기에 대한 음의 높낮이(크기 값을 이용하여 혹은 주파수 도메인으로 변환하여) 값을 결정하거나 음의 크기 값을 결정하고, 음의 크기 값의 고저에 따라서 임계값 이하의 음의 크기 값으로 음의 길이를 알 수 있도록 한다.
아날로그 데이터를 수신하기 위해서 다수의 아날로그 신호 라인을 포함할 수 있고 예를 들어 하나의 신호 라인은 음의 높낮이를 결정하기 위한 신호 라인일 수 있고 다른 신호 라인은 음의 크기나 음의 길이를 결정하기 위해서 사용될 수 있는 신호 라인일 수 있다.
여기서 외부 미디 신호 생성부(257)는, 각 외부 장치(100)에 할당된 미디 악기의 타입에 따라서 음의 높낮이나 음의 크기를 결정하는 방식이 다를 수 있고, 이로부터 생성되는 미디 명령에 결정된 특정 데이터만을 포함할 수도 있다.
예를 들어 설정된 악기가 피아노와 같은 건반 악기의 경우와, 드럼과 같은 타악기의 경우, 트럼펫과 같은 관현악기의 경우 각각이 상이한 방식으로 음의 높낮이나 음의 크기를 결정할 수 있다.
이를 위해서, 대용량 저장 매체(205)는 외부 장치(100)로부터 수신된 데이터에서 할당된 악기별 음의 높낮이나 음의 크기 등을 결정하도록 하는 맵핑 테이블을 더 포함할 수 있다. 이러한 맵핑 테이블은 각 데이터의 타입에 따라서, 수신된 데이터를 입력 파라메터로 하고, 이 입력 파라메터의 값에 대응(반드시 동일할 필요는 없으며 특정 범위에 포함하는 지로)하는 음의 높낮이 또는 음의 크기를 출력하도록 하는 테이블일 수 있다.
이러한 맵핑 테이블은, 외부 장치(100)의 데이터 입력 방식(아날로그, 디지털, 라인 수 등)에 따라서 분리되고, 각 외부 장치에 할당된 악기별로 구분될 수 있고, 맵핑 테이블에 포함된 출력은, 미리 결정될 수 있고 주파수 도메인에서 혹은 시간 도메인 상에서 결정될 수 있다.
이러한 맵핑 테이블은, 외부 미디 신호 생성부(257)에서 동적으로 로딩하여 수신된 데이터로부터 실시간으로 설정된 미디 악기에 대한 미디 음의 높낮이나 크기를 알 수 있도록 한다.
이러한 과정을 통해서, 외부 미디 신호 생성부(257)는 각 외부 장치(100)에 설정된 미디 악기에 대한 미디 악기 신호음을 발생시킬 수 있는 미디 명령을 생성한다. 이러한 미디 명령은, 미디 제어부(259)가 식별하여 이용할 수 있고 미디 합성기(211)에서 명령을 해독할 수 있는 미디 명령이고, 예를 들어 음의 높낮이 값이나 음의 크기 값을 포함할 수 있고, 음의 길이를 결정하여 이전에 출력된 미디 명령에 포함되어 생성된 미디 신호에 대한 중단(Off)를 제어하기 위한 제어 명령을 포함할 수 있다. 이와 같이 외부 미디 신호 생성부(257)에서 생성된 미디 명령은 미디 제어부(259)에 의해서 수정될 수 있고 수정된 미디 명령이 미디 합성기(211)로 출력될 수 있다.
또한 미디 명령은, 외부 장치(100)에 대한 식별자를 더 포함할 수 있고 이에 더하여 미디 제어부(259)에서 어떤 미디 악기에 대한 것인지를 식별할 수 있도록 하는 설정된 미디 악기에 대한 식별 정보를 더 포함할 수 있다. 대안으로 각 외부 장치(100)에 대해 설정된 미디 악기에 대한 식별 정보는 외부 미디 신호 설정부(251)를 통해서 설정된 시점에 이에 대한 식별 정보를 미디 제어부(259)로 전송할 수 있다.
혹은 미디 명령은, 이 외부 장치(100)에 할당된 트랙 번호(미디 제어부(259)로부터 수신하여)나 디폴트 트랙 번호(임의의 미리 설정된)를 더 포함할 수도 있다.
이와 같은 미디 명령은, 다양한 정보를 포함하고, 이 미디 명령에 포함된 일부의 데이터는 미디 합성기(211)에서 직접 이용할 수 있는 데이터이다.
이와 같이 외부 미디 신호 생성부(257)는, 하나 이상의 외부 장치(100) 각각으로부터 수신된 데이터로부터 미디 명령을 생성하고 생성된 미디 명령을 미디 제어부(259)에 전송함으로써 용이하게 외부 장치(100)와 연동하여 미디 악기를 연주할 수 있도록 한다.
미디 제어부(259)는, 외부 미디 신호 생성부(257)로부터 생성된 미디 명령을 동적으로 수신하고, 이 미디 명령을 해당 외부 장치(100)에 동적으로 할당된 미디(외부 미디) 트랙에 할당하여 미디 합성기(211)로 시간 이벤트에 동기화하여 출력한다.
이와 같은 미디 제어부(259)는, 먼저 미디 파일 로딩부(253)로부터 로딩된 미디 파일로부터 연주될 복수의 악기를 식별하고 복수의 악기에 대응하는 복수의 트랙에 각 악기를 할당한다.
또한 미디 제어부(259)는, 외부 미디 신호 설정부(251)로부터 각 외부 장치(100)에 대하여 선택된 미디 악기 정보를 수신할 수 있고, 이 외부 장치(100)에 선택된 미디 악기에 따라서 미디 파일로부터의 복수의 트랙에 임의의 외부 미디 트랙을 더 할당한다.
여기서 미디 제어부(259)는, 미디 파일로부터의 이용될 미디 악기와 외부 장치(100)로부터의 미디 악기가 동일한지를 결정하고 만일 동일한 경우에는 미디 파일로부터의 해당 미디 악기에 할당된 트랙을 제외시켜 단지 외부 장치(100)로부터 연주된 미디 명령만을 포함하도록 할 수도 있다.
그리고 이러한 할당된 정보(예를 들어 트랙의 개수와 각 트랙에 할당된 악기에 대한 식별 정보)는 미디 합성기(211)로 설정 정보로서 연주 시작 전에 출력될 수 있다.
그리고 미디 제어부(259)는, 미디 파일의 로딩 시에, 이 미디 파일로부터 시간 이벤트를 발생시키길 위한 주기 값을 미디 파일로부터(예를 들어 저장되어 있거나 미디 파일의 특성 정보로부터 계산하여) 결정하여 이 결정된 주기 값을 시간 이벤트 생성부(255)로 전송한다.
이후에 미디 제어부(259)는, 각 트랙에 할당된 미디 악기에 대한 특정 시간 이벤트에서 발생할 미디 명령을 미디 파일로부터 생성하여 해당 특정 시간 이벤트를 시간 이벤트 생성부(255)로부터 수신한 경우에 이 미디 명령을 출력한다.
따라서, 미디 파일에 포함된 모든 악기에 대한 미디 명령들은 모두 시간 이벤트에 동기화되어 출력되고 이에 따라 화음의 조화를 이룰 수 있도록 한다.
반면에 외부 장치(100)로부터 출력된 미디 명령들은 출력되어야 하는 시간 정보가 미리 결정되어 있지 않으므로, 미디 파일로부터 미디 명령과 마찬가지로, 미디 제어부(259)가 외부 미디 신호 생성부(257)로부터의 미디 명령을 수신한 직후의 시간 이벤트의 발생까지 기다리고 이 시간 이벤트가 발생한 경우에, 해당 지연된 미디 명령을 외부 장치(100)에 대하여 할당된 외부 미디 트랙으로 출력한다.
그리고 이러한 시간 이벤트는 시간 이벤트 생성부(255)에 의해서 주기 값에 따라 주기적으로 발생한다.
여기서 특정 미디 트랙에 할당(출력)한다는 의미는, 물리적으로 분리된 패스(신호 라인)에 할당(출력)하는 것을 의미할 수도 있으나, 바람직하게는 해당 외부 장치(100) 혹은 미디 악기를 연주할 수 있는 미디 합성기(211)에서, 이용할 수 있는 복수의 악기 중에서 하나를 할당(하나의 악기에 대하여 출력)한다는 것을 나타내고 일반적으로 특정 트랙 번호를 포함하는 미디 명령이 미디 합성기(211)로 출력되는 것을 의미할 수 있다.
외부 장치(100)에 대한 트랙 번호는 외부 미디 신호 생성부(257)로부터 수신된 미디 명령에 포함되거나 혹은 미디 제어부(259)가 미디 명령을 수신 후에 동적으로 트랙 번호를 추가하거나 변경할 수 있다.
이와 같이 미디 제어부(259)가, 동적으로 미디 명령을 외부 미디 신호 생성부(257)로부터 수신할 수 있고, 이 미디 명령을 시간 이벤트에 동기화하여 출력함으로써 용이하게 미디 합성기(211)를 활용할 수 있도록 하고, 사용자에게 흥미를 유발할 수 있도록 하고 다른 미디 음과 화음을 이룰 수 있도록 한다.
이와 같은 미디 재생 장치(200)의 기능 블록들은 다양한 형태의 하드웨어 플랫폼 상에 다양한 형태의 소프트웨어 구조로 혹은 소프트웨어와 하드웨어의 조합으로 구현될 수 있고, 예를 들어 외부 미디 신호 생성부(257)와 미디 제어부(259)는 별도의 프로세서(혹은 프로세서 유닛)에서 실행되거나 혹은 별도의 프로그램이나 프로세스(process) 등에 의해서 독립적으로 구현될 수 있다.
도 4는, 외부 장치(100)와 연동할 수 있는 미디 재생 방법의 제어 흐름을 도시한 도면이다. 이러한 미디 재생 방법은 도 2의 하드웨어 블록도 상에서 수행될 수 있고 제어 프로세서(221)상에서 수행되는 프로그램의 형태로 구현될 수 있다.
이하에서는 도 3에서 설명한 내용과 중복되지 않는 범위에서 살펴보도록 한다.
먼저 단계 S101에서, 하나 이상의 외부 장치(100) 각각에 대하여 이 외부 장치(100)의 동작에 따라 혹은 출력에 따라 생성된 데이터로부터 생성할 미디 악기를 설정한다. 설정된 미디 악기는 미디 합성기(211)에서 제공하는 미디 악기들의 종류에 따라서 한정될 수 있다. 이러한 단계 S101은 미디 재생 장치(200)를 사용하는 사용자나 관리자에 의해서 수행될 수 있다.
그리고 단계 S103에서, 사용자의 선택으로 선택된 미디 파일을 로딩하고 이 미디 파일에서 연주되는 하나 이상의 미디 악기를 결정하여 대응하는 하나 이상의 미디 트랙에 할당한다. 이러한 결정과 할당은 미디 파일을 약속된 포맷에 따라 분석함으로써 이루어질 수 있다.
이후 단계 S105에서, 단계 S103에서 결정된 하나 이상의 미디 악기에 대한 하나 이상의 미디 트랙에 단계 S101에서 결정된 외부 장치(100)에 대한 하나 이상의 외부 미디 트랙을 더 할당한다.
여기서 미디 파일로부터의 기존 미디 악기와 외부 장치(100)에 대하여 할당된 미디 악기가 동일한 경우에는 기존 미디 악기에 대한 미디 트랙은 제거하거나 생략하여 사용자에 의한 연주로 대체할 수 있다.
그리고 이 단계 S105에서, 미디 파일로부터 시간 이벤트에 사용할 주기 값을 결정하고, 이 주기 값을 카운터에 설정하고 카운터를 특정 클록(하드웨어 혹은 소프트웨어)마다 감소시켜서 시간 이벤트가 발생할 수 있도록 한다.
이후 단계 S107에서, 실시간으로 외부 장치(100) 각각으로부터 아날로그 혹은 디지털의 데이터를 수신하고, 단계 S109에서 이 수신된 데이터로부터 이 외부 장치(100)에 대하여 할당된 미디 악기를 연주하기 위한 미디 명령을 생성한다.
여기서 생성된 미디 명령에는 데이터로부터 결정할 수 있는 음의 크기값이나 음의 높낮이 값이나 음의 On/Off 제어에 대한 정보를 포함할 수 있고, 이러한 정보들은 설정된 미디 악기에 대하여 미디 악기 음을 출력할 수 있도록 한다.
단계 S107과 S109와는 별개로 단계 S111에서 단계 S105에서 설정한 시간 이벤트에 따라, 미디 파일에 포함된 미디 악기들에 대하여 특정 시간 t(이러한 시간 t는 예를 들어 시간 이벤트 생성부(255)에 주기 값을 설정한 후에 발생하는 시간 이벤트의 발생 횟수로서 정의될 수 있다)에 출력될 미디 명령을 미디 파일로부터 결정하여 생성한다.
여기서, 도 4에서 단계 S107 및 S109와 대비되는 단계 S111이 분리된 별개의 패스로 도시하여 병렬적으로 실행되는 것으로 도시하였으나 이에 국한되지 않고 순차적으로 실행될 수도 있다.
그리고 단계 S113에서, 시간 t에 대한 시간 이벤트가 발생하였는지를 결정하고 만일 시간 이벤트가 발생하지 않은 경우에는 단계 S113으로 전이하여 이 과정을 반복한다. 시간 이벤트는 이벤트의 발생을 나타내는 형태(펄스와 같이)로 혹은 이 이벤트의 횟수 값의 변경(즉 주기 값 후에 1씩 증가하여)으로 표현될 수 있을 것이다.
시간 이벤트의 발생 후 단계 S115에서, 외부 장치(100)에 대하여 데이터에 의하여 생성된 미디 명령을 동적으로 지정된 외부 미디 트랙으로 출력하여 미디 합성기(211)로 전송하고, 마찬가지로 시간 이벤트 t에서 출력할 미디 파일로부터의 미디 트랙별 미디 명령을 출력하여 미디 합성기(211)로 전송한다.
그리고 미디 합성기(211)로의 전송은, 미디 합성기(211)와의 약속된 전송 포맷으로 전송되며, 예를 들어 RS232 혹은 UART 등과 같은 유선의 혹은 무선의 포맷으로, 각 미디 명령을 데이터 패킷으로 포함하여 전송될 수 있다.
이와 같이, 외부 장치(100)에 대하여 동적으로 생성된 미디 명령이 시간 이벤트에 동기화되여 지연 출력됨으로써, 다른 미디 명령이나 각 미디 파일의 특성에 맞추어 조화로운 음악을 출력할 수 있도록 한다.
그리고 단계 S117에서, 연주가 종료되지 않은 경우에 단계 S107로 전이하고,연주를 완주하거나 연주 종료 명령을 사용자로부터 수신한 경우에 단계 S200이나 후속하는 미디 파일을 로딩하기 위해서 단계 S103으로 전이한다.
한편 단계 S109에서 생성된 미디 명령과 단계 S117에서 출력된 미디 명령은 상이할 수 있고, 예를 들어 단계 S109에서의 미디 명령은 설정된 악기에 대한 악기의 미디 음을 발생시키기 위해서 필요한 정보(음의 높낮이나 음의 크기, 음의 On/Off)를 포함하고 이에 더하여 설정된 악기의 식별자나 외부 장치(100)의 식별자를 포함하는 형태를 취할 수 있다.
반면에, 단계 S117에서 출력되는 미디 명령은, 단계 S109에서 수신된 미디 명령의 음의 발생시키기 위해서 필요한 정보에 각 미디 악기에 대한 트랙 정보를 더 포함할 수 있다. 따라서 비록 동일한 미디 명령이라는 용어를 사용하고 있다고 하더라도 그 포맷에 있어서는 일부 상이할 수 있다.
이상과 같은 도 4의 미디 재생 방법을 실행함으로써, 미디 합성기(211)에 포함된 다양한 악기를 활용할 수 있도록 하고 다양한 음장 효과를 제공할 수 있고 미디 악기를 교육할 수 있는 미디 재생 장치를 저렴한 비용으로 제공할 수 있도록 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100 : 외부 장치 200 : 미디 재생 장치
201 : 비휘발성 메모리 203 : 휘발성 메모리
205 : 대용량 저장매체 207 : 입력 인터페이스
209 : 오디오 신호 생성부 211 : 미디 합성기
213 : 오디오 신호 출력 인터페이스 215 : 비디오 신호 생성부
217 : 비디오 신호 출력 인터페이스 219 : 외부 인터페이스
221 : 제어 프로세서 223 : 시스템 버스/제어 버스
251 : 외부 미디 신호 설정부 253 : 미디 파일 로딩부
255 : 시간 이벤트 생성부 257 : 외부 미디 신호 생성부
259 : 미디 제어부
300 : 오디오 출력 장치 400 : 디스플레이

Claims (8)

  1. 외부 장치와 연동할 수 있는 미디 재생 장치로서,
    외부 장치에서 출력된 데이터로부터 미디 명령을 동적으로 생성하는 외부 미디 신호 생성부; 및
    복수의 미디 파일 중 선택된 미디 파일로부터의 복수의 미디 악기에 대한 미디 명령과 상기 외부 미디 신호 생성부에서 생성된 미디 명령을 각각 미디 트랙에 할당하여 동적으로 출력하는 미디 제어부;를 포함하며,
    상기 미디 제어부는, 상기 외부 장치에 대하여 설정된 미디 악기가 상기 선택된 미디 파일로부터의 상기 복수의 미디 악기 중 하나의 미디 악기에 대응하는 경우, 상기 하나의 미디 악기에 대한 미디 명령의 출력을 생략하는,
    미디 재생 장치.
  2. 제1항에 있어서,
    상기 미디 제어부는, 상기 외부 미디 신호 생성부에서 생성된 미디 명령을, 상기 선택된 미디 파일로부터 결정되고 주기적으로 생성된 시간 이벤트에 동기화하여, 지연 출력하는 것을 특징으로 하는,
    미디 재생 장치.
  3. 제1항에 있어서,
    상기 외부 장치의 데이터로부터 생성할 미디 악기를 설정할 수 있는 외부 미디 신호 설정부를 더 포함하고,
    상기 외부 미디 신호 생성부는, 상기 설정된 미디 악기의 악기 음을 출력할 수 있도록 하는 미디 명령을 생성하는 것을 특징으로 하는,
    미디 재생 장치.
  4. 제3항에 있어서,
    상기 미디 제어부는, 상기 외부 미디 신호 생성부에서 생성된 미디 명령을 위한 외부 미디 트랙을 생성하고, 외부 미디 트랙에 상기 미디 명령을 시간 이벤트에 동기화하여 지연 출력하는 것을 특징으로 하는,
    미디 재생 장치.
  5. 제3항에 있어서,
    상기 데이터는, 설정된 미디 악기의 음의 높낮이 값, 음의 크기 값, 음의 길이 값 중 적어도 하나 이상의 값을 생성할 수 있도록 하는 것을 특징으로 하는,
    미디 재생 장치.
  6. 외부 장치와 연동할 수 있는 미디 재생 방법으로서,
    외부 장치를 위한 외부 미디 트랙을 복수의 미디 파일 중 선택된 미디 파일로부터 결정된 하나 이상의 미디 트랙에 더 할당하는 단계;
    상기 외부 장치로부터 데이터를 수신하는 단계;
    상기 데이터로부터 설정된 미디 악기를 위한 미디 명령을 생성하는 단계; 및
    생성된 미디 명령을 할당된 외부 미디 트랙과 상기 선택된 미디 파일로부터의 복수의 미디 악기에 대한 미디 명령을 상기 하나 이상의 미디 트랙에 동적으로 출력하는 단계를 포함하며,
    상기 출력 단계는, 상기 외부 장치에 대하여 설정된 미디 악기가 상기 선택된 미디 파일로부터의 상기 복수의 미디 악기 중 하나의 미디 악기에 대응하는 경우, 상기 하나의 미디 악기에 대한 미디 명령의 출력을 생략하는,
    미디 재생 방법.
  7. 제6항에 있어서,
    상기 출력 단계는, 생성된 미디 명령을, 상기 선택된 미디 파일로부터 결정되고 주기적으로 생성된 시간 이벤트에 동기화하여, 지연 출력하는 것을 특징으로 하는,
    미디 재생 방법.
  8. 제6항에 있어서,
    상기 외부 장치의 데이터로부터 생성할 미디 악기를 설정하는 단계를 더 포함하고,
    상기 미디 명령을 생성하는 단계는, 상기 설정된 미디 악기의 악기 음을 출력할 수 있도록 하는 미디 명령을 생성하는 것을 특징으로 하는,
    미디 재생 방법.
KR1020120020383A 2012-02-28 2012-02-28 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법 KR101268994B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120020383A KR101268994B1 (ko) 2012-02-28 2012-02-28 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120020383A KR101268994B1 (ko) 2012-02-28 2012-02-28 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법

Publications (1)

Publication Number Publication Date
KR101268994B1 true KR101268994B1 (ko) 2013-05-29

Family

ID=48667113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120020383A KR101268994B1 (ko) 2012-02-28 2012-02-28 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법

Country Status (1)

Country Link
KR (1) KR101268994B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215148A (ja) * 2001-01-17 2002-07-31 Yamaha Corp 自動演奏装置、方法及び媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215148A (ja) * 2001-01-17 2002-07-31 Yamaha Corp 自動演奏装置、方法及び媒体

Similar Documents

Publication Publication Date Title
CN103380454A (zh) 用于钹振动的电子处理的系统及方法
JP5086445B2 (ja) オーディオプレーヤにおいてマルチリージョン機器サポートを提供するためのシステムおよび方法
WO2015002238A1 (ja) ミキシング管理装置及びミキシング管理方法
CN112119456A (zh) 任意信号插入方法以及任意信号插入系统
KR101260017B1 (ko) 오디오 채널 간의 동기화를 위한 오디오 재생 장치
WO2018003729A1 (ja) 音色設定装置、電子楽器システム及び音色設定方法
TW571555B (en) Tone generator apparatus sharing parameters among channels
JP5130348B2 (ja) 携帯用電子機器を利用したカラオケ協演方法
JP5394401B2 (ja) オーディオプレーヤ間の出力ボリュームの類似性の改善のためのシステムおよび方法
EP1784049A1 (en) A method and system for sound reproduction, and a program product
KR101268994B1 (ko) 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법
KR20060025411A (ko) Mp3 및 노래방기기용 중앙처리장치
KR20190091990A (ko) 반주기와 연결되는 악보영상출력장치 및 이를 이용한 악보영상출력방법
EP3518230B1 (en) Generation and transmission of musical performance data
JP5086444B2 (ja) オーディオプレーヤにおいて可変ルートノートサポートを提供するためのシステムおよび方法
KR100928152B1 (ko) 진동기능을 갖는 노래방 마이크를 이용한 노래반주시스템및 그 시스템의 진동기능 제공 방법
US10805475B2 (en) Resonance sound signal generation device, resonance sound signal generation method, non-transitory computer readable medium storing resonance sound signal generation program and electronic musical apparatus
JP2014066922A (ja) 楽曲演奏装置
KR20130095389A (ko) 실시간 영상합성 시스템
JP6651729B2 (ja) 電子音楽装置及びプログラム
JP2015087436A (ja) 音声処理装置、音声処理装置の制御方法およびプログラム
US11418883B2 (en) Audio interface apparatus and recording system
WO2010119541A1 (ja) 音発生装置、音発生方法、音発生プログラム、及び記録媒体
JP5800155B2 (ja) カラオケ装置
JP6870918B2 (ja) 電子楽器

Legal Events

Date Code Title Description
A201 Request for examination
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: 20160601

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee