DE102009014655A1 - Musical instruments digital interface data interpolation method for e.g. piano, involves interpolating intermediate values between discrete data values arriving sequentially at arbitrary time under influence of frequency size, by filter - Google Patents

Musical instruments digital interface data interpolation method for e.g. piano, involves interpolating intermediate values between discrete data values arriving sequentially at arbitrary time under influence of frequency size, by filter Download PDF

Info

Publication number
DE102009014655A1
DE102009014655A1 DE200910014655 DE102009014655A DE102009014655A1 DE 102009014655 A1 DE102009014655 A1 DE 102009014655A1 DE 200910014655 DE200910014655 DE 200910014655 DE 102009014655 A DE102009014655 A DE 102009014655A DE 102009014655 A1 DE102009014655 A1 DE 102009014655A1
Authority
DE
Germany
Prior art keywords
midi
values
data values
frequency
data
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
DE200910014655
Other languages
German (de)
Inventor
Carsten Schippmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Schippmann Carsten Dipl-Ing
Original Assignee
Schippmann Carsten Dipl-Ing
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 Schippmann Carsten Dipl-Ing filed Critical Schippmann Carsten Dipl-Ing
Priority to DE200910014655 priority Critical patent/DE102009014655A1/en
Publication of DE102009014655A1 publication Critical patent/DE102009014655A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/621Waveform interpolation

Abstract

The method involves extraction of digital data values (Dt), sent under a channel number, addressed to a controller and provided to control a musical parameter, from a serial musical instruments digital interface (MIDI) data stream (SMD) at a MIDI-interface input (2), by a MIDI extractor (3). Event information (EIt) is extracted from the MIDI data stream. Intermediate values are interpolated between the discrete data values arriving sequentially at arbitrary times under the influence of frequency size (Ht), by an interpolation filter (5).

Description

Die vorliegende Erfindung 1 (1) bezieht sich auf die Interpolation von MIDI (Musical Instruments Digital Interface) Daten in MIDI steuerbaren elektronischen Musikinstrumenten und Signalverarbeitungsgeräten.The present invention 1 ( 1 ) refers to the interpolation of MIDI (Musical Instrument Digital Interface) data in MIDI controllable electronic musical instruments and signal processing equipment.

Stand der Technik:State of the art:

MIDI Daten dienen der Steuerung von Parametern, die z. B. den Klang eines synthetisch erzeugten Tones in einer bestimmten Weise beeinflussen. Zum Beispiel kann ein vom Gerät empfangenes MIDI Datum direkten Einfluss auf die Dauer der Ausklingphase einer synthetisch erzeugten angeschlagenen Klaviersaite haben. Die MIDI Daten selbst dienen hierbei nur zur Steuerung von Prozessabläufen, die wiederum von eigenständigen Klangmodulen abgearbeitet werden.MIDI Data are used to control parameters that z. B. the sound of a affect synthesized sounds in a certain way. For example, one from the device received MIDI date directly affects the duration of the decay phase of a synthetically produced ailing piano string. The MIDI data itself serve only to control processes, the again of independent Sound modules are processed.

Weil MIDI Daten binär als Bits in Datenpaketen gesendet werden, können sie entweder von einem Mikroprozessor so weiterverarbeitet werden, dass sie direkt in die Algorithmen einer digitalen Tonerzeugung eingreifen oder mit Digital-Analog-Konvertern in Steuerspannungswerte zur Steuerung analog arbeitender Klangerzeugungs- bzw. Signalverarbeitungssysteme umgewandelt werden. In beiden Fällen werden diese Daten als direkt wirkende Steuerdaten zur Beeinflussung von Klangparametern benutzt.Because MIDI data binary When bits are sent in data packets, they can either be from one Microprocessor be processed so that they directly into the Intervene algorithms of digital tone generation or with digital-to-analog converters into control voltage values for controlling analog sound generator or signal processing systems are converted. In both cases will be this data as a direct-acting control data for influencing Sound parameters used.

Aufgrund der niedrigen Bitrate von 32500 Hz bei der Datenübertragung ist der Anwendungsbereich stark beschränkt und daher nur für statische oder sehr langsam verlaufende Modulationen geeignet. Ein vollständiges MIDI Datum setzt sich aus einem Statusbyte und zwei Datenbytes, jeweils eingeschlossen von einem Start- und einem Stoppbit, zusammen. Damit müssen, bis auf einige Sonderfälle, bis zu 30 Bits mit der oben genannten Übertragungsrate gesendet werden, bevor ein Datum erkannt und weiterverarbeitet werden kann. Daraus ergibt sich, dass nur mindestens alle 923 μs ein MIDI Datum empfangen werden kann. In der Praxis werden in der Regel noch mehrere Daten zur „gleichzeitigen” Ansteuerung verschiedener Parameter auf einer MIDI Schnittstelle gesendet, so dass die Daten rate für jeweils einen bestimmten Parameter noch wesentlich geringer wird.by virtue of the low bit rate of 32500 Hz in data transmission is the area of application strong limited and therefore only for static or very slow modulations suitable. One complete MIDI date consists of a status byte and two bytes of data, each including a start and a stop bit together. With that, except for a few special cases, up to 30 bits are sent at the above transmission rate, before a date can be recognized and processed. from that results in that only at least every 923 μs will receive a MIDI date can. In practice, more data is usually used for "simultaneous" control various parameters sent on a MIDI interface, so that the data rate for each one parameter is still much lower.

Aus diesen Gründen eignet sich das MIDI Protokoll nicht für die Erzeugung von schnellen Modulationen in hoher Auflösung von Klangparametern, da beispielsweise für ein Durchlaufen von 128 Binärzuständen zur möglichst kontinuierlichen Aufsteuerung eines Amplitudenmodulators mindestens ca. 118 ms nötig wären, wenn keine weiteren Daten zusätzlich auf der MIDI Leitung gesendet würden, was sich überdies nicht garantieren lässt.Out these reasons The MIDI protocol is not suitable for fast generation Modulations in high resolution of sound parameters, since, for example, to go through 128 binary states to preferably continuous control of an amplitude modulator at least approx. 118 ms necessary would be, if no further data in addition would be sent on the MIDI line, what's more can not guarantee.

Weiter ist die Auflösung eines MIDI Datums, abgesehen von ein paar Sonderfällen, die auch nicht immer von allen MIDI Geräten unterstützt werden, in der Regel auf 7 Bit beschränkt, woraus eine starke Stufigkeit der zu steuernden Parameter resultiert. Insbesondere bei Tonhöhen oder tonhöhenverwandten Parametern wie Knick- oder Resonanzfrequenzen bei Audiofiltern ist diese Auflösung unzureichend und wird als störend empfunden, wenn ein quasikontinuierlicher Verlauf infolge eines andauernden MIDI Datenstromes erreicht werden soll.Further is the resolution of a MIDI date, apart from a few special cases, the Also not always supported by all MIDI devices, usually on 7 bit limited, This results in a high degree of complexity of the parameters to be controlled. Especially at pitches or pitch-related Parameters such as kink or resonance frequencies in audio filters is this resolution insufficient and is perceived as disturbing, if a quasi-continuous course as a result of an ongoing MIDI data stream is to be achieved.

Die vorliegende Erfindung 1 dient zur adaptiven zeitlichen und räumlichen Interpolation von MIDI Daten. Hierzu wird zunächst die Häufigkeit H(t) bestimmt, mit der ein bestimmtes MIDI Datum vom Wert D(t), das einen bestimmten musikalischen Parameter steuern soll und auf einem bestimmten Kanal unter einer bestimmten Controllernummer am MIDI-Schnittstelleneingang 2 empfangen wird. Dazu werden die im MIDI Protokoll verankerten Start-, Stopp- und Statusbits herangezogen, aus denen sich das Eintreffen eines neuen Datenwertes D(t) ableiten lässt. Das Eintreffen eines neuen Datenwertes D(t) soll in Form einer Ereignisinformation EI(t) angezeigt werden. Sowohl die Gewinnung der Datenwerte D(t) als auch die Gewinnung der Ereignisinformation EI(t) erfolge mittels des MIDI-Extraktors 3 gemäß dem MIDI Protokoll.The present invention 1 is used for the adaptive temporal and spatial interpolation of MIDI data. For this purpose, first the frequency H (t) is determined, with which a certain MIDI datum of value D (t), which is to control a certain musical parameter, and on a certain channel under a certain controller number at the MIDI interface input 2 Will be received. For this purpose, the start, stop and status bits anchored in the MIDI protocol are used, from which the arrival of a new data value D (t) can be derived. The arrival of a new data value D (t) is to be displayed in the form of an event information EI (t). Both the extraction of the data values D (t) and the extraction of the event information EI (t) are effected by means of the MIDI extractor 3 according to the MIDI protocol.

Nun wird der Zeitabstand, mit dem die Ereignisinformationen EI(t) am MIDI-Schnittstelleneingang 2 mit Hilfe der Häufigkeitsauswertung 4 gemessen. Die Häufigkeitsgröße H(t) wird allein aus den stetig gemessenen Zeitabständen zwischen den aufeinander folgenden Ereignisinformation EI(t) bestimmt und zwar der Gestalt das tendenziell kleinere Zeitabstände zu einer Zunahme der Häufigkeit H(t) führen. Es können beliebig viele Ereignisinformationen EI(t) aus der Vergangenheit zur Bestimmung der aktuellen Häufigkeitsgröße H(t) herangezogen werdenNow the time interval at which the event information EI (t) at the MIDI interface input becomes 2 with the help of the frequency evaluation 4 measured. The frequency quantity H (t) is determined solely from the continuously measured time intervals between the consecutive event information EI (t), namely the shape that tends to reduce the time intervals to an increase in the frequency H (t). Any number of event information EI (t) from the past can be used to determine the current frequency quantity H (t)

Aufgabe des Interpolationsfilters 5 ist die Berechnung von Zwischenwerten zwischen den in Folge eintreffenden diskreten Datenwerten D(t). Diese können in unregelmäßigen Zeitabständen am MIDI-Schnittstelleneingang 2 eintreffen. Das Interpolationsfilter 5 kann zur Berechnung dieser Zwischenwerte beliebig viele Datenwerte D(t) aus der Vergangenheit berücksichtigen. Die Annäherung der interpolierten Zwischenwerte an die aktuellen Datenwerte D(t) kann dabei in einem beliebigen Verlauf erfolgen.Task of the interpolation filter 5 is the calculation of intermediate values between the consecutive one meeting discrete data values D (t). These can be at irregular intervals on the MIDI interface input 2 arrive. The interpolation filter 5 can consider any number of data values D (t) from the past to calculate these intermediate values. The approximation of the interpolated intermediate values to the current data values D (t) can take place in any desired course.

Die Zeitkonstante T des Interpolationsfilters 5 bestimmt dabei die Geschwindigkeit beziehungsweise den Verlauf, mit der die Interpolation voranschreitet. Diese Zeitkonstante T wird in Abhängigkeit der Häufigkeitsgröße H(t) gesteuert und zwar dergestalt, dass eine Zunahme der Häufigkeitsgröße H(t) tendenziell zu einer Abnahme der Zeitkonstante T führt. Dadurch wird die interpolierte Ausgangsfunktion DI(t) am Ausgang 6 des Interpolationsfilters 5 den dynamischen Verhältnissen der eintreffenden Datenwerte so angepasst, dass selbst große Datenwertsprünge, die in beliebigen Zeitabständen am MIDI-Schnitstelleneingang 2 erfolgen können, in beliebig fein gestufte oder, bei analoger Datenverarbeitung, kontinuierliche Wertverläufe umgewandelt werden, womit jede Stufigkeit der ursprünglichen Datenwerte D(t) eliminiert wird. Die Steuerung der Zeitkonstante T erlaubt zudem beliebig schnell verlaufende Modulationen.The time constant T of the interpolation filter 5 determines the speed or the course with which the interpolation progresses. This time constant T is controlled as a function of the frequency magnitude H (t) in such a way that an increase in the frequency H (t) tends to lead to a decrease in the time constant T. As a result, the interpolated output function D I (t) becomes the output 6 of the interpolation filter 5 adapted to the dynamic conditions of the incoming data values so that even large data value jumps, at any time intervals at the MIDI interface input 2 can be made in any finely graded or, in analog data processing, continuous value curves are converted, whereby each stage of the original data values D (t) is eliminated. The control of the time constant T also allows arbitrarily fast running modulation.

Der oben beschriebene Zusammenhang zwischen der Häufigkeitsgröße H(t) und der Zeitkonstanten T des Interpolationsfilters 5 setzt grundsätzlich die vernünftige Annahme voraus, dass ein zeitlich großer Abstand zwischen zwei aufeinander folgenden Datenwerten D(t) einen eigentlich langsamen Werteverlauf bezweckt. Durch die Art und Weise des Kurvenverlaufes, mit der diese Annäherung geschieht, kann eine Anpassung an die musikalischen Gegebenheiten und gehörmäßigen Bevorzugungen gemacht werden. Beispielsweise kann ein überschwingendes Verhalten bei der Erreichung des neuen Endwertes DI(t) zu neuen und interessanten musikalischen Ergebnissen führen. Eine beliebige Vielfalt von Annäherungsweisen und musikalischen Absichten ist hierbei denkbar. Das Interpolationsfilter 5 könnte auch Hochpassverhalten aufweisen, wodurch zwar zunächst wieder eine sprunghafte Änderung der Datenwerte am Ausgang 6 des Interpolationsfilters 5 die Folge wäre, aber zum Beispiel mit anschließendem Rückgang gegen Null oder einem Nachschwingen um den Endwert.The relationship described above between the frequency H (t) and the time constant T of the interpolation filter 5 In principle, it presupposes the reasonable assumption that a temporally large distance between two successive data values D (t) has the purpose of actually slow value progression. By the way of the curve, with which this approach happens, an adaptation to the musical circumstances and falsifications can be made. For example, an overshoot in the achievement of the new final value D I (t) can lead to new and interesting musical results. Any variety of approaches and musical intentions is conceivable here. The interpolation filter 5 could also have high-pass behavior, whereby initially again a sudden change in the data values at the output 6 of the interpolation filter 5 the result would be, but for example, with subsequent decrease to zero or a ringing around the final value.

Das Interpolationsfilter 5 der hier vorliegenden Erfindung 1 stellt wie oben beschrieben also ein zeitvariantes System dar. Die Zeitvarianz dieses Systems in spielt eine entscheidende Rolle für die Anpassung der Interpolation an die Häufigkeit, mit der die MIDI Daten am MIDI-Schnittestelleneingan 2 eintreffen und ist wesentlich für eine möglichst „verzerrungsfreie” Abbildung der tatsächlich ankommenden MIDI Daten.The interpolation filter 5 the present invention 1 Thus, as described above, this is a time varying system. The time variance of this system in plays a crucial role in adapting the interpolation to the frequency with which the MIDI data is input at the MIDI interface 2 and is essential for a possible "distortion-free" mapping of the actual incoming MIDI data.

Ein einfacher Ansatz kann beispielsweise nach Gleichung G1.1 gemacht werden.One simple approach can for example be made according to equation G1.1 become.

Figure 00040001
Figure 00040001

Hierbei wird zwischen zeitlich aufeinander folgenden Datenwerten D(tv) linear mit der Zeit t interpoliert und zwar umso schneller, je Größer die Häufigkeit H(tv) zum Zeitpunkt tv ist. Figur 2 veranschaulicht die hier beschriebene Prozedur nach Gleichung G1.1. Zur Vereinfachung wechseln sich zwei Datenwerte D(t) entlang der Zeitachse t in unterschiedlichen Zeitabständen Δ1 und Δ2 miteinander ab. Die interpolierten Datenwerte DI(t) erreichen bereits nach dem zweiten Wechsel von D(t) den anzustrebenden Endwert (Asymptote). Das kann deshalb so sein, weil zuvor möglicherweise für lange Zeit kein Datenwert eingetroffen ist und sich somit eine zu große Zeitkonstante T des Interpolationsfilters 5 eingestellt hat. Verkürzt sich das Zeitintervall zum ersten mal von Δ1 auf Δ2, so erhält man zuerst wieder einen Interpolationsfehler, da die neue Häufigkeitsgröße H(t) erst nach Vergehen des Zeitintervalls Δ2 ermittelt werden kann. Das Interpolationsfilter 5 hängt also einen Datenwert hinterher. In der Praxis wird dieser Interpolationsfehler jedoch dadurch klein gehalten, dass man feiner zeitlich gerasterte Datenketten senden kann, die aber immer noch von geringer Dichte zu sein brauchen, um schnelle und kontinuierliche beziehungsweise quasikontinuierliche Interpolationsverläufe zu liefern.Here, between temporally successive data values D (t v ) is linearly interpolated with the time t and indeed the faster, the greater the frequency H (t v ) at the time t v . figure 2 illustrates the procedure described here according to equation G1.1. For simplicity, two data values D (t) alternate with one another along the time axis t at different time intervals Δ 1 and Δ 2 . The interpolated data values D I (t) reach the desired end value (asymptote) already after the second change of D (t). This may be because a data value may not have arrived for a long time, and thus may have too large a time constant T of the interpolation filter 5 has set. If the time interval is shortened from Δ 1 to Δ 2 for the first time, an interpolation error is first again obtained since the new frequency quantity H (t) can only be determined after the time interval Δ 2 has elapsed. The interpolation filter 5 So depends a data value afterwards. In practice, however, this interpolation error is kept small by being able to transmit finer time-sliced data strings, which still need to be of low density to provide fast and continuous or quasi-continuous interpolation courses.

Die Umsetzung der Erfindung 1 lässt sowohl Softwarelösungen in Form einer Unterroutine als auch digitale oder analoge Hardwarelösungen sowie eine beliebige Mischung aus diesen Ansätzen zu.The implementation of the invention 1 allows both software solutions in the form of a subroutine as well as digital or analog hardware solutions and any mixture of these approaches.

11

11
MIDI InterpolatorMIDI interpolator
22
MIDI-SchnittstelleneingangMIDI interface input
33
MDI-ExtraktorMDI extractor
44
Häufigkeitsauswertungfrequency analysis
55
Interpolationsfilterinterpolation
66
Datenausgang des Interpolationsfiltersdata output of the interpolation filter
SMDSMD
Serieller MIDI-Datenstromserial MIDI data stream
EI(t)EI (t)
Ereignisinformationevent information
H(t)H (t)
Häufigkeitsgrößefrequency size
D(t)D (t)
MIDI-DatenwerteMIDI data values
DI(t)D I (t)
interpolierte MIDI Datenwerteinterpolated MIDI data values

22

D(t)D (t)
MIDI-DatenwerteMIDI data values
DI(t)D I (t)
interpolierte MIDI Datenwerteinterpolated MIDI data values
tt
Zeit entlang der ZeitachseTime along the time axis
Δ1 Δ 1
Zeitintervall 1time interval 1
Δ2 Δ 2
Zeitintervall 2time interval 2
Asymptoteasymptote
Angestrebter Endwert von DI(t)Desired end value of D I (t)

Claims (15)

Verfahren zur Interpolation von MIDI Daten mittels einer Vorrichtung (1) mit an den Datenstrom angepasster Interpolationsgeschwindigkeit mit den folgenden Verfahrensschritten: – Extraktion der unter einer bestimmten Kanalnummer gesendeten, an einen bestimmten Controller adressierten und zur Steuerung eines bestimmten musikalischen Parameters vorgesehenen digitalen Datenwerte (D(t)) aus dem seriellen MIDI-Datenstrom (SMD) am MIDI-Schnittstelleneingang (2), mittels eines MIDI-Exraktors (3), – Extraktion einer Ereignisinformation (EI(t)) aus dem MIDI-Datenstrom (SMD), die angibt, dass ein neuer digitaler Datenwert (D(t)), der unter einer bestimmten Kanalnummer gesendet und an einen bestimmten Controller zur Steuerung eines bestimmten musikalischen Parameters adressiert wurde, eingetroffen ist, mittels eines MIDI-Exraktors (3), – Bestimmung einer Häufigkeitsgröße (H(t)), die ein Maß für die Häufigkeit, mit der die Datenwerte (D(t)), die unter einer bestimmten Kanalnummer gesendet und an einen bestimmten Controller zur Steuerung eines bestimmten musikalischen Parameters adressiert wurden, am MIDI-Schnittstelleneingang (2) eintreffen, mittels einer Häufigkeitsauswertung (4), – Interpolation von beliebig vielen Zwischenwerten zwischen den zu beliebigen Zeitpunkten aufeinander folgenden, eintreffenden diskreten Datenwerten (D(t)) unter Einfluss der Häufigkeitsgröße (H(t)), mittels eines Interpolationsfilters (5).Method for interpolating MIDI data by means of a device ( 1 ) with interpolation speed adapted to the data stream, comprising the following method steps: extraction of the digital data values (D (t)) sent under a specific channel number and addressed to a specific controller to control a particular musical parameter from the serial MIDI data stream (SMD ) on the MIDI interface input ( 2 ), by means of a MIDI extractor ( 3 ), - extraction of event information (EI (t)) from the MIDI data stream (SMD) indicating that a new digital data value (D (t)) sent under a particular channel number and sent to a specific controller for controlling a certain musical parameter has arrived, by means of a MIDI-excraktor ( 3 ), - determining a frequency quantity (H (t)) that is a measure of the frequency with which the data values (D (t)) sent under a particular channel number and addressed to a particular controller for controlling a particular musical parameter , on the MIDI interface input ( 2 ), by means of a frequency evaluation ( 4 ), Interpolation of any number of intermediate values between the incoming discrete data values (D (t)) consecutive at arbitrary times under the influence of the frequency variable (H (t)), by means of an interpolation filter ( 5 ). Extraktion der Datenwerte (D(t)) nach Anspruch 1, wobei, gemäß dem festgelegten MIDI-Protokoll, die Datenwerte (D(t)) mittels des MIDI-Extraktors (3) separiert werden,Extraction of the data values (D (t)) according to claim 1, wherein, according to the established MIDI protocol, the data values (D (t)) are read by means of the MIDI extractor ( 3 ) are separated Extraktion einer Ereignisinformation (EI(t)) nach Anspruch 1, wobei, gemäß dem festgelegten MIDI-Protokoll, die entsprechenden Start-Stopp- und Statusbits mittels des MIDI-Extraktors (3) zur Erkennung eines neu gesendeten Datenwertes (D(t)) herangezogen werden und durch ein Ereignisbit als Ereignisinformation (EI(t)) angezeigt werden,Extraction of event information (EI (t)) according to claim 1, wherein, according to the established MIDI protocol, the corresponding start-stop and status bits are read by means of the MIDI extractor (16). 3 ) are used to detect a newly transmitted data value (D (t)) and are indicated by an event bit as event information (EI (t)), Verfahren zur Bestimmung einer Häufigkeitsgröße (H(t)) nach Anspruch 1 und 3, wobei die Zeitabstände zwischen den aufeinander folgend eintreffenden Ereignisinformationen (EI(t)) gemessen werden und daraus ein Maß für die Häufigkeit abgeleitet wird.A method for determining a frequency (H (t)) according to claim 1 and 3, with the time intervals between successive incoming event information (EI (t)) be measured and derived therefrom a measure of the frequency. Verfahren zur Bestimmung einer Häufigkeitsgröße (H(t)) nach Anspruch 1, 3 und 4, wobei die Häufigkeit (H(t)) so bewertet wird, dass diese tendenziell mit kürzer werdenden Zeitabständen zwischen den Ereignisinformationen (EI(t)) zunimmt.Method for determining a frequency (H (t)) according to claim 1, 3 and 4, wherein the frequency (H (t)) is rated so that these tend to be shorter with intervals between the event information (EI (t)) increases. Verfahren zur Bestimmung einer Häufigkeitsgröße (H(t)) nach Anspruch 1 und 3 bis 5, wobei beliebig viele Ereignisinformationen (EI(t)) aus der Vergangenheit zur Bestimmung der momentanen Häufigkeitsgröße (H(t)) herangezogen werden können.A method for determining a frequency (H (t)) according to claim 1 and 3 to 5, where any number of event information (EI (t)) off the past to determine the current frequency quantity (H (t)) can be used. Verfahren zur Bestimmung einer Häufigkeitsgröße (H(t)) nach Anspruch 1 und 3 bis 6, wobei die Messung der Zeitabstände zwischen den Ereignisinformationen (EI(t)) digital oder analog erfolgen kann.A method for determining a frequency (H (t)) according to claim 1 and 3 to 6, wherein the measurement of the time intervals between the event information (EI (t)) can be digital or analog. Verfahren zur Interpolation von Zwischenwerten zwischen den Datenwerten (D(t)) nach Anspruch 1 und 2 mit Hilfe eines Interpolationsfilters (5) mit variabler Zeitkonstante (T).Method for interpolating intermediate values between the data values (D (t)) according to Claims 1 and 2 with the aid of an interpolation filter ( 5 ) with variable time constant (T). Verfahren zur Interpolation von Zwischenwerten zwischen den Datenwerten (D(t)) nach Anspruch 1, 2 und 8, wobei Zwischenwerte berechnet werden, die sich, zeitlich beliebig dicht beieinander liegend, von den zeitlich älteren Datenwerten (D(t)) ausgehend dem zeitlich jüngsten Datenwert (D(t)) in beliebiger Weise annähern.Method for interpolating intermediate values between the data values (D (t)) according to claim 1, 2 and 8, wherein intermediate values be calculated, which, at any time in time close to each other lying, from the older ones Data values (D (t)) based on the most recent data value (D (t)) in approximate any way. Verfahren zur Interpolation von Zwischenwerten zwischen den Datenwerten (D(t)) nach Anspruch 1, 2, 8 und 9, wobei beliebig viele Datenwerte D(t)) aus der Vergangenheit zur Berechnung eines momentanen Zwischenwertes herangezogen werden können.Method for interpolating intermediate values between the data values (D (t)) according to claim 1, 2, 8 and 9, wherein any many data values D (t)) from the past for the calculation of a current intermediate value can be used. Verfahren zur Interpolation von Zwischenwerten zwischen den Datenwerten (D(t)) nach Anspruch 1, 2 und 8 bis 10, wobei die Interpolation auf digitalem oder analogem Wege erfolgen kann.Method for interpolating intermediate values between the data values (D (t)) according to claim 1, 2 and 8 to 10, wherein the Interpolation can be done in a digital or analog way. Verfahren zur Interpolation von Zwischenwerten zwischen den Datenwerten (D(t)) nach Anspruch 1, 2 und 4 bis 11, wobei die Zeitkonstante (T), mit der die Zwischenwerte berechnet werden, von der Häufigkeitsgröße (H(t)) gesteuert wird.Method for interpolating intermediate values between the data values (D (t)) according to claim 1, 2 and 4 to 11, wherein the Time constant (T), with which the intermediate values are calculated, of the frequency size (H (t)) is controlled. Verfahren zur Interpolation von Zwischenwerten zwischen den Datenwerten (D(t)) nach Anspruch 1, 2 und 4 bis 12, wobei die Zeitkonstante (T) tendenziell mit zunehmender Häufigkeit (H(t)) abnimmt.Method for interpolating intermediate values between the data values (D (t)) according to claim 1, 2 and 4 to 12, wherein the Time constant (T) tends to decrease with increasing frequency (H (t)). Verfahren zur Interpolation von Zwischenwerten zwischen den Datenwerten (D(t)) nach Anspruch 1, 2 und 4 bis 13, wobei die Zunahme der Zeitkonstante (T) die Annäherung der Zwischenwerte an den aktuellen Datenwert (D(t)) verlangsamt.Method for interpolating intermediate values between the data values (D (t)) according to claim 1, 2 and 4 to 13, wherein the Increase in the time constant (T) the approximation of the intermediate values slows down the current data value (D (t)). Verfahren zur Interpolation von Zwischenwerten zwischen den Datenwerten (D(t)) nach Anspruch 1, 2 und 4 bis 15, wobei nach der Interpolation der diskreten Datenwerte (D(t)) die interpolierten Datenwerte (DI(t)) zur intendierten Parametersteuerung auf digitalem oder analogem Wege vom Interpolationsfilter (5) am Ausgang (6) bereitgestellt werden.Method for interpolating intermediate values between the data values (D (t)) according to claims 1, 2 and 4 to 15, wherein after the interpolation of the discrete data values (D (t)) the interpolated data values (D I (t)) for the intended parameter control in a digital or analog way from the interpolation filter ( 5 ) at the exit ( 6 ) to be provided.
DE200910014655 2009-03-25 2009-03-25 Musical instruments digital interface data interpolation method for e.g. piano, involves interpolating intermediate values between discrete data values arriving sequentially at arbitrary time under influence of frequency size, by filter Ceased DE102009014655A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200910014655 DE102009014655A1 (en) 2009-03-25 2009-03-25 Musical instruments digital interface data interpolation method for e.g. piano, involves interpolating intermediate values between discrete data values arriving sequentially at arbitrary time under influence of frequency size, by filter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200910014655 DE102009014655A1 (en) 2009-03-25 2009-03-25 Musical instruments digital interface data interpolation method for e.g. piano, involves interpolating intermediate values between discrete data values arriving sequentially at arbitrary time under influence of frequency size, by filter

Publications (1)

Publication Number Publication Date
DE102009014655A1 true DE102009014655A1 (en) 2010-10-07

Family

ID=42674802

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200910014655 Ceased DE102009014655A1 (en) 2009-03-25 2009-03-25 Musical instruments digital interface data interpolation method for e.g. piano, involves interpolating intermediate values between discrete data values arriving sequentially at arbitrary time under influence of frequency size, by filter

Country Status (1)

Country Link
DE (1) DE102009014655A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB785361A (en) *
JPS58114104A (en) * 1981-12-26 1983-07-07 Shimadzu Corp Analog interpolating circuit
US5850049A (en) * 1995-12-21 1998-12-15 Yamaha Corporation Musical tone-generating method and apparatus using data interpolation
DE3943795C2 (en) * 1988-11-19 2002-10-17 Sony Computer Entertainment Inc interpolation
US6570081B1 (en) * 1999-09-21 2003-05-27 Yamaha Corporation Method and apparatus for editing performance data using icons of musical symbols

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB785361A (en) *
JPS58114104A (en) * 1981-12-26 1983-07-07 Shimadzu Corp Analog interpolating circuit
DE3943795C2 (en) * 1988-11-19 2002-10-17 Sony Computer Entertainment Inc interpolation
US5850049A (en) * 1995-12-21 1998-12-15 Yamaha Corporation Musical tone-generating method and apparatus using data interpolation
US6570081B1 (en) * 1999-09-21 2003-05-27 Yamaha Corporation Method and apparatus for editing performance data using icons of musical symbols

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MIDI Manufactures Association: Tutorial: MIDI and Music Synthesis. (recherchiert am 02.12.2009). Im Internet: *
MIDI Manufactures Association: Tutorial: MIDI and Music Synthesis. (recherchiert am 02.12.2009). Im Internet: <URL://www.midi.org/aboutmidi/tut_midimusicsynth.php>

Similar Documents

Publication Publication Date Title
DE2621518C2 (en) Device for the automatic determination of the systolic blood pressure
DE2820425C2 (en) Binary random noise generator for stochastic coding
DE69825204T2 (en) Self-calibration of an oscilloscope using a rectangular test signal
DE2535344C2 (en) Device for the electronic generation of sound signals
EP2792165B1 (en) Adaptation of a classification of an audio signal in a hearing aid
DE60004403T2 (en) DEVICE AND METHOD FOR DETECTING SIGNAL QUALITY
DE102009014655A1 (en) Musical instruments digital interface data interpolation method for e.g. piano, involves interpolating intermediate values between discrete data values arriving sequentially at arbitrary time under influence of frequency size, by filter
DE3246712C2 (en)
EP1458216A2 (en) Device and method for adaption of microphones in a hearing aid
DE2754334C2 (en) Device for determining blood pressure
DE1160660B (en) Process for converting spoken words into an optical representation
DE60317442T2 (en) Test signal device for generating a maximum time error test signal without influence by low-pass filter
EP0413891A2 (en) Process and appliance forming an input signal for a crossed-coil type indicating instrument
WO2013174806A1 (en) Measuring device and method for improved imaging of spectral profiles
DE112019003531T5 (en) ACOUSTIC DELAY ESTIMATION
EP1579426B1 (en) Method for transmitting audio signals according to the prioritizing pixel transmission method
Elling Die Bestimmung grosser mechanischer Eingangsimpedanzen fester Körper im Frequenzband 50… 3000 Hz
DE102022120878A1 (en) CIRCUIT AND METHOD FOR PROCESSING AN ANALOG SIGNAL
EP0831301B1 (en) Circuit and method for generating multiple analogue signals
EP0069972B1 (en) Method and arrangement for determining signal power and signal distortion power for the case of circuits using pulse coding
DE3328409A1 (en) ELECTRICAL TWO-CHANNEL AUDIO INFORMATION (TIME AREA PANNER)
DE2030739A1 (en) Arrangement for the digital control of a controlled system
EP2457106B1 (en) Frequency-selective measuring device and frequency-selective measuring method
EP4062338A1 (en) Control device for controlling a technical system comprising at least one controllable component, method for operating a control device, and system comprising the control device
DE102021103175A1 (en) METHOD AND AUDIO PROCESSING UNIT FOR DETECTING A SOUND

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8122 Nonbinding interest in granting licenses declared
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20121228