KR101846023B1 - Apparatus and Method for interworking between cycle animation and music based on MIDI information - Google Patents
Apparatus and Method for interworking between cycle animation and music based on MIDI information Download PDFInfo
- Publication number
- KR101846023B1 KR101846023B1 KR1020160182804A KR20160182804A KR101846023B1 KR 101846023 B1 KR101846023 B1 KR 101846023B1 KR 1020160182804 A KR1020160182804 A KR 1020160182804A KR 20160182804 A KR20160182804 A KR 20160182804A KR 101846023 B1 KR101846023 B1 KR 101846023B1
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- note
- mapped
- animation
- midi
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 23
- 238000013507 mapping Methods 0.000 claims description 33
- 230000003252 repetitive effect Effects 0.000 claims description 6
- 230000001172 regenerating effect Effects 0.000 claims 3
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 230000008929 regeneration Effects 0.000 description 4
- 238000011069 regeneration method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000226585 Antennaria plantaginifolia Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- YYJNOYZRYGDPNH-MFKUBSTISA-N fenpyroximate Chemical compound C=1C=C(C(=O)OC(C)(C)C)C=CC=1CO/N=C/C=1C(C)=NN(C)C=1OC1=CC=CC=C1 YYJNOYZRYGDPNH-MFKUBSTISA-N 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Primary Health Care (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
Description
본 발명은 미디(MIDI)에 관한 것으로, 특히 미디 정보를 이용하여 반복 애니메이션(cycle animation)과 음악을 서로 연동하는 기술에 관한 것이다. BACKGROUND OF THE
미디(MIDI:Musical Instrument Digital Interface)는 음악 장비를 위한 범용적인 통신 표준을 의미한다. 통상적으로 이러한 통신 표준을 따르는 전자 악기, 음악 파일 및 상기 표준에 준하여 만들어진 음원을 의미하기도 한다.Musical Instrument Digital Interface (MIDI) is a universal communication standard for music equipment. But also refers to electronic musical instruments, music files, and sound sources that are produced in accordance with the above standards, which generally conform to these communication standards.
한편, 반복 애니메이션(cycle animation)은 루프(loop)시키면서 끊임없이 재생할 수 있는 애니메이션을 말한다. 흔히 웹(Web) 상에서 사용하기 위해, 파일의 용량을 크게 줄일 수 있는 GIF 애니메이션(.gif 파일) 형식으로 많이 작성되지만, 반복 애니메이션이 GIF 애니메이션으로 한정되지는 않는다. 즉, 동영상이나 이미지 묶음 등 파일 저장 형태는 달라질 수 있다. Cycle animation, on the other hand, refers to an animation that can be played back constantly while looping. Although often written in the form of GIF animations (.gif files) that can greatly reduce the file's capacity for use on the Web, iterative animations are not limited to GIF animations. In other words, the way in which files are stored, such as movies or image bundles, can vary.
그런데, 음악을 포함하는 반복 애니메이션 콘텐츠를 제작할 때, 시청의 어색함을 주지 않도록 하기 위해서는 음악과 애니메이션을 연동이 자연스럽게 이루어져야 한다. 이를 위해 제작이 완료된 음악과 애니메이션을 동시에 각각 재생해보면서 애니메이션의 시작 시각 및 재생 속도 등을 조절하며 싱크(sync)를 맞추어주어야 한다. 이와 같이, 음악과 애니메이션의 제작 작업 이외에 추가로 애니메이션을 음악에 맞추어 조절하면서 최종적인 콘텐츠를 완성하는 별도의 작업이 요구되므로 작업량과 작업 시간이 증가한다. 또한, 이와 같이 생성된 애니메이션은 재사용하기 어렵다.However, when producing repetitive animation contents including music, it is natural that music and animation should be linked in order to prevent awkwardness of city hall. For this purpose, it is necessary to adjust the start time and playback speed of the animation while synchronizing the finished music and the animation at the same time, and synchronize them. In this way, in addition to music and animation production work, additional work is required to complete the final contents while adjusting the animation to the music, thereby increasing workload and work time. Also, the animation thus generated is difficult to reuse.
본 발명은 음악 제작자와 애니메이션 제작자가 완전히 분업하여 각각 작업을 완료할 수 있는 환경을 마련할 수 있도록 하는 미디 정보 기반 반복 애니메이션과 음악 연동 장치 및 방법을 제공한다.The present invention provides a repeating animation based on MIDI information and an apparatus and method for interlocking music, which enable a music producer and an animation producer to completely separate and complete an operation.
본 발명은 생성된 애니메이션의 재사용성을 확보하기 위한 미디 정보 기반 반복 애니메이션과 음악 연동 장치 및 방법을 제공한다.The present invention provides a repeating animation based on MIDI information and a musical apparatus and method for ensuring reusability of the generated animation.
본 발명은 미디 정보 기반 반복 애니메이션과 음악 연동 장치로, 미디 정보를 생성하여 미디 음악 연주부 및 반복 애니메이션 재생부에 입력하는 미디 정보 입력부와, 상기 입력된 미디 정보에 따라 음악을 재생하는 미디 음악 연주부와, 반복 애니메이션을 구성하는 프레임들 중 상기 입력된 미디 정보에 따라 매핑된 프레임을 소정 재생 시간 동안 재생하는 반복 애니메이션 재생부를 포함한다.The present invention relates to a MIDI information-based repetition animation and a music interlocking device, comprising: a MIDI information input unit for generating MIDI information and inputting the generated MIDI information to a MIDI music player and a repeating animation player; And a repeating animation reproducing unit for reproducing a frame mapped according to the inputted MIDI information among the frames constituting the repeated animation for a predetermined reproduction time.
본 발명은 미디 정보 기반 반복 애니메이션과 음악 연동 방법으로, 반복 애니메이션을 구성하는 프레임들 중 입력된 미디 정보에 따라 프레임을 매핑하는 단계와, 상기 입력된 미디 정보에 따라 재생 시간을 결정하여, 상기 매핑된 프레임을 상기 결정된 재생 시간 동안 재생하는 단계를 포함한다. According to the present invention, there is provided a method for reproducing an animation based on MIDI information, comprising the steps of: mapping a frame in accordance with input MIDI information among frames constituting an iteration animation, And reproducing the frame for the determined reproduction time.
본 발명에 따라, 음악 제작자와 애니메이션 제작자가 완전히 분업하여 각각 작업을 완료할 수 있는 환경이 제공될 수 있다. 또한, 사용된 애니메이션의 재사용성이 가능하도록 한다.According to the present invention, an environment can be provided in which the music producer and the animation producer can completely separate and complete their respective works. It also enables reusability of the animation used.
도 1은 본 발명의 일 실시 예에 따른 미디 정보 기반 반복 애니메이션과 음악 연동 장치의 블록 구성도이다.
도 2는 본 발명의 일 실시 예에 따른 반복 애니메이션 재생부의 구성도이다.
도 3은 노트 번호와 애니메이션 프레임 번호의 관계 그래프이다.
도 4는 본 발명의 일 실시 예에 따른 미디 정보 기반 반복 애니메이션과 음악 연동 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시 예에 따른 프레임을 매핑하는 단계를 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시 예에 따른 프레임을 재생하는 단계를 설명하기 위한 순서도이다.FIG. 1 is a block diagram of a repeating animation based on MIDI information and a music interlocking apparatus according to an embodiment of the present invention.
2 is a block diagram of a repetitive animation reproducing unit according to an embodiment of the present invention.
Fig. 3 is a graph showing the relationship between the note number and the animation frame number.
4 is a flowchart illustrating a method of repeating animation based on MIDI information and music in accordance with an embodiment of the present invention.
FIG. 5 is a flowchart illustrating a process of mapping a frame according to an exemplary embodiment of the present invention. Referring to FIG.
6 is a flowchart for explaining a step of reproducing a frame according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. , Which may vary depending on the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.Each block of the accompanying block diagrams and combinations of steps of the flowcharts may be performed by computer program instructions (execution engines), which may be stored in a general-purpose computer, special purpose computer, or other processor of a programmable data processing apparatus The instructions that are executed through the processor of the computer or other programmable data processing equipment will generate means for performing the functions described in each block or flowchart of the block diagram.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.These computer program instructions may also be stored in a computer usable or computer readable memory capable of directing a computer or other programmable data processing apparatus to implement the functionality in a particular manner so that the computer usable or computer readable memory It is also possible for the instructions stored in the block diagram to produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of the flowchart.
그리고 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.And computer program instructions may be loaded onto a computer or other programmable data processing equipment so that a series of operating steps may be performed on a computer or other programmable data processing equipment to create a computer- It is also possible that the instructions that perform the data processing equipment provide the steps for executing the functions described in each block of the block diagram and at each step of the flowchart.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.Also, each block or step may represent a portion of a module, segment, or code that includes one or more executable instructions for executing the specified logical functions, and in some alternative embodiments, It should be noted that functions may occur out of order. For example, two successive blocks or steps may actually be performed substantially concurrently, and it is also possible that the blocks or steps are performed in the reverse order of the function as needed.
이하, 첨부 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다. 그러나 다음에 예시하는 본 발명의 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시 예에 한정되는 것은 아니다. 본 발명의 실시 예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공된다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the following embodiments of the present invention may be modified into various other forms, and the scope of the present invention is not limited to the embodiments described below. The embodiments of the present invention are provided to enable those skilled in the art to more fully understand the present invention.
도 1은 본 발명의 일 실시 예에 따른 미디 정보 기반 반복 애니메이션과 음악 연동 장치의 블록 구성도이다.FIG. 1 is a block diagram of a repeating animation based on MIDI information and a music interlocking apparatus according to an embodiment of the present invention.
도 1을 참조하면, 미디 정보 기반 반복 애니메이션과 음악 연동 장치(이하 '장치'로 기재함)는 미디 정보 입력부(110), 미디 음악 연주부(120) 및 반복 애니메이션 재생부(130)를 포함한다.Referring to FIG. 1, a MIDI information-based repeat animation and a music linking device (hereinafter referred to as "device") include a MIDI
미디 정보 입력부(110)는 음을 연주하는 데 필요한 미디 정보를 미디 음악 연주부(120)와 반복 애니메이션 재생부(130)로 전달한다. 여기서, 미디 정보는 미디 표준에 맞추어 음악을 재생하기 위해 요구되는 연주 정보로, 음악 제작자가 음악(악보)를 연주하기 위해 프로그램 언어로 명확하게 명시한 명령의 집합이며, 각 음을 미디 표준에 따라 프로그래밍하기 위해서는 어떤 음을 연주할지를 나타내는 음의 종류(노트(Note) 번호로 식별됨), 음을 얼마나 세게 연주할 지를 나타내는 음의 세기, 음을 얼마 동안 연주할지를 나타내는 음의 지속 시간에 대한 정보를 묶어서 1개의 음을 정의해야 한다. 따라서, 일반적으로 “미디 = 악보”라고 해석되기도 한다.The MIDI
미디 프로그래밍 방법은 운영체제나 라이브러리 API에 따라 달라지며, 여기서는 설명의 편의를 위해 Windows API에서 제공하는 방법을 기준으로 설명하나, 본 발명은 이에 한정되지 않는다. 즉, Windows API를 이용한 미디 프로그래밍에 대한 이해를 돕고, 음의 종류, 음의 세기, 음의 지속 시간이 프로그램 상에서 어떻게 명시될 수 있는지 예시를 들기 위해 기술한 것이다.The MIDI programming method depends on the operating system or the library API. For convenience of explanation, the MIDI programming method will be described based on the method provided by the Windows API, but the present invention is not limited thereto. In other words, it helps to understand MIDI programming using Windows API and describes how to specify the kind of sound, the strength of sound, and the duration of sound in the program.
미디 프로그래밍을 위해 Microsoft Windows의 Windows API는 MMSystem.h 헤더 파일에 다음과 같은 함수를 정의하여 제공하고 있다.The Microsoft Windows API for MIDI programming provides the following functions defined in the MMSystem.h header file.
MMRESULT midiOutShortMsg(HmidiOUT hmo, DWORD dwMsg)MMRESULT midiOutShortMsg (HmidiOUT hmo, DWORD dwMsg)
여기서, 함수의 반환 타입 MMRESULT는 함수의 처리 결과를 반환하기 위해 정의된 것으로 unsigned int와 동일하며, 파라미터 HmidiOUT hmo는 미디 출력을 위해 사용할 장치를 지정하고, DWORD dwMsg는 장치에 명령을 지시하기 위한 메시지를 입력하기 위해 존재한다. 함수 및 변수(파라미터)에 대한 자세한 설명은 본 발명의 요지를 흐릴 수 있으므로 생략하기로 한다.Here, the function return type MMRESULT is defined to return the processing result of the function, which is the same as unsigned int. The parameter HmidiOUT hmo designates a device to be used for MIDI output, and DWORD dwMsg designates a message Lt; / RTI > The detailed description of the function and the parameter (parameter) will be omitted because it may obscure the gist of the present invention.
명시한 음의 종류, 음의 세기, 음의 지속 시간은 상기 함수를 이용하여 메시지 형태로 프로그래밍 된다. 이를 위해 다음과 같은 4 바이트 길이의 메시지를 생성하여 상기 함수의 DWORD dwMsg 파라미터에 입력하게 된다.The type of the specified note, the strength of the note, and the duration of the note are programmed in the form of a message using the above function. To do this, the following 4-byte message is generated and input to the DWORD dwMsg parameter of the function.
다음은 4 바이트 길이의 메시지의 구조의 일 예이고, 16진수로 기술되었다. The following is an example of the structure of a 4-byte message, and is described in hexadecimal.
00 90 3C 4000 90 3C 40
상기 메시지 구조에서, 첫 번째 바이트(00)는 사용되지 않는 영역으로서 항상 00을 기입한다. 두 번째 바이트(9#)는 Status byte라고 하여, 첫 번째 수는 채널 메시지(Channel message)를, 두 번째 수는 채널 넘버(Channel number)를 나타낸다. Cannel message 9는 Note on(음의 시작) 이벤트를 가리키며, Channel message 8은 Note off(음의 종료) 이벤트를 가리킨다. Channel number는 해당 음을 연주하는데 사용할 음원의 종류를 지정하며, 기본값은 0(Channel 1)이다. 세 번째 바이트(3C)와 네 번째 바이트(40)는 data byte라고 하여, 처음 두 개 수는 7 bits로 나타내는 노트 번호(Note number)로서, 음의 종류를 식별하는 번호에 해당한다. 노트 번호의 범위는 0부터 127까지이며, 한 옥타브 당 12개의 값을 갖는다. 일반적으로 음악에서 기준 음으로 사용되는 4 옥타브의 도(DO)는 3C에 해당된다. 네 번째 바이트는 Velocity라고 하며 7 bits로 나타낸다. 이는 Note on 이벤트인 경우 음의 세기를 의미하며, Note off 이벤트인 경우 음이 종료되는 빠르기를 나타낸다. 단, 이 값은 지원되지 않는 음이 많아, 실제로 유효한 의미를 가지고 사용되는 경우는 많지 않다.In the message structure, the first byte (00) always writes 00 as an unused area. The second byte (9 #) is called a status byte. The first number indicates a channel message and the second number indicates a channel number. Cannel message 9 indicates a note on event, and channel message 8 indicates a note off event. Channel number specifies the type of sound source to be used to play the note. The default value is 0 (Channel 1). The third byte 3C and the fourth byte 40 are data bytes, and the first two numbers are note numbers denoted by 7 bits and correspond to numbers identifying negative types. The range of note numbers is from 0 to 127, and has 12 values per octave. In general, the 4 octave degree (DO) used as a reference tone in music corresponds to 3C. The fourth byte is called Velocity and is represented by 7 bits. This indicates the strength of the note in the case of the note on event, and the note in the note off event. However, this value is not supported because there are a lot of unsupported, meaning is not often used in a meaningful.
상기 함수에 상기 구조의 메시지를 입력하여, 4 옥타브의 도(DO) 음을 1초간 출력한 뒤 종료하기 위해서, Windows와 같은 Little Endian 운영 체제(바이트 배열을 역순으로 기입하는 환경)에서 다음과 같이 프로그래밍 될 수 있다. 장치를 가리키는 파라미터 hmo는 생략하고 “…” 로 기술하였다.In a Little Endian operating system such as Windows (an environment in which the byte arrays are written in the reverse order) in order to output a 4-octave DO sound for 1 second by inputting the message of the above structure to the above function, Can be programmed. The parameter hmo pointing to the device is omitted and "... ".
midiOutShortMsg(..., 0x7F3C90);midiOutShortMsg (..., 0x7F3C90);
Sleep(1000);Sleep (1000);
midiOutShortMsg(..., 0x7F3C90);midiOutShortMsg (..., 0x7F3C90);
Sleep(1000)은 1000ms (1초) 간의 interval을 둘 것을 가리키며, 음의 지속 시간에 해당한다.Sleep (1000) indicates an interval between 1000ms (1 second), which corresponds to a negative duration.
미디 음악 연주부(120)는 미디 정보 입력부(110)로부터 미디 정보를 전달받아, 미디 음악을 재생하기 위한 프로그램 코드(명령)를 생성하고, 이를 읽어서 시스템이 보유하고 있는 음원과 출력 장치(스피커)를 통해 음악을 재생한다. 즉, 연주 정보를 전달받아 운영체제 및 라이브러리 API에서 제공하는 방법으로 프로그램 코드(명령)을 작성하고, 시스템이 보유한 음원을 이용하여 이를 출력 장치(스피커 등)를 통해 재생하는 역할을 하며, 이것은 미디 표준에 따라 음악을 재생하기 위해 프로그래머들이 일반적으로 수행하는 작업이다. 미디 음악 연주부(120)는 악기를 연주하기 위해 필요한 악보인 MIDI 정보를 이용하여, 피아노로 연주할지 바이올린으로 연주할지 등을 선택할 수 있다. The
즉, MIDI 프로그래밍 시에 지정하는 노트 번호는 연주하고자 하는 음을 0부터 127번까지의 128 단계로 나누어 사용자가 지정할 수 있도록 제공되는 설정 값이며, 이 노트 번호에 따라 음을 연주할 때에, 어떠한 소리를 재생할지는 음원에 의해 결정된다. 음원은 내장 또는 외장된 것으로, 피아노 소리, 바이올린 소리 같은 것을 음원이라 하고, 음을 연주하기 위해 필요한 음원 파일을 사운드 폰트라고도 한다. 음원에는 "도(16진수로 3C), 레(3D), 미(3E)"를 어떤 소리로 재생해야 하는지 명시되어 있고, "3C, 3D, 3E"가 입력되면 이와 매칭되는 음원이 스피커로 재생된다.In other words, the note number designated at the time of MIDI programming is a setting value provided for the user to specify by dividing the note to be played into 128 steps from 0 to 127. When the note is played according to the note number, Is determined by the sound source. A sound source is a built-in or external sound source, such as a piano sound or a violin sound, and a sound source file required to play a sound is called a sound font. When the "3C, 3D, 3E" is input, the sound source that matches the sound is played back by the speaker. do.
따라서, 미디 음악 연주부(120)는 음원의 종류가 피아노 소리라면 피아노 음악을, 바이올린 소리라면 바이올린 음악을 연주할 것이며, 특정 악기의 소리가 아닌 사람이 인위적으로 제작/가공한 소리를 음원으로 사용할 수도 있다.Therefore, the MIDI
미디 음악 연주부(120)는 이러한 MIDI 음원들을 내장하고 있는 S/W 또는 H/W 장치인 MIDI 신시사이저로, 예컨대, Windows API를 이용하여 프로그래밍된 소스코드는 Windows에 기본으로 내장된 MIDI 신시사이저와 연결되어 MIDI 프로그램으로 작성된 음악을 재생하게 된다.The MIDI
마찬가지로, 미디 음악 연주부(120)는 전자 피아노와 같은 전자악기 들도 음원을 내장하고 있으며, 외부로부터 입력을 받을 수 있는 MIDI 입력 단자가 존재할 경우, 입력된 악보 정보를, 전자 악기 내에 저장된 음원 중 하나로 재생할 수 있다. 음원은 S/W 설치 또는 H/W 연결을 통해 부가적으로 확장할 수 있으며, 사용 가능한 음원 중에 어느 것을 지정하여 연주할 것인지 또한 프로그래밍을 통해 지정 가능하다.Similarly, the MIDI
반복 애니메이션 재생부(130)는 미디 정보 입력부(110)로부터 미디 정보를 전달받아, 반복 애니메이션을 구성하는 여러 장의 이미지 프레임들 중 상기 입력된 미디 정보에 따라 매핑된 프레임을 소정 재생 시간 동안 재생한다. 여기서, 반복 애니메이션은 방향성과 분기점을 갖지 않는 것을 대상으로 한다. 애니메이션의 방향성이란, 특정 방향으로만 재생되어야 하는 성질을 의미한다. 즉, 방향성이 있는 애니메이션의 예로, 번개가 내리치는 모습을 연상할 수 있다. 번개는 위에서 아래 방향으로만 내리쳐야 하며, 이 애니메이션이 반대 방향으로 재생되면 애니메이션 시청자에게 어색함을 줄 것이다. 한편, 애니메이션의 분기점이란, 음악과 연동하기 위해 애니메이션의 재생 타이밍과 재생 시간을 조절함에 있어, 그 성질을 구분할 수 있는 특정 지점을 의미한다. 분기점이 있는 애니메이션의 예로, 검도의 발검(칼집에서 칼을 뽑아 듦)부터 납검(칼을 칼집에 꽂음)까지의 동작을 연상할 수 있다. 시청자에게 자연스러운 애니메이션을 보여주기 위해서는, 발검 동작은 빠르게 재생되어야 하며, 납검 동작은 이에 비해 느리고 부드럽게 재생되어야 할 것이다. 여기에서 발검 동작의 끝(=납검 동작의 시작)을 분기점으로 지정할 수 있다. 이러한 분기점을 음악의 리듬에 맞추어 재생함으로써, 음악과 애니메이션의 연동을 보다 자연스럽게 연출할 수 있을 것이다. 방향성과 분기점이 없는 애니메이션의 예로, 바이올린을 연주하는 모습을 연상할 수 있다. 낮은 음부터 높은 음까지 바이올린을 켜는 모습이 애니메이션을 구성하는 각 프레임 이미지에 담겨있다고 할 때, 이 애니메이션은 방향성이 존재하지 않으므로 바이올린의 현을 낮은 음의 위치에서 높은 음의 위치로 이동시키도록 재생하는 것과, 반대로 높은 음의 위치에서 낮은 음의 위치로 이동시키도록 재생하는 것 모두, 애니메이션 시청자에게 위화감을 주지 않는다. 물론, 재생 방향을 빈번하게 바뀌며 재생할 수도 있을 것이다. 또한, 분기점이 존재하지 않으므로 애니메이션을 구성하는 모든 프레임 이미지 사이의 재생 시간 간격은 동일하며, 이러한 특성으로 인해 애니메이션을 구성하는 각 프레임과 미디 음악을 연주하기 위한 각 음의 위치를 서로 매핑시키는 방법으로 애니메이션과 음악을 연동할 수 있다.The repeating animation reproducing unit 130 receives the MIDI information from the MIDI
도 2는 본 발명의 일 실시 예에 따른 반복 애니메이션 재생부의 구성도이고, 도 3은 노트 번호와 애니메이션 프레임 번호의 관계 그래프이다.FIG. 2 is a block diagram of a repetitive animation reproducing unit according to an embodiment of the present invention, and FIG. 3 is a graph of a relationship between a note number and an animation frame number.
도 2를 참조하면, 반복 애니메이션 재생부(130)는 프레임 매핑부(110) 및 프레임 재생부(120)를 포함한다. Referring to FIG. 2, the repeating animation reproducing unit 130 includes a
프레임 매핑부(110)는 입력되는 미디 연주 정보 중 음의 종류(노트 번호)에 해당하는 음과 함께 재생되어야 하는 애니메이션 프레임의 식별 정보인 프레임 번호를 매핑한다. 이에 대해 도 3을 참조하여 좀 더 상세히 살펴보기로 한다.The
도 3을 참조하면, 가로 축은 노트 번호()로, 미디 연주 정보 중 음의 종류의 식별 번호에 해당하며, 미디 표준에 의해 0부터 127 사이의 범위()로 한정된다. 3, the horizontal axis represents the note number ( ), Which corresponds to the identification number of the sound type in the MIDI performance information, and is a range from 0 to 127 ).
그런데, 음악에서 모든 음을 사용하는 경우는 거의 없으므로, 프레임 매핑부(110)는 연주하고자 하는 음악에 따라 노트 번호의 범위를 설정하기 위해 최소 노트 번호() 및 최대 노트 번호( )를 설정한다. 따라서, 노트 번호 는 의 값으로 다시 맵핑된다. However, since there is almost no case in which all notes are used in music, the
다시 도 3을 참조하면, 세로 축은 애니메이션을 구성하는 이미지 프레임들 각각을 식별하기 위한 프레임 번호이다. 반복 애니메이션은 개의 이미지 프레임들로 구성된다. 따라서, 프레임 번호 는 의 값을 갖는다.Referring again to FIG. 3, the vertical axis is a frame number for identifying each of the image frames constituting the animation. Repeat animation Image frames. Therefore, The Lt; / RTI >
프레임 매핑부(110)는 노트 번호가 보다 작을 경우, 매핑되는 프레임 번호를 상기 프레임 번호 범위의 최소값으로 결정한다. 예컨대, 노트 번호가 '0'일 경우, 프레임 번호를 으로 설정한다. 그리고, 프레임 매핑부(110)는 노트 번호가 보다 클 경우, 매핑되는 프레임 번호를 상기 프레임 번호 범위의 최대값으로 결정한다. 예컨대, 노트 번호가 '127'일 경우, 프레임 번호를 으로 설정한다.The
다음으로, 프레임 매핑부(110)는 범위의 노트 번호 각각에 대해 재생되어야 할 프레임 번호 를 매핑한다. Next, the
이때, 프레임 매핑부(110)는 설정된 노트 번호의 범위 내에서 연속하는 두 개의 노트 번호들 사이에 매핑되는 노트 구간별 프레임 구간이 일정해지도록 상기 노트 번호에 매핑되는 프레임 번호를 결정한다.At this time, the
또한, 프레임 매핑부(110)는 프레임 번호 는 0 또는 자연수가 되어야 하므로, 어떤 노트 번호 가 입력되었을 때 재생되어야 할 프레임 번호 를 찾기 위해 계산식을 작성할 경우, 상기 결정된 프레임 번호가 정수가 아닐 경우, 근접한 정수를 상기 입력된 노트 번호에 상응하는 프레임 번호로 결정한다. 즉, 계산의 마지막에 올림, 버림 또는 반올림 중 하나의 연산을 수행하는 것을 고려하여 계산식을 유도할 필요가 있다. In addition, the
그러면, 범위의 노트 번호 가 입력될 때 매핑될 프레임 번호를 구하는 식은 다음과 같이 유도될 수 있다. 우선, 각 프레임 번호마다 매핑되는 노트 번호의 비율이 가능한 한 동일하도록, 다음과 같은 <수학식 1>을 작성한다.then, Note number of range The frame number to be mapped Can be derived as follows. First, the following Equation (1) is prepared so that the ratio of the note numbers mapped to each frame number is as equal as possible.
상기 <수학식 1>에서 는 노트 번호의 비율을 고려한 에 매핑되는 프레임 번호로, <수학식 1>을 <수학식 2>로 유도한 후, <수학식 2>로부터 에 대한 <수학식 3>이 산출될 수 있다. In Equation (1) Taking into account the ratio of note numbers (1) is derived to Equation (2), and Equation (2) is derived from Equation &Quot; (3) "
그런데, <수학식 3>에서 는 0 또는 자연수가 아닐 수 있으므로, <수학식 4>와 같이 에 대해 올림 함수(ceil())를 사용하여 정수 값 를 산출한다. 그런데, 올림 함수(ceil())를 사용하는 것은 일 실시 예로 본 발명은 이에 한정되지 않는다. 즉, 올림 함수(ceil()) 이외에도 버림 함수(floor()) 또는 반올림 함수(round())가 사용될 수 있다.However, in Equation (3) May not be 0 or a natural number, and therefore, as shown in Equation (4) (Ceil ()) for an integer value . However, the use of the up function (ceil ()) is an embodiment, and the present invention is not limited thereto. In other words, a discard function (floor ()) or a rounding function (round ()) can be used in addition to the rounding function (ceil ()).
<수학식 4>로부터 는 하기의 <수학식 5>와 같이 유도될 수 있다.From Equation (4) Can be derived as Equation (5) below.
다음으로, 프레임 재생부(120)는 입력된 음의 종류(노트 번호)와 매핑되는 프레임 번호 를 구하였을 경우, 이를 자연스럽게 재생하여야 한다. 예컨대, 현재 재생중인 프레임 번호가 1이고, 프레임 매핑부(110)로부터 출력된 다음 재생할 프레임 번호가 4라면, 프레임 재생부(120)는 1에서 4로 곧바로 장면을 전환하는 것이 아니라 1, 2, 3, 4의 순서대로 장면을 전환한다. 이를 통해 시청자에게 위화감을 주지 않을 것이다. Next, the
따라서, 프레임 재생부(120)는 음의 변화에 맞추어 애니메이션의 장면을 전환하는 데 있어, 각 프레임의 당 재생 시간을 얼마만큼 지정해야 하는지를 결정한다. 이를 위해, 입력된 미디 정보 중 프레임 번호 를 구하기 위한 음의 종류(노트 번호) 뿐 아니라, 음의 지속 시간을 필요로 한다. Therefore, the
우선, 입력되는 미디 정보가 가리키는 각 음에 대해, 입력되는 순서대로 번호를 매겨 로 표기하고, 번째 음에 대한 노트 번호 를 으로 표기한다. 예컨대, 미디 정보가 4 옥타브의 “도레미”의 순서로 시작한다면, 1번째, 2번째, 3번째 음에 대한 노트 번호는 각각 , , 로 표기될 수 있다. First, for each note indicated by the input MIDI information, the notes are numbered in the order in which they are input Respectively, Note number for the first note To . For example, if the MIDI information starts in the order of "octave" of four octaves, note numbers for the first, second and third notes are , , . ≪ / RTI >
다음으로, 번째 음의 지속 시간을 으로 표기하고, 그 단위는 밀리세크(ms)로 한다. 예컨대, 4 옥타브의 “도레미”의 순서로 연주될 때, 도가 1초, 레가 2초, 미가 3초간 연주되어진다면, , , 가 된다to the next, The duration of the , And the unit is expressed in milliseconds (ms). For example, when playing in the order of 4 octaves of "Doremi", if the degrees are played for 1 second, lega for 2 seconds, and beauty for 3 seconds, , , Become
또한, 번째 음의 노트 번호 에 대해 매핑되는 프레임 번호를 라 하고, 줄여서 으로 표기한다. 즉, 에서 로 장면이 전환되는 데에 의 시간이 주어지게 된다.Also, Note number of the first note The frame number mapped to And shortly, . In other words, in To switch scenes into Of time.
어떤 노트 와 이 입력되는 경우에 대해, 이 연주되는 의 시간 동안, 동시에 재생되어야 하는 애니메이션의 장면 전환을 구현하기 위해, 의 시간 동안 재생될 각각의 프레임 번호 와 프레임별 재생 시간 를 산출한다.Some notes Wow For example, Is played In order to implement the transition of the animation which must be played simultaneously, Each frame number to be reproduced And frame-by-frame playback time .
즉, 프레임 재생부(120)는 m번째 입력되는 미디 정보의 음의 지속 시간()을 m번째 매핑된 프레임 번호()에서 m+1번째 매핑된 프레임 번호()까지의 사이에 존재하는 프레임 번호들의 갯수(-+1)만큼 분할하여 각 프레임별 재생 시간()을 계산하고, 계산된 프레임별 재생 시간에 따라 m번째 매핑된 프레임 번호()에서 m+1번째 매핑된 프레임 번호()까지 번호 순서대로 프레임들을 재생한다.That is, the
프레임 재생부(120)는 m번째 매핑된 프레임 번호()와 m+1번째 매핑된 프레임 번호()가 동일할 경우, m번째 매핑된 프레임 번호()에 해당하는 프레임을 m번째 입력되는 미디 정보의 음의 지속 시간() 동안 재생한다.The
프레임 재생부(120)는 m번째 매핑된 프레임 번호()가 m+1번째 매핑된 프레임 번호()보다 작을 경우, m번째 매핑된 프레임 번호()에 해당하는 프레임부터 그 번호를 증가시켜가면서 계산된 프레임별 재생 시간()만큼 프레임들 각각을 재생한다.The
프레임 재생부(120)는 m번째 매핑된 프레임 번호()가 m+1번째 매핑된 프레임 번호()보다 클 경우, m번째 매핑된 프레임 번호()에 해당하는 프레임부터 그 번호를 감소시켜가면서 계산된 프레임별 재생 시간()만큼 프레임들 각각을 재생한다.The
도 4는 본 발명의 일 실시 예에 따른 미디 정보 기반 반복 애니메이션과 음악 연동 방법을 설명하기 위한 순서도이다.4 is a flowchart illustrating a method of repeating animation based on MIDI information and music in accordance with an embodiment of the present invention.
도 4를 참조하면, 미디 정보 기반 음악에 연동되는 반복 애니메이션 재생 방법은 크게 반복 애니메이션을 구성하는 프레임들 중 입력된 미디 정보에 따라 프레임을 매핑하는 단계(S410, 도 5)와, 상기 입력된 미디 정보에 따라 재생 시간을 결정하여, 상기 매핑된 프레임을 상기 결정된 재생 시간 동안 재생하는 단계(S420, E도 6)를 포함한다.Referring to FIG. 4, a method of reproducing an animation repeatedly linked to MIDI information-based music includes a step S410 (FIG. 5) of mapping a frame according to inputted MIDI information among frames constituting an iteration animation, Determining a playback time according to the information, and reproducing the mapped frame for the determined playback time (S420, E6).
도 5는 본 발명의 일 실시 예에 따른 프레임을 매핑하는 단계를 설명하기 위한 순서도이다.FIG. 5 is a flowchart illustrating a process of mapping a frame according to an exemplary embodiment of the present invention. Referring to FIG.
도 5를 참조하면, 프레임 매핑부(110)는 입력되는 미디 연주 정보 중 음의 종류(노트 번호)에 해당하는 음과 함께 재생되어야 하는 애니메이션 프레임의 식별 정보인 프레임 번호를 매핑한다. 그런데, 음악에서 모든 음을 사용하는 경우는 거의 없으므로, 프레임 매핑부(110)는 연주하고자 하는 음악에 따라 노트 번호의 범위를 설정하기 위해 최소 노트 번호() 및 최대 노트 번호( )를 설정한다(S411). 따라서, 노트 번호 는 의 값으로 다시 맵핑된다. Referring to FIG. 5, the
프레임 매핑부(110)는 노트 번호가 보다 작을 경우(S412), 매핑되는 프레임 번호를 프레임 번호 범위의 최소값으로 결정한다(S413). 예컨대, 노트 번호가 '0'일 경우, 프레임 번호를 으로 설정한다. 그리고, 프레임 매핑부(110)는 노트 번호가 보다 클 경우(S414), 매핑되는 프레임 번호를 프레임 번호 범위의 최대값으로 결정한다(S415). 예컨대, 노트 번호가 '127'일 경우, 프레임 번호를 으로 설정한다.The
다음으로, 프레임 매핑부(110)는 범위의 노트 번호 각각에 대해 재생되어야 할 프레임 번호 를 매핑한다. 이때, 프레임 매핑부(110)는 설정된 노트 번호의 범위 내에서 연속하는 두 개의 노트 번호들 사이에 매핑되는 노트 구간별 프레임 구간이 일정해지도록 상기 노트 번호에 매핑되는 프레임 번호를 결정한다(S416).Next, the
또한, 프레임 매핑부(110)는 프레임 번호 는 0 또는 자연수가 되어야 하므로, 어떤 노트 번호 가 입력되었을 때 재생되어야 할 프레임 번호 를 찾기 위해 계산식을 작성할 경우, 결정된 프레임 번호가 정수가 아닐 경우(S417), 근접한 정수를 상기 입력된 노트 번호에 상응하는 프레임 번호로 결정한다(S418). 즉, 계산의 마지막에 올림, 버림 또는 반올림 중 하나의 연산을 수행하는 것을 고려하여 계산식을 유도할 필요가 있다. In addition, the
도 6은 본 발명의 일 실시 예에 따른 프레임을 재생하는 단계를 설명하기 위한 순서도이다.6 is a flowchart for explaining a step of reproducing a frame according to an embodiment of the present invention.
도 6을 참조하면, 프레임 재생부(120)는 어떤 노트 번호 와 이 입력되는 경우에 대해, 이 연주되는 의 시간 동안, 동시에 재생되어야 하는 애니메이션의 장면 전환을 구현하기 위해, 의 시간 동안 재생될 각각의 프레임 번호 와 프레임별 재생 시간 를 산출한다(S421). 즉, 프레임 재생부(120)는 m번째 입력되는 미디 정보의 음의 지속 시간()을 m번째 매핑된 프레임 번호()에서 m+1번째 매핑된 프레임 번호()까지의 사이에 존재하는 프레임 번호들의 갯수(-+1)만큼 분할하여 각 프레임별 재생 시간()을 계산하고, 계산된 프레임별 재생 시간에 따라 m번째 매핑된 프레임 번호()에서 m+1번째 매핑된 프레임 번호()까지 번호 순서대로 프레임들을 재생한다.Referring to FIG. 6, the
번호 순서대로 프레임들을 재생하기 위해, 프레임 재생부(120)는 프레임 번호 변화량 변수인 a를 설정한다(S422~S426). 즉, 프레임 재생부(120)는 m번째 매핑된 프레임 번호()와 m+1번째 매핑된 프레임 번호()가 동일할 경우(S423), a를 '0'으로 설정(S423)하고, m번째 매핑된 프레임 번호()가 m+1번째 매핑된 프레임 번호()보다 작을 경우(S424), a를 '1'으로 설정하고(S425), m번째 매핑된 프레임 번호()가 m+1번째 매핑된 프레임 번호() 보다 클 경우(S423), a를 '-1'으로 설정한다(S426).To reproduce the frames in order of the number, the
그런 후, 프레임 재생부(120)는 프레임 를 프레임별 재생 시간 동안 재생한(S427) 후, 를 a만큼 증가시킨다(S428). 프레임 재생부(120)는 가 과 동일(S428)해질 때까지 S427 내지 S428을 반복 수행한다. Then, the
결과적으로, m번째 매핑된 프레임 번호()와 m+1번째 매핑된 프레임 번호()가 동일할 경우, 프레임 재생부(120)는 미디 정보의 음의 지속 시간 m번째 매핑된 프레임 번호()에 해당하는 프레임을 m번째 입력되는 미디 정보의 음의 지속 시간() 동안 재생하게 된다. 또한, m번째 매핑된 프레임 번호()가 m+1번째 매핑된 프레임 번호()보다 작을 경우(S424), 프레임 재생부(120)는 m번째 매핑된 프레임 번호()에 해당하는 프레임부터 그 번호를 증가시켜가면서 계산된 프레임별 재생 시간()만큼 프레임들 각각을 재생한다. 그리고, m번째 매핑된 프레임 번호()가 m+1번째 매핑된 프레임 번호()보다 클 경우(S424), 프레임 재생부(120)는 m번째 매핑된 프레임 번호()에 해당하는 프레임부터 그 번호를 감소시켜가면서 계산된 프레임별 재생 시간()만큼 프레임들 각각을 재생한다.As a result, the m-th mapped frame number ( ) And (m + 1) -th mapped frame number ) Is the same, the
Claims (17)
상기 입력된 미디 정보에 따라 음악을 재생하는 미디 음악 연주부와,
반복 애니메이션을 구성하는 프레임들 중 상기 입력된 미디 정보에 따라 매핑된 프레임을 소정 재생 시간 동안 재생하는 반복 애니메이션 재생부를 포함하며,
상기 미디 정보는
연주되어야 하는 음의 식별 정보인 노트 번호를 포함하고,
상기 반복 애니메이션 재생부는
상기 노트 번호에 해당하는 음과 함께 재생되어야 하는 프레임의 식별 정보인 프레임 번호를 매핑하는 프레임 매핑부를 포함하며,
상기 프레임 매핑부는
음악에 따라 노트 번호의 범위를 설정하고, 입력되는 미디 정보의 노트 번호가 설정된 노트 번호 범위의 최소 노트 번호보다 작을 경우, 매핑되는 프레임 번호를 상기 프레임 번호 범위의 최소값으로 결정하고, 입력되는 미디 정보의 노트 번호가 설정된 노트 번호 범위의 최대 노트 번호보다 클 경우, 매핑되는 프레임 번호를 상기 프레임 번호 범위의 최대값으로 결정함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 장치.
A MIDI information input unit for generating MIDI information and inputting the MIDI information to the MIDI music performance unit and the repeat animation playback unit,
A MIDI music player for playing music according to the input MIDI information,
And a repeating animation reproducing unit for reproducing a frame mapped according to the input MIDI information among the frames constituting the repeating animation for a predetermined reproduction time,
The MIDI information
A note number which is identification information of a note to be played,
The repeating animation reproducing unit
And a frame mapping unit for mapping a frame number, which is identification information of a frame to be reproduced together with a note corresponding to the note number,
The frame mapping unit
The range of the note number is set according to the music. When the note number of the inputted MIDI information is smaller than the minimum note number of the set note number range, the frame number to be mapped is determined as the minimum value of the frame number range, Wherein the frame number to be mapped is determined to be a maximum value of the frame number range when the note number of the note number is greater than the maximum note number of the set note number range.
상기 설정된 노트 번호의 범위 내에서 연속하는 두 개의 노트 번호들 사이에 매핑되는 노트 구간별 프레임 구간이 일정해지도록 상기 노트 번호에 매핑되는 프레임 번호를 결정함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 장치.
2. The apparatus of claim 1, wherein the frame mapping unit
Determining a frame number to be mapped to the note number so that a frame interval for each note interval mapped between two consecutive note numbers within the set note number range is fixed; Interlocking device.
상기 결정된 프레임 번호가 정수가 아닐 경우, 근접한 정수를 상기 입력된 노트 번호에 상응하는 프레임 번호로 결정함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 장치.
5. The apparatus of claim 4, wherein the frame mapping unit
If the determined frame number is not an integer, determining a close integer to be a frame number corresponding to the inputted note number.
근접한 정수를 구하기 위해 올림, 버림 또는 반올림 중 하나의 연산을 수행함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 장치.
6. The apparatus of claim 5, wherein the frame mapping unit
And performs rounding, rounding, or rounding operation to obtain a close integer.
음의 지속 시간 정보를 더 포함하고,
상기 반복 애니메이션 재생부는
m번째 입력되는 미디 정보의 음의 지속 시간을 m번째 매핑된 프레임 번호에서 m+1번째 매핑된 프레임 번호까지의 사이에 존재하는 프레임 번호들의 갯수만큼 분할하여 각 프레임별 재생 시간을 계산하고, 상기 계산된 프레임별 재생 시간에 따라 m번째 매핑된 프레임 번호에서 m+1번째 매핑된 프레임 번호까지 번호 순서대로 프레임들을 재생하는 프레임 재생부를 더 포함함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 장치.
The method of claim 1,
Further comprising negative duration information,
The repeating animation reproducing unit
dividing the duration of the sound of the m-th input MIDI information by the number of frame numbers existing between the m-th mapped frame number and the (m + 1) -th mapped frame number to calculate a play time for each frame, And a frame playback unit for playing back the frames in order from the m-th mapped frame number to the (m + 1) -th mapped frame number according to the calculated frame-based playback time. .
m번째 매핑된 프레임 번호와 m+1번째 매핑된 프레임 번호가 동일할 경우, m번째 매핑된 프레임 번호에 해당하는 프레임을 상기 m번째 입력되는 미디 정보의 음의 지속 시간 동안 재생함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 장치. 8. The apparatus of claim 7, wherein the frame regenerating unit
and the frame corresponding to the m-th mapped frame number is reproduced for the negative duration of the m-th input MIDI information when the m-th mapped frame number is equal to the m + 1-th mapped frame number MIDI information based repetitive animation and music interlocking device.
m번째 매핑된 프레임 번호가 m+1번째 매핑된 프레임 번호보다 작을 경우, m번째 매핑된 프레임 번호에 해당하는 프레임부터 그 번호를 증가시켜가면서 상기 계산된 프레임별 재생 시간만큼 프레임들 각각을 재생함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 장치.
8. The apparatus of claim 7, wherein the frame regenerating unit
If the m-th mapped frame number is smaller than the (m + 1) -th mapped frame number, each of the frames is reproduced by the calculated frame-by-frame playback time while increasing the number from the frame corresponding to the m- Wherein the MIDI information-based repetition animation and music interlocking device are characterized by:
m번째 매핑된 프레임 번호가 m+1번째 매핑된 프레임 번호보다 클 경우, m번째 매핑된 프레임 번호에 해당하는 프레임부터 그 번호를 감소시켜가면서 상기 계산된 프레임별 재생 시간만큼 프레임들 각각을 재생함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 장치.
8. The apparatus of claim 7, wherein the frame regenerating unit
If the m-th mapped frame number is greater than the (m + 1) -th mapped frame number, the frames are reproduced by the calculated frame-by-frame playback time while reducing the number from the frame corresponding to the m-th mapped frame number Wherein the MIDI information-based repetition animation and music interlocking device are characterized by:
반복 애니메이션을 구성하는 프레임들 중 입력된 미디 정보에 따라 프레임을 매핑하는 단계와,
상기 입력된 미디 정보에 따라 재생 시간을 결정하여, 상기 매핑된 프레임을 상기 결정된 재생 시간 동안 재생하는 단계를 포함하며,
상기 미디 정보는
연주되어야 하는 음의 식별 정보인 노트 번호를 포함하고,
상기 매핑하는 단계는
상기 노트 번호에 해당하는 음과 함께 재생되어야 하는 프레임의 식별 정보인 프레임 번호를 매핑하며,
상기 매핑하는 단계는
음악에 따라 노트 번호의 범위를 설정하는 단계와,
입력되는 미디 정보의 노트 번호가 설정된 노트 번호 범위의 최소 노트 번호보다 작을 경우, 매핑되는 프레임 번호를 상기 프레임 번호 범위의 최소값으로 결정하는 단계와,
입력되는 미디 정보의 노트 번호가 설정된 노트 번호 범위의 최대 노트 번호보다 클 경우, 매핑되는 프레임 번호를 상기 프레임 번호 범위의 최대값으로 결정하는 단계를 포함함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 방법.
12. A method of interlaced MIDI information-based repetitive animation of a MIDI information-based repeating animation and a music interlock device, the method comprising:
Mapping a frame according to inputted MIDI information among frames constituting an iteration animation,
Determining a reproduction time according to the input MIDI information and reproducing the mapped frame for the determined reproduction time,
The MIDI information
A note number which is identification information of a note to be played,
The mapping step
A frame number which is identification information of a frame to be reproduced together with a note corresponding to the note number,
The mapping step
Setting a range of note numbers according to music;
Determining a frame number to be mapped as a minimum value of the frame number range when the note number of the input MIDI information is smaller than the minimum note number of the set note number range;
And determining a frame number to be mapped as a maximum value of the frame number range when the note number of the inputted MIDI information is larger than the maximum note number of the set note number range. Interworking method.
상기 설정된 노트 번호의 범위 내에서 연속하는 두 개의 노트 번호들 사이에 매핑되는 노트 구간별 프레임 구간이 일정해지도록 상기 노트 번호에 매핑되는 프레임 번호를 결정함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 방법.
12. The method of claim 11, wherein the mapping further comprises:
Determining a frame number to be mapped to the note number so that a frame interval for each note interval mapped between two consecutive note numbers within the set note number range is fixed; Interworking method.
상기 결정된 프레임 번호가 정수가 아닐 경우, 근접한 정수를 상기 입력된 노트 번호에 상응하는 프레임 번호로 결정하는 단계를 더 포함함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 방법.
15. The method of claim 14, wherein the mapping further comprises:
Further comprising the step of, when the determined frame number is not an integer, determining a close integer to be a frame number corresponding to the inputted note number.
근접한 정수를 구하기 위해 올림, 버림 또는 반올림 중 하나의 연산을 수행함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 방법.
16. The method of claim 15, wherein the mapping step
A rounding, a rounding, or a rounding operation is performed to obtain close integers.
음의 지속 시간 정보를 더 포함하고,
상기 재생하는 단계는
m번째 입력되는 미디 정보의 음의 지속 시간을 m번째 매핑된 프레임 번호에서 m+1번째 매핑된 프레임 번호까지의 사이에 존재하는 프레임 번호들의 갯수만큼 분할하여 각 프레임별 재생 시간을 계산하는 단계와,
상기 계산된 프레임별 재생 시간에 따라 m번째 매핑된 프레임 번호에서 m+1번째 매핑된 프레임 번호까지 번호 순서대로 프레임들을 재생하는 단계를 포함함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 방법. 12. The method of claim 11, wherein the MIDI information
Further comprising negative duration information,
The reproducing step
dividing a duration of a sound of m-th input MIDI information by the number of frame numbers existing between the m-th mapped frame number and the (m + 1) -th mapped frame number to calculate a playback time of each frame; ,
And reproducing the frames in order from the m-th mapped frame number to the (m + 1) -th mapped frame number according to the calculated per-frame playback time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160182804A KR101846023B1 (en) | 2016-12-29 | 2016-12-29 | Apparatus and Method for interworking between cycle animation and music based on MIDI information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160182804A KR101846023B1 (en) | 2016-12-29 | 2016-12-29 | Apparatus and Method for interworking between cycle animation and music based on MIDI information |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101846023B1 true KR101846023B1 (en) | 2018-04-05 |
Family
ID=61977505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160182804A KR101846023B1 (en) | 2016-12-29 | 2016-12-29 | Apparatus and Method for interworking between cycle animation and music based on MIDI information |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101846023B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004287144A (en) * | 2003-03-24 | 2004-10-14 | Yamaha Corp | Control device for reproduction of music and display of moving image and its program |
-
2016
- 2016-12-29 KR KR1020160182804A patent/KR101846023B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004287144A (en) * | 2003-03-24 | 2004-10-14 | Yamaha Corp | Control device for reproduction of music and display of moving image and its program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3601350B2 (en) | Performance image information creation device and playback device | |
US10366684B2 (en) | Information providing method and information providing device | |
JP6805422B2 (en) | Equipment, programs and information processing methods | |
JP6942300B2 (en) | Computer graphics programs, display devices, transmitters, receivers, video generators, data converters, data generators, information processing methods and information processing systems | |
JP3918580B2 (en) | Multimedia information encoding apparatus, multimedia information reproducing apparatus, multimedia information encoding processing program, and multimedia information reproducing process program | |
CN105989823B (en) | Automatic following and shooting accompaniment method and device | |
US6782299B1 (en) | Method and apparatus for digital signal processing, method and apparatus for generating control data, and medium for recording program | |
CN113821189A (en) | Audio playing method and device, terminal equipment and storage medium | |
KR101846023B1 (en) | Apparatus and Method for interworking between cycle animation and music based on MIDI information | |
JP2007298786A (en) | Musical sound reproduction program and musical sound reproduction apparatus | |
JP2007183442A (en) | Musical sound synthesizer and program | |
JP4968109B2 (en) | Audio data conversion / reproduction system, audio data conversion device, audio data reproduction device | |
EP3518230B1 (en) | Generation and transmission of musical performance data | |
JP2015138160A (en) | Character musical performance image creation device, character musical performance image creation method, character musical performance system, and character musical performance method | |
US8629343B2 (en) | Computer-readable storage medium having stored therein information processing program, information processing apparatus, information processing system, and information processing method | |
JP7440727B2 (en) | Rhythm comprehension support system | |
JP7434083B2 (en) | karaoke equipment | |
JP4306410B2 (en) | General-purpose I / O port control information creation device | |
JP2008197272A (en) | Data reproducer, data reproducing method and program | |
JP6834398B2 (en) | Sound processing equipment, sound processing methods, and programs | |
JP2009086084A (en) | Device for supporting performance practice, and program of processing performance practice support | |
JP2017092832A (en) | Reproduction method and reproducer | |
JP2006091804A (en) | Automatic music player and program | |
JP6819236B2 (en) | Sound processing equipment, sound processing methods, and programs | |
JP4714230B2 (en) | Audio processing apparatus, audio processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |