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 PDF

Info

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
Application number
KR1020160182804A
Other languages
Korean (ko)
Inventor
박정선
손형재
Original Assignee
주식회사 코난테크놀로지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코난테크놀로지 filed Critical 주식회사 코난테크놀로지
Priority to KR1020160182804A priority Critical patent/KR101846023B1/en
Application granted granted Critical
Publication of KR101846023B1 publication Critical patent/KR101846023B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital 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

The present invention relates to an apparatus for interworking between cycle animation and music based on midi information. The apparatus includes a midi information input part for generating MIDI information and inputting the MIDI information to a MIDI music performance part and a cycle animation reproducing part, a MIDI music playing part for playing music according to the input MIDI information, and a cycle animation reproducing part for reproducing a frame mapped according to the inputted MIDI information among the frames constituting the cycle animation for a predetermined reproduction time. Music creators and animators can complete works through complete division of labor.

Description

미디 정보 기반 반복 애니메이션과 음악 연동 장치 및 방법{Apparatus and Method for interworking between cycle animation and music based on MIDI information}TECHNICAL FIELD [0001] The present invention relates to an apparatus and a method for interleaving animation based on MIDI information,

본 발명은 미디(MIDI)에 관한 것으로, 특히 미디 정보를 이용하여 반복 애니메이션(cycle animation)과 음악을 서로 연동하는 기술에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention [0002] The present invention relates to MIDI, and more particularly, to a technique of interlinking music with cycle animation using MIDI information.

미디(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 information input unit 110, a MIDI music player 120, and a repeating animation player 130 .

미디 정보 입력부(110)는 음을 연주하는 데 필요한 미디 정보를 미디 음악 연주부(120)와 반복 애니메이션 재생부(130)로 전달한다. 여기서, 미디 정보는 미디 표준에 맞추어 음악을 재생하기 위해 요구되는 연주 정보로, 음악 제작자가 음악(악보)를 연주하기 위해 프로그램 언어로 명확하게 명시한 명령의 집합이며, 각 음을 미디 표준에 따라 프로그래밍하기 위해서는 어떤 음을 연주할지를 나타내는 음의 종류(노트(Note) 번호로 식별됨), 음을 얼마나 세게 연주할 지를 나타내는 음의 세기, 음을 얼마 동안 연주할지를 나타내는 음의 지속 시간에 대한 정보를 묶어서 1개의 음을 정의해야 한다. 따라서, 일반적으로 “미디 = 악보”라고 해석되기도 한다.The MIDI information input unit 110 transmits the MIDI information required for playing the sound to the MIDI music performance unit 120 and the repetitive animation playback unit 130. Here, the MIDI information is performance information required to reproduce music in accordance with the MIDI standard, and is a set of instructions clearly specified in the programming language by a music producer for playing music (score). Each note is programmed In order to do this, you need to group information about the type of note (note number) that indicates which note to play, the strength of the note indicating how hard the note will be played, and the duration of the note One note must be defined. Therefore, it is generally interpreted as "MIDI = score".

미디 프로그래밍 방법은 운영체제나 라이브러리 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 music player 120 receives MIDI information from the MIDI information input unit 110 and generates a program code for reproducing the MIDI music. The MIDI music player 120 reads the program code to reproduce the MIDI music, ≪ / RTI > In other words, it plays the role of generating program code (command) by receiving the performance information and providing it from the operating system and library API, playing it through the output device (speaker, etc.) using the sound source held by the system, It is a common practice for programmers to play music in accordance with. The MIDI music performance unit 120 can select whether to play a piano or a violin using MIDI information, which is a score necessary for playing a musical instrument.

즉, 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 music playing unit 120 will play the piano music if the type of the sound source is a piano sound, or violin music if it is a violin sound, and use a sound artificially produced / processed by a person other than the sound of the specific musical instrument It is possible.

미디 음악 연주부(120)는 이러한 MIDI 음원들을 내장하고 있는 S/W 또는 H/W 장치인 MIDI 신시사이저로, 예컨대, Windows API를 이용하여 프로그래밍된 소스코드는 Windows에 기본으로 내장된 MIDI 신시사이저와 연결되어 MIDI 프로그램으로 작성된 음악을 재생하게 된다.The MIDI musical performance unit 120 is a MIDI synthesizer that is a S / W or H / W device having such MIDI sound sources. For example, the source code programmed using the Windows API is connected to a MIDI synthesizer built in Windows And the music created by the MIDI program is reproduced.

마찬가지로, 미디 음악 연주부(120)는 전자 피아노와 같은 전자악기 들도 음원을 내장하고 있으며, 외부로부터 입력을 받을 수 있는 MIDI 입력 단자가 존재할 경우, 입력된 악보 정보를, 전자 악기 내에 저장된 음원 중 하나로 재생할 수 있다. 음원은 S/W 설치 또는 H/W 연결을 통해 부가적으로 확장할 수 있으며, 사용 가능한 음원 중에 어느 것을 지정하여 연주할 것인지 또한 프로그래밍을 통해 지정 가능하다.Similarly, the MIDI music playing unit 120 may include electronic musical instruments such as electronic pianos, and if there is a MIDI input terminal capable of receiving input from outside, the inputted musical score information may be stored in the electronic musical instrument It can be played as one. The sound source can be extended additionally via S / W installation or H / W connection, and it is also possible to designate which of the usable sound sources are to be designated by the programming.

반복 애니메이션 재생부(130)는 미디 정보 입력부(110)로부터 미디 정보를 전달받아, 반복 애니메이션을 구성하는 여러 장의 이미지 프레임들 중 상기 입력된 미디 정보에 따라 매핑된 프레임을 소정 재생 시간 동안 재생한다. 여기서, 반복 애니메이션은 방향성과 분기점을 갖지 않는 것을 대상으로 한다. 애니메이션의 방향성이란, 특정 방향으로만 재생되어야 하는 성질을 의미한다. 즉, 방향성이 있는 애니메이션의 예로, 번개가 내리치는 모습을 연상할 수 있다. 번개는 위에서 아래 방향으로만 내리쳐야 하며, 이 애니메이션이 반대 방향으로 재생되면 애니메이션 시청자에게 어색함을 줄 것이다. 한편, 애니메이션의 분기점이란, 음악과 연동하기 위해 애니메이션의 재생 타이밍과 재생 시간을 조절함에 있어, 그 성질을 구분할 수 있는 특정 지점을 의미한다. 분기점이 있는 애니메이션의 예로, 검도의 발검(칼집에서 칼을 뽑아 듦)부터 납검(칼을 칼집에 꽂음)까지의 동작을 연상할 수 있다. 시청자에게 자연스러운 애니메이션을 보여주기 위해서는, 발검 동작은 빠르게 재생되어야 하며, 납검 동작은 이에 비해 느리고 부드럽게 재생되어야 할 것이다. 여기에서 발검 동작의 끝(=납검 동작의 시작)을 분기점으로 지정할 수 있다. 이러한 분기점을 음악의 리듬에 맞추어 재생함으로써, 음악과 애니메이션의 연동을 보다 자연스럽게 연출할 수 있을 것이다. 방향성과 분기점이 없는 애니메이션의 예로, 바이올린을 연주하는 모습을 연상할 수 있다. 낮은 음부터 높은 음까지 바이올린을 켜는 모습이 애니메이션을 구성하는 각 프레임 이미지에 담겨있다고 할 때, 이 애니메이션은 방향성이 존재하지 않으므로 바이올린의 현을 낮은 음의 위치에서 높은 음의 위치로 이동시키도록 재생하는 것과, 반대로 높은 음의 위치에서 낮은 음의 위치로 이동시키도록 재생하는 것 모두, 애니메이션 시청자에게 위화감을 주지 않는다. 물론, 재생 방향을 빈번하게 바뀌며 재생할 수도 있을 것이다. 또한, 분기점이 존재하지 않으므로 애니메이션을 구성하는 모든 프레임 이미지 사이의 재생 시간 간격은 동일하며, 이러한 특성으로 인해 애니메이션을 구성하는 각 프레임과 미디 음악을 연주하기 위한 각 음의 위치를 서로 매핑시키는 방법으로 애니메이션과 음악을 연동할 수 있다.The repeating animation reproducing unit 130 receives the MIDI information from the MIDI information input unit 110 and reproduces the mapped frame according to the input MIDI information among a plurality of image frames constituting the repeated animation for a predetermined reproduction time. Here, the repeating animation is intended to have no directionality and branching points. The directionality of an animation means a property that must be reproduced only in a specific direction. An example of a directional animation is one that reminds us of a lightning strike. The lightning should strike down only from top to bottom, and if this animation is played in the opposite direction, it will give the animated viewers some awkwardness. On the other hand, the bifurcation point of an animation means a specific point at which the nature of the animation can be distinguished in adjusting the reproduction timing and reproduction time of the animation in order to be linked with music. An example of an animation with a divergence is reminiscent of the movements from kendo sword (drawing knife from sheath) to lead sword (knife sword inserted into knife). In order to show natural animations to viewers, the pedometer should be played fast and the pendulum should be slow and smooth. Here, it is possible to designate the end of the pantoscopic operation (= start of the pincushion operation) as a branch point. By reproducing such a bifurcation in accordance with the rhythm of the music, it is possible to produce a more natural connection between music and animation. An example of an animation that does not have directionality and bifurcation is reminiscent of playing a violin. Assuming that each of the frame images composing the animation contains a scene in which the violin is turned on from a low note to a high note, the animation does not have directionality, so that the violin string is shifted from a low sound position to a high sound position On the other hand, playing back moving from a high sound position to a low sound position does not give an uncomfortable feeling to an animation viewer. Of course, the playback direction may be changed frequently. In addition, since there is no bifurcation point, the reproduction time interval between all the frame images constituting the animation is the same. Due to this characteristic, a method of mapping each sound position for playing each frame and MIDI music constituting animation Animation and music can be linked.

도 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 frame mapping unit 110 and a frame reproducing unit 120.

프레임 매핑부(110)는 입력되는 미디 연주 정보 중 음의 종류(노트 번호)에 해당하는 음과 함께 재생되어야 하는 애니메이션 프레임의 식별 정보인 프레임 번호를 매핑한다. 이에 대해 도 3을 참조하여 좀 더 상세히 살펴보기로 한다.The frame mapping unit 110 maps a frame number, which is identification information of an animation frame to be reproduced together with a note corresponding to a note type (note number) in the inputted MIDI performance information. This will be described in more detail with reference to FIG.

도 3을 참조하면, 가로 축은 노트 번호(

Figure 112016129280496-pat00001
)로, 미디 연주 정보 중 음의 종류의 식별 번호에 해당하며, 미디 표준에 의해 0부터 127 사이의 범위(
Figure 112016129280496-pat00002
)로 한정된다. 3, the horizontal axis represents the note number (
Figure 112016129280496-pat00001
), Which corresponds to the identification number of the sound type in the MIDI performance information, and is a range from 0 to 127
Figure 112016129280496-pat00002
).

그런데, 음악에서 모든 음을 사용하는 경우는 거의 없으므로, 프레임 매핑부(110)는 연주하고자 하는 음악에 따라 노트 번호의 범위를 설정하기 위해 최소 노트 번호(

Figure 112016129280496-pat00003
) 및 최대 노트 번호(
Figure 112016129280496-pat00004
)를 설정한다. 따라서, 노트 번호
Figure 112016129280496-pat00005
Figure 112016129280496-pat00006
의 값으로 다시 맵핑된다. However, since there is almost no case in which all notes are used in music, the frame mapping unit 110 sets a minimum note number (for example,
Figure 112016129280496-pat00003
) And maximum note number (
Figure 112016129280496-pat00004
). Therefore,
Figure 112016129280496-pat00005
The
Figure 112016129280496-pat00006
Lt; / RTI >

다시 도 3을 참조하면, 세로 축은 애니메이션을 구성하는 이미지 프레임들 각각을 식별하기 위한 프레임 번호이다. 반복 애니메이션은

Figure 112016129280496-pat00007
개의 이미지 프레임들로 구성된다. 따라서, 프레임 번호
Figure 112016129280496-pat00008
Figure 112016129280496-pat00009
의 값을 갖는다.Referring again to FIG. 3, the vertical axis is a frame number for identifying each of the image frames constituting the animation. Repeat animation
Figure 112016129280496-pat00007
Image frames. Therefore,
Figure 112016129280496-pat00008
The
Figure 112016129280496-pat00009
Lt; / RTI >

프레임 매핑부(110)는 노트 번호가

Figure 112016129280496-pat00010
보다 작을 경우, 매핑되는 프레임 번호를 상기 프레임 번호 범위의 최소값으로 결정한다. 예컨대, 노트 번호가 '0'일 경우, 프레임 번호를
Figure 112016129280496-pat00011
으로 설정한다. 그리고, 프레임 매핑부(110)는 노트 번호가
Figure 112016129280496-pat00012
보다 클 경우, 매핑되는 프레임 번호를 상기 프레임 번호 범위의 최대값으로 결정한다. 예컨대, 노트 번호가 '127'일 경우, 프레임 번호를
Figure 112016129280496-pat00013
으로 설정한다.The frame mapping unit 110 receives the note number
Figure 112016129280496-pat00010
The frame number to be mapped is determined as the minimum value of the frame number range. For example, when the note number is '0'
Figure 112016129280496-pat00011
. Then, the frame mapping unit 110 stores the note number
Figure 112016129280496-pat00012
The frame number to be mapped is determined as the maximum value of the frame number range. For example, when the note number is '127'
Figure 112016129280496-pat00013
.

다음으로, 프레임 매핑부(110)는

Figure 112016129280496-pat00014
범위의 노트 번호
Figure 112016129280496-pat00015
각각에 대해 재생되어야 할 프레임 번호
Figure 112016129280496-pat00016
를 매핑한다. Next, the frame mapping unit 110
Figure 112016129280496-pat00014
Note number of range
Figure 112016129280496-pat00015
Frame number to be played for each
Figure 112016129280496-pat00016
.

이때, 프레임 매핑부(110)는 설정된 노트 번호의 범위 내에서 연속하는 두 개의 노트 번호들 사이에 매핑되는 노트 구간별 프레임 구간이 일정해지도록 상기 노트 번호에 매핑되는 프레임 번호를 결정한다.At this time, the frame mapping unit 110 determines 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 becomes constant.

또한, 프레임 매핑부(110)는 프레임 번호

Figure 112016129280496-pat00017
는 0 또는 자연수가 되어야 하므로, 어떤 노트 번호
Figure 112016129280496-pat00018
가 입력되었을 때 재생되어야 할 프레임 번호
Figure 112016129280496-pat00019
를 찾기 위해 계산식을 작성할 경우, 상기 결정된 프레임 번호가 정수가 아닐 경우, 근접한 정수를 상기 입력된 노트 번호에 상응하는 프레임 번호로 결정한다. 즉, 계산의 마지막에 올림, 버림 또는 반올림 중 하나의 연산을 수행하는 것을 고려하여 계산식을 유도할 필요가 있다. In addition, the frame mapping unit 110 stores the frame number
Figure 112016129280496-pat00017
Must be 0 or a natural number,
Figure 112016129280496-pat00018
Frame number to be played back
Figure 112016129280496-pat00019
When the calculated frame number is not an integer, a close integer is determined as a frame number corresponding to the inputted note number. That is, it is necessary to derive the formula considering the calculation of one of the rounding, rounding, or rounding at the end of the calculation.

그러면,

Figure 112016129280496-pat00020
범위의 노트 번호
Figure 112016129280496-pat00021
가 입력될 때 매핑될 프레임 번호
Figure 112016129280496-pat00022
를 구하는 식은 다음과 같이 유도될 수 있다. 우선, 각 프레임 번호마다 매핑되는 노트 번호의 비율이 가능한 한 동일하도록, 다음과 같은 <수학식 1>을 작성한다.then,
Figure 112016129280496-pat00020
Note number of range
Figure 112016129280496-pat00021
The frame number to be mapped
Figure 112016129280496-pat00022
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.

Figure 112016129280496-pat00023
Figure 112016129280496-pat00023

상기 <수학식 1>에서

Figure 112016129280496-pat00024
는 노트 번호의 비율을 고려한
Figure 112016129280496-pat00025
에 매핑되는 프레임 번호로, <수학식 1>을 <수학식 2>로 유도한 후, <수학식 2>로부터
Figure 112016129280496-pat00026
에 대한 <수학식 3>이 산출될 수 있다. In Equation (1)
Figure 112016129280496-pat00024
Taking into account the ratio of note numbers
Figure 112016129280496-pat00025
(1) is derived to Equation (2), and Equation (2) is derived from Equation
Figure 112016129280496-pat00026
&Quot; (3) &quot;

Figure 112016129280496-pat00027
Figure 112016129280496-pat00027

Figure 112016129280496-pat00028
Figure 112016129280496-pat00028

그런데, <수학식 3>에서

Figure 112016129280496-pat00029
는 0 또는 자연수가 아닐 수 있으므로, <수학식 4>와 같이
Figure 112016129280496-pat00030
에 대해 올림 함수(ceil())를 사용하여 정수 값
Figure 112016129280496-pat00031
를 산출한다. 그런데, 올림 함수(ceil())를 사용하는 것은 일 실시 예로 본 발명은 이에 한정되지 않는다. 즉, 올림 함수(ceil()) 이외에도 버림 함수(floor()) 또는 반올림 함수(round())가 사용될 수 있다.However, in Equation (3)
Figure 112016129280496-pat00029
May not be 0 or a natural number, and therefore, as shown in Equation (4)
Figure 112016129280496-pat00030
(Ceil ()) for an integer value
Figure 112016129280496-pat00031
. 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 ()).

Figure 112016129280496-pat00032
Figure 112016129280496-pat00032

<수학식 4>로부터

Figure 112016129280496-pat00033
는 하기의 <수학식 5>와 같이 유도될 수 있다.From Equation (4)
Figure 112016129280496-pat00033
Can be derived as Equation (5) below.

Figure 112016129280496-pat00034
Figure 112016129280496-pat00034

다음으로, 프레임 재생부(120)는 입력된 음의 종류(노트 번호)와 매핑되는 프레임 번호

Figure 112016129280496-pat00035
를 구하였을 경우, 이를 자연스럽게 재생하여야 한다. 예컨대, 현재 재생중인 프레임 번호가 1이고, 프레임 매핑부(110)로부터 출력된 다음 재생할 프레임 번호가 4라면, 프레임 재생부(120)는 1에서 4로 곧바로 장면을 전환하는 것이 아니라 1, 2, 3, 4의 순서대로 장면을 전환한다. 이를 통해 시청자에게 위화감을 주지 않을 것이다. Next, the frame playback unit 120 generates a frame number
Figure 112016129280496-pat00035
, It should be reproduced naturally. For example, if the currently playing frame number is 1 and the frame number to be reproduced next from the frame mapping unit 110 is 4, the frame playback unit 120 does not directly switch scenes from 1 to 4, 3, and 4, respectively. This will not give viewers any discomfort.

따라서, 프레임 재생부(120)는 음의 변화에 맞추어 애니메이션의 장면을 전환하는 데 있어, 각 프레임의 당 재생 시간을 얼마만큼 지정해야 하는지를 결정한다. 이를 위해, 입력된 미디 정보 중 프레임 번호

Figure 112016129280496-pat00036
를 구하기 위한 음의 종류(노트 번호) 뿐 아니라, 음의 지속 시간을 필요로 한다. Therefore, the frame playback unit 120 determines how much the playback time per frame is to be designated in switching the scene of the animation in accordance with the change of the sound. For this purpose, among the input MIDI information,
Figure 112016129280496-pat00036
(Notation number) to obtain a sound, as well as a negative duration.

우선, 입력되는 미디 정보가 가리키는 각 음에 대해, 입력되는 순서대로 번호를 매겨

Figure 112016129280496-pat00037
로 표기하고,
Figure 112016129280496-pat00038
번째 음에 대한 노트 번호
Figure 112016129280496-pat00039
Figure 112016129280496-pat00040
으로 표기한다. 예컨대, 미디 정보가 4 옥타브의 “도레미”의 순서로 시작한다면, 1번째, 2번째, 3번째 음에 대한 노트 번호는 각각
Figure 112016129280496-pat00041
,
Figure 112016129280496-pat00042
,
Figure 112016129280496-pat00043
로 표기될 수 있다. First, for each note indicated by the input MIDI information, the notes are numbered in the order in which they are input
Figure 112016129280496-pat00037
Respectively,
Figure 112016129280496-pat00038
Note number for the first note
Figure 112016129280496-pat00039
To
Figure 112016129280496-pat00040
. 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
Figure 112016129280496-pat00041
,
Figure 112016129280496-pat00042
,
Figure 112016129280496-pat00043
. &Lt; / RTI &gt;

다음으로,

Figure 112016129280496-pat00044
번째 음의 지속 시간을
Figure 112016129280496-pat00045
으로 표기하고, 그 단위는 밀리세크(ms)로 한다. 예컨대, 4 옥타브의 “도레미”의 순서로 연주될 때, 도가 1초, 레가 2초, 미가 3초간 연주되어진다면,
Figure 112016129280496-pat00046
,
Figure 112016129280496-pat00047
,
Figure 112016129280496-pat00048
가 된다to the next,
Figure 112016129280496-pat00044
The duration of the
Figure 112016129280496-pat00045
, 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,
Figure 112016129280496-pat00046
,
Figure 112016129280496-pat00047
,
Figure 112016129280496-pat00048
Become

또한,

Figure 112016129280496-pat00049
번째 음의 노트 번호
Figure 112016129280496-pat00050
에 대해 매핑되는 프레임 번호를
Figure 112016129280496-pat00051
라 하고, 줄여서
Figure 112016129280496-pat00052
으로 표기한다. 즉,
Figure 112016129280496-pat00053
에서
Figure 112016129280496-pat00054
로 장면이 전환되는 데에
Figure 112016129280496-pat00055
의 시간이 주어지게 된다.Also,
Figure 112016129280496-pat00049
Note number of the first note
Figure 112016129280496-pat00050
The frame number mapped to
Figure 112016129280496-pat00051
And shortly,
Figure 112016129280496-pat00052
. In other words,
Figure 112016129280496-pat00053
in
Figure 112016129280496-pat00054
To switch scenes into
Figure 112016129280496-pat00055
Of time.

어떤 노트

Figure 112016129280496-pat00056
Figure 112016129280496-pat00057
이 입력되는 경우에 대해,
Figure 112016129280496-pat00058
이 연주되는
Figure 112016129280496-pat00059
의 시간 동안, 동시에 재생되어야 하는 애니메이션의 장면 전환을 구현하기 위해,
Figure 112016129280496-pat00060
의 시간 동안 재생될 각각의 프레임 번호
Figure 112016129280496-pat00061
와 프레임별 재생 시간
Figure 112016129280496-pat00062
를 산출한다.Some notes
Figure 112016129280496-pat00056
Wow
Figure 112016129280496-pat00057
For example,
Figure 112016129280496-pat00058
Is played
Figure 112016129280496-pat00059
In order to implement the transition of the animation which must be played simultaneously,
Figure 112016129280496-pat00060
Each frame number to be reproduced
Figure 112016129280496-pat00061
And frame-by-frame playback time
Figure 112016129280496-pat00062
.

즉, 프레임 재생부(120)는 m번째 입력되는 미디 정보의 음의 지속 시간(

Figure 112016129280496-pat00063
)을 m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00064
)에서 m+1번째 매핑된 프레임 번호(
Figure 112016129280496-pat00065
)까지의 사이에 존재하는 프레임 번호들의 갯수(
Figure 112016129280496-pat00066
-
Figure 112016129280496-pat00067
+1)만큼 분할하여 각 프레임별 재생 시간(
Figure 112016129280496-pat00068
)을 계산하고, 계산된 프레임별 재생 시간에 따라 m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00069
)에서 m+1번째 매핑된 프레임 번호(
Figure 112016129280496-pat00070
)까지 번호 순서대로 프레임들을 재생한다.That is, the frame playback unit 120 determines the duration of the sound of the m &lt; th &gt;
Figure 112016129280496-pat00063
) To the m-th mapped frame number (
Figure 112016129280496-pat00064
) To (m + 1) -th mapped frame number
Figure 112016129280496-pat00065
The number of frame numbers existing between
Figure 112016129280496-pat00066
-
Figure 112016129280496-pat00067
+1), and the playback time of each frame
Figure 112016129280496-pat00068
), And calculates an m-th mapped frame number (
Figure 112016129280496-pat00069
) To (m + 1) -th mapped frame number
Figure 112016129280496-pat00070
) In order of the number of frames.

프레임 재생부(120)는 m번째 매핑된 프레임 번호(

Figure 112016129280496-pat00071
)와 m+1번째 매핑된 프레임 번호(
Figure 112016129280496-pat00072
)가 동일할 경우, m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00073
)에 해당하는 프레임을 m번째 입력되는 미디 정보의 음의 지속 시간(
Figure 112016129280496-pat00074
) 동안 재생한다.The frame playback unit 120 receives the m-th mapped frame number (
Figure 112016129280496-pat00071
) And (m + 1) -th mapped frame number
Figure 112016129280496-pat00072
) Are the same, the m &lt; th &gt; mapped frame number (
Figure 112016129280496-pat00073
) Is a negative duration of the m-th input MIDI information (
Figure 112016129280496-pat00074
).

프레임 재생부(120)는 m번째 매핑된 프레임 번호(

Figure 112016129280496-pat00075
)가 m+1번째 매핑된 프레임 번호(
Figure 112016129280496-pat00076
)보다 작을 경우, m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00077
)에 해당하는 프레임부터 그 번호를 증가시켜가면서 계산된 프레임별 재생 시간(
Figure 112016129280496-pat00078
)만큼 프레임들 각각을 재생한다.The frame playback unit 120 receives the m-th mapped frame number (
Figure 112016129280496-pat00075
) Is m + 1-th mapped frame number (
Figure 112016129280496-pat00076
), The m-th mapped frame number (
Figure 112016129280496-pat00077
) From the frame corresponding to the calculated frame-by-frame playback time
Figure 112016129280496-pat00078
) Of each frame.

프레임 재생부(120)는 m번째 매핑된 프레임 번호()가 m+1번째 매핑된 프레임 번호(

Figure 112016129280496-pat00080
)보다 클 경우, m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00081
)에 해당하는 프레임부터 그 번호를 감소시켜가면서 계산된 프레임별 재생 시간(
Figure 112016129280496-pat00082
)만큼 프레임들 각각을 재생한다.The frame playback unit 120 receives the m-th mapped frame number ( ) Is m + 1-th mapped frame number (
Figure 112016129280496-pat00080
), The m-th mapped frame number (
Figure 112016129280496-pat00081
) From the frame corresponding to the calculated frame-by-frame playback time
Figure 112016129280496-pat00082
) Of each frame.

도 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)는 연주하고자 하는 음악에 따라 노트 번호의 범위를 설정하기 위해 최소 노트 번호(

Figure 112016129280496-pat00083
) 및 최대 노트 번호(
Figure 112016129280496-pat00084
)를 설정한다(S411). 따라서, 노트 번호
Figure 112016129280496-pat00085
Figure 112016129280496-pat00086
의 값으로 다시 맵핑된다. Referring to FIG. 5, the frame mapping unit 110 maps a frame number, which is identification information of an animation frame, to be played along with a note corresponding to a note type (note number) in the inputted MIDI performance information. However, since there is almost no case in which all notes are used in music, the frame mapping unit 110 sets a minimum note number (for example,
Figure 112016129280496-pat00083
) And maximum note number (
Figure 112016129280496-pat00084
(S411). Therefore,
Figure 112016129280496-pat00085
The
Figure 112016129280496-pat00086
Lt; / RTI &gt;

프레임 매핑부(110)는 노트 번호가

Figure 112016129280496-pat00087
보다 작을 경우(S412), 매핑되는 프레임 번호를 프레임 번호 범위의 최소값으로 결정한다(S413). 예컨대, 노트 번호가 '0'일 경우, 프레임 번호를
Figure 112016129280496-pat00088
으로 설정한다. 그리고, 프레임 매핑부(110)는 노트 번호가
Figure 112016129280496-pat00089
보다 클 경우(S414), 매핑되는 프레임 번호를 프레임 번호 범위의 최대값으로 결정한다(S415). 예컨대, 노트 번호가 '127'일 경우, 프레임 번호를
Figure 112016129280496-pat00090
으로 설정한다.The frame mapping unit 110 receives the note number
Figure 112016129280496-pat00087
(S412), the frame number to be mapped is determined as the minimum value of the frame number range (S413). For example, when the note number is '0'
Figure 112016129280496-pat00088
. Then, the frame mapping unit 110 stores the note number
Figure 112016129280496-pat00089
(S414), the frame number to be mapped is determined as the maximum value of the frame number range (S415). For example, when the note number is '127'
Figure 112016129280496-pat00090
.

다음으로, 프레임 매핑부(110)는

Figure 112016129280496-pat00091
범위의 노트 번호
Figure 112016129280496-pat00092
각각에 대해 재생되어야 할 프레임 번호
Figure 112016129280496-pat00093
를 매핑한다. 이때, 프레임 매핑부(110)는 설정된 노트 번호의 범위 내에서 연속하는 두 개의 노트 번호들 사이에 매핑되는 노트 구간별 프레임 구간이 일정해지도록 상기 노트 번호에 매핑되는 프레임 번호를 결정한다(S416).Next, the frame mapping unit 110
Figure 112016129280496-pat00091
Note number of range
Figure 112016129280496-pat00092
Frame number to be played for each
Figure 112016129280496-pat00093
. At this time, the frame mapping unit 110 determines a frame number mapped to the note number so that a frame interval for each note interval mapped between two consecutive note numbers within a set note number range is constant (S416) .

또한, 프레임 매핑부(110)는 프레임 번호

Figure 112016129280496-pat00094
는 0 또는 자연수가 되어야 하므로, 어떤 노트 번호
Figure 112016129280496-pat00095
가 입력되었을 때 재생되어야 할 프레임 번호
Figure 112016129280496-pat00096
를 찾기 위해 계산식을 작성할 경우, 결정된 프레임 번호가 정수가 아닐 경우(S417), 근접한 정수를 상기 입력된 노트 번호에 상응하는 프레임 번호로 결정한다(S418). 즉, 계산의 마지막에 올림, 버림 또는 반올림 중 하나의 연산을 수행하는 것을 고려하여 계산식을 유도할 필요가 있다. In addition, the frame mapping unit 110 stores the frame number
Figure 112016129280496-pat00094
Must be 0 or a natural number,
Figure 112016129280496-pat00095
Frame number to be played back
Figure 112016129280496-pat00096
If the determined frame number is not an integer number (S417), the adjacent integer is determined as a frame number corresponding to the inputted note number (S418). That is, it is necessary to derive the formula considering the calculation of one of the rounding, rounding, or rounding at the end of the calculation.

도 6은 본 발명의 일 실시 예에 따른 프레임을 재생하는 단계를 설명하기 위한 순서도이다.6 is a flowchart for explaining a step of reproducing a frame according to an embodiment of the present invention.

도 6을 참조하면, 프레임 재생부(120)는 어떤 노트 번호

Figure 112016129280496-pat00097
Figure 112016129280496-pat00098
이 입력되는 경우에 대해,
Figure 112016129280496-pat00099
이 연주되는
Figure 112016129280496-pat00100
의 시간 동안, 동시에 재생되어야 하는 애니메이션의 장면 전환을 구현하기 위해,
Figure 112016129280496-pat00101
의 시간 동안 재생될 각각의 프레임 번호
Figure 112016129280496-pat00102
와 프레임별 재생 시간
Figure 112016129280496-pat00103
를 산출한다(S421). 즉, 프레임 재생부(120)는 m번째 입력되는 미디 정보의 음의 지속 시간(
Figure 112016129280496-pat00104
)을 m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00105
)에서 m+1번째 매핑된 프레임 번호(
Figure 112016129280496-pat00106
)까지의 사이에 존재하는 프레임 번호들의 갯수(
Figure 112016129280496-pat00107
-
Figure 112016129280496-pat00108
+1)만큼 분할하여 각 프레임별 재생 시간(
Figure 112016129280496-pat00109
)을 계산하고, 계산된 프레임별 재생 시간에 따라 m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00110
)에서 m+1번째 매핑된 프레임 번호(
Figure 112016129280496-pat00111
)까지 번호 순서대로 프레임들을 재생한다.Referring to FIG. 6, the frame playback unit 120 receives a certain note number
Figure 112016129280496-pat00097
Wow
Figure 112016129280496-pat00098
For example,
Figure 112016129280496-pat00099
Is played
Figure 112016129280496-pat00100
In order to implement the transition of the animation which must be played simultaneously,
Figure 112016129280496-pat00101
Each frame number to be reproduced
Figure 112016129280496-pat00102
And frame-by-frame playback time
Figure 112016129280496-pat00103
(S421). That is, the frame playback unit 120 determines the duration of the sound of the m &lt; th &gt;
Figure 112016129280496-pat00104
) To the m-th mapped frame number (
Figure 112016129280496-pat00105
) To (m + 1) -th mapped frame number
Figure 112016129280496-pat00106
The number of frame numbers existing between
Figure 112016129280496-pat00107
-
Figure 112016129280496-pat00108
+1), and the playback time of each frame
Figure 112016129280496-pat00109
), And calculates an m-th mapped frame number (
Figure 112016129280496-pat00110
) To (m + 1) -th mapped frame number
Figure 112016129280496-pat00111
) In order of the number of frames.

번호 순서대로 프레임들을 재생하기 위해, 프레임 재생부(120)는 프레임 번호 변화량 변수인 a를 설정한다(S422~S426). 즉, 프레임 재생부(120)는 m번째 매핑된 프레임 번호(

Figure 112016129280496-pat00112
)와 m+1번째 매핑된 프레임 번호(
Figure 112016129280496-pat00113
)가 동일할 경우(S423), a를 '0'으로 설정(S423)하고, m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00114
)가 m+1번째 매핑된 프레임 번호(
Figure 112016129280496-pat00115
)보다 작을 경우(S424), a를 '1'으로 설정하고(S425), m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00116
)가 m+1번째 매핑된 프레임 번호(
Figure 112016129280496-pat00117
) 보다 클 경우(S423), a를 '-1'으로 설정한다(S426).To reproduce the frames in order of the number, the frame regeneration unit 120 sets the frame number variation variable a (S422 to S426). That is, the frame regeneration unit 120 generates the m-th mapped frame number (
Figure 112016129280496-pat00112
) And (m + 1) -th mapped frame number
Figure 112016129280496-pat00113
(S423), a is set to '0' (S423), and the m-th mapped frame number (
Figure 112016129280496-pat00114
) Is m + 1-th mapped frame number (
Figure 112016129280496-pat00115
(S424), a is set to '1' (S425), and the m-th mapped frame number (
Figure 112016129280496-pat00116
) Is m + 1-th mapped frame number (
Figure 112016129280496-pat00117
(S423), a is set to '-1' (S426).

그런 후, 프레임 재생부(120)는 프레임

Figure 112016129280496-pat00118
를 프레임별 재생 시간
Figure 112016129280496-pat00119
동안 재생한(S427) 후,
Figure 112016129280496-pat00120
를 a만큼 증가시킨다(S428). 프레임 재생부(120)는
Figure 112016129280496-pat00121
Figure 112016129280496-pat00122
과 동일(S428)해질 때까지 S427 내지 S428을 반복 수행한다. Then, the frame playback unit 120 generates a frame
Figure 112016129280496-pat00118
Frame playback time
Figure 112016129280496-pat00119
(S427), and then,
Figure 112016129280496-pat00120
Is increased by a (S428). The frame playback unit 120
Figure 112016129280496-pat00121
end
Figure 112016129280496-pat00122
S427 to S428 are repeated until the same as S427 (S428).

결과적으로, m번째 매핑된 프레임 번호(

Figure 112016129280496-pat00123
)와 m+1번째 매핑된 프레임 번호(
Figure 112016129280496-pat00124
)가 동일할 경우, 프레임 재생부(120)는 미디 정보의 음의 지속 시간 m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00125
)에 해당하는 프레임을 m번째 입력되는 미디 정보의 음의 지속 시간(
Figure 112016129280496-pat00126
) 동안 재생하게 된다. 또한, m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00127
)가 m+1번째 매핑된 프레임 번호(
Figure 112016129280496-pat00128
)보다 작을 경우(S424), 프레임 재생부(120)는 m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00129
)에 해당하는 프레임부터 그 번호를 증가시켜가면서 계산된 프레임별 재생 시간(
Figure 112016129280496-pat00130
)만큼 프레임들 각각을 재생한다. 그리고, m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00131
)가 m+1번째 매핑된 프레임 번호(
Figure 112016129280496-pat00132
)보다 클 경우(S424), 프레임 재생부(120)는 m번째 매핑된 프레임 번호(
Figure 112016129280496-pat00133
)에 해당하는 프레임부터 그 번호를 감소시켜가면서 계산된 프레임별 재생 시간(
Figure 112016129280496-pat00134
)만큼 프레임들 각각을 재생한다.As a result, the m-th mapped frame number (
Figure 112016129280496-pat00123
) And (m + 1) -th mapped frame number
Figure 112016129280496-pat00124
) Is the same, the frame playback unit 120 outputs the negative duration m-th mapped frame number (
Figure 112016129280496-pat00125
) Is a negative duration of the m-th input MIDI information (
Figure 112016129280496-pat00126
). Also, the m-th mapped frame number (
Figure 112016129280496-pat00127
) Is m + 1-th mapped frame number (
Figure 112016129280496-pat00128
(S424), the frame regeneration unit 120 outputs the m-th mapped frame number (
Figure 112016129280496-pat00129
) From the frame corresponding to the calculated frame-by-frame playback time
Figure 112016129280496-pat00130
) Of each frame. Then, the m-th mapped frame number (
Figure 112016129280496-pat00131
) Is m + 1-th mapped frame number (
Figure 112016129280496-pat00132
(S424), the frame regeneration unit 120 sets the m-th mapped frame number (
Figure 112016129280496-pat00133
) From the frame corresponding to the calculated frame-by-frame playback time
Figure 112016129280496-pat00134
) Of each frame.

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.
삭제delete 삭제delete 제1 항에 있어서, 상기 프레임 매핑부는
상기 설정된 노트 번호의 범위 내에서 연속하는 두 개의 노트 번호들 사이에 매핑되는 노트 구간별 프레임 구간이 일정해지도록 상기 노트 번호에 매핑되는 프레임 번호를 결정함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 장치.
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.
제4 항에 있어서, 상기 프레임 매핑부는
상기 결정된 프레임 번호가 정수가 아닐 경우, 근접한 정수를 상기 입력된 노트 번호에 상응하는 프레임 번호로 결정함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 장치.
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.
제5 항에 있어서, 상기 프레임 매핑부는
근접한 정수를 구하기 위해 올림, 버림 또는 반올림 중 하나의 연산을 수행함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 장치.
6. The apparatus of claim 5, wherein the frame mapping unit
And performs rounding, rounding, or rounding operation to obtain a close integer.
제1 항에 있어서, 상기 미디 정보는
음의 지속 시간 정보를 더 포함하고,
상기 반복 애니메이션 재생부는
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. .
제7 항에 있어서, 상기 프레임 재생부는
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.
제7 항에 있어서, 상기 프레임 재생부는
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:
제7 항에 있어서, 상기 프레임 재생부는
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.
삭제delete 삭제delete 제11 항에 있어서, 상기 매핑하는 단계는
상기 설정된 노트 번호의 범위 내에서 연속하는 두 개의 노트 번호들 사이에 매핑되는 노트 구간별 프레임 구간이 일정해지도록 상기 노트 번호에 매핑되는 프레임 번호를 결정함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 방법.
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.
제14 항에 있어서, 상기 매핑하는 단계는
상기 결정된 프레임 번호가 정수가 아닐 경우, 근접한 정수를 상기 입력된 노트 번호에 상응하는 프레임 번호로 결정하는 단계를 더 포함함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 방법.
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.
제15 항에 있어서, 상기 매핑하는 단계는
근접한 정수를 구하기 위해 올림, 버림 또는 반올림 중 하나의 연산을 수행함을 특징으로 하는 미디 정보 기반 반복 애니메이션과 음악 연동 방법.
16. The method of claim 15, wherein the mapping step
A rounding, a rounding, or a rounding operation is performed to obtain close integers.
제11 항에 있어서, 상기 미디 정보는
음의 지속 시간 정보를 더 포함하고,
상기 재생하는 단계는
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.
KR1020160182804A 2016-12-29 2016-12-29 Apparatus and Method for interworking between cycle animation and music based on MIDI information KR101846023B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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