WO2022130976A1 - 電子機器、デバイス、システム、方法及びプログラム - Google Patents

電子機器、デバイス、システム、方法及びプログラム Download PDF

Info

Publication number
WO2022130976A1
WO2022130976A1 PCT/JP2021/044057 JP2021044057W WO2022130976A1 WO 2022130976 A1 WO2022130976 A1 WO 2022130976A1 JP 2021044057 W JP2021044057 W JP 2021044057W WO 2022130976 A1 WO2022130976 A1 WO 2022130976A1
Authority
WO
WIPO (PCT)
Prior art keywords
midi
message
time stamp
musical instrument
information
Prior art date
Application number
PCT/JP2021/044057
Other languages
English (en)
French (fr)
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 CN202180083757.XA priority Critical patent/CN116569252A/zh
Priority to EP21906339.3A priority patent/EP4266304A1/en
Publication of WO2022130976A1 publication Critical patent/WO2022130976A1/ja
Priority to US18/210,267 priority patent/US20230326437A1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • GPHYSICS
    • 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/0083Recording/reproducing or transmission of music for electrophonic musical instruments using wireless transmission, e.g. radio, light, infrared
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/175Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments for jam sessions or musical collaboration through a network, e.g. for composition, ensemble playing or repeating; Compensation of network or internet delays therefor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/201Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
    • G10H2240/211Wireless transmission, e.g. of music parameters or control data by radio, infrared or ultrasound
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/311MIDI transmission
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/321Bluetooth
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/325Synchronizing two or more audio tracks or files according to musical features or musical timings

Definitions

  • This disclosure relates to electronic devices, devices, systems, methods and programs that use wireless communication.
  • MIDI Musical Instrument Digital Interface
  • BLE MIDI Bluetooth LE
  • Bluetooth LE Bluetooth Low Energy
  • the timing received by the device is the timing to control the musical instrument (pronunciation, etc.).
  • the time until the transmitted data arrives may fluctuate.
  • data communication is intermittent transmission for the purpose of reducing power consumption. Since it is recommended that the timing difference between a plurality of intermittent transmissions is 15 ms (milliseconds) or less, a data delay (fluctuation) of 15 ms may occur even if the wireless environment is good.
  • the time stamp can be used, and the fluctuation (jitter) is improved by synchronizing with the time stamp regardless of the reception timing.
  • the quantitative delay (latency) increases and the real-time property is impaired. .. If the trade-off between jitter and latency cannot be made well, the quality of the user's experience will deteriorate, but such a method has not been considered.
  • one of the purposes of the present disclosure is to provide electronic devices, devices, systems, methods and programs capable of realizing suitable adjustment of the trade-off between jitter and latency.
  • the electronic device receives a Musical Instrument Digital Interface (MIDI (registered trademark)) message, time stamp information regarding the execution timing of the MIDI message, and offset information regarding the buffering of the MIDI message. It has a receiving unit and a control unit that controls the execution timing of the MIDI message based on the time stamp information based on the offset information.
  • MIDI Musical Instrument Digital Interface
  • FIG. 1 is a diagram showing an example of a schematic configuration of a system according to an embodiment.
  • FIG. 2 is a diagram showing an example of the appearance of the electronic musical instrument 10 according to the embodiment.
  • FIG. 3 is a diagram showing an example of the hardware configuration of the control system 100 of the electronic musical instrument 10 according to the embodiment.
  • FIG. 4 is a diagram showing an example of the hardware configuration of the dongle 20 according to the embodiment.
  • FIG. 5 is a diagram showing an example of the hardware configuration of the device 30 according to the embodiment.
  • FIG. 6 is a sequence diagram of a jitter control method according to an embodiment.
  • 7A-7D are conceptual diagrams of corrections based on time stamps and offsets.
  • FIG. 8 is a sequence diagram of the radio performance measuring method according to the embodiment.
  • FIG. 9 is a diagram showing an example of the format of measurement data.
  • FIG. 1 is a diagram showing an example of a schematic configuration of a system according to an embodiment.
  • the system 1 shown in FIG. 1 includes an electronic musical instrument 10, a dongle 20, and a device 30.
  • the system 1 may be referred to as a MIDI transmission (or reproduction or execution) system, a radio performance evaluation system, an electronic musical instrument system, or the like.
  • the electronic musical instrument 10 is a device for receiving input from a user via an operator such as a keyboard or a switch and controlling a performance or the like.
  • the electronic musical instrument 10 may be a device having a function of generating a sound according to performance information such as MIDI data.
  • the device may be an electronic musical instrument (electronic piano, synthesizer, etc.), or may be an analog musical instrument equipped with a sensor or the like and configured to have a function equivalent to that of an electronic musical instrument, or may be a performance. It may be an electronic device (similar to the device 30 described later) that does not have an operator (keyboard or the like) for the purpose.
  • the electronic device may mean a name including the electronic musical instrument 10 and other electronic devices. That is, in the present disclosure, the electronic musical instrument 10 may be read as a mutual with the electronic device 10.
  • the dongle 20 is connected to the electronic musical instrument 10 and relays direct communication with the device 30.
  • the dongle 20 is described on the assumption that it is connected (mounted) to the universal serial bus (USB) terminal of the electronic musical instrument 10, but the present invention is not limited to this.
  • USB universal serial bus
  • the USB of the present disclosure may be realized by replacing the interface with respect to the interface.
  • the dongle 20 may be referred to as a communication device for an electronic musical instrument.
  • the device 30 is an electronic device that performs communication with the electronic musical instrument 10 (or dongle 20).
  • the device 30 may be a mobile terminal (mobile communication terminal) such as a mobile phone, a smartphone, or a tablet terminal, or a fixed communication terminal such as a personal computer (Personal Computer (PC)), a server, a television, or a game machine. You may. That is, the device 30 in the present disclosure may be read as a communication device, a communication device, a terminal device, and the like.
  • FIG. 2 is a diagram showing an example of the appearance of the electronic musical instrument 10 according to the embodiment.
  • the electronic musical instrument 10 may be equipped with a switch (button) panel 140b, a keyboard 140k, a display 150d, a speaker 150s, and the like.
  • the switch panel 140b includes a switch for operating a volume specification, a sound source, a tone color setting, a song (accompaniment) song selection (accompaniment), a song playback start / stop, a song playback setting (tempo, etc.), etc. good.
  • the keyboard 140k may have a plurality of keys as performance controls.
  • the key may be referred to as a performance operator, a pitch operator, a timbre operator, a direct operator, or the like.
  • the display 150d may display lyrics, musical scores, various setting information, and the like.
  • the speaker 150s may be used to emit the sound generated by the performance.
  • the electronic musical instrument 10 may be able to generate or convert at least one of a MIDI message (event) and an Open Sound Control (OSC) message.
  • MIDI a MIDI message
  • OSC Open Sound Control
  • the "MIDI" of the present disclosure may be any of the MIDI 1.0 standard, the MIDI 2.0 standard, and the modified / extended standard of MIDI.
  • MIDI messages and MIDI data may be read as each other.
  • the MIDI message may mean a plurality of (for example, several bytes) MIDI data that functions as one command.
  • the electronic musical instrument 10 is connected to at least one of a network (for example, Long Term Evolution (LTE), 5th generation mobile communication system New Radio (5G NR), Wi-Fi (registered trademark), Bluetooth, etc.). You may communicate with the Internet, etc.).
  • a network for example, Long Term Evolution (LTE), 5th generation mobile communication system New Radio (5G NR), Wi-Fi (registered trademark), Bluetooth, etc.
  • LTE Long Term Evolution
  • 5G NR 5th generation mobile communication system New Radio
  • Wi-Fi registered trademark
  • Bluetooth Bluetooth
  • FIG. 3 is a diagram showing an example of the hardware configuration of the control system 100 of the electronic musical instrument 10 according to the embodiment.
  • Central processing unit (CPU) 101 Central processing unit (CPU) 101, ROM (read-only memory) 102, RAM (random access memory) 103, sound source 104, key scanner to which the switch (button) panel 140b and keyboard 140k of FIG. 2 are connected.
  • the 106, the USB interface 107, and the LCD controller 108 to which the Liquid Crystal Display (LCD) as an example of the display 150d of FIG. 2 is connected are connected to the system bus 109, respectively.
  • LCD Liquid Crystal Display
  • a timer 110 (which may be called a counter) for controlling the performance may be connected to the CPU 101.
  • the timer 110 may be used, for example, to count the progress of automatic performance in the electronic musical instrument 10.
  • the CPU 101 may be referred to as a processor, and may include an interface with peripheral circuits, a control circuit, an arithmetic circuit, a register, and the like.
  • the CPU 101 executes the control operation of the electronic musical instrument 10 of FIG. 2 by executing the control program stored in the ROM 102 while using the RAM 103 as the work memory. Further, in addition to the control program and various fixed data, the ROM 102 may store song data, accompaniment data, song data including these, and the like.
  • the key scanner (scanner) 106 constantly scans the key press / release state of the keyboard 140k in FIG. 2, the switch operation state of the switch panel 140b, and the like, interrupts the CPU 101, and conveys the state change.
  • the LCD controller 108 is an IC (integrated circuit) that controls the display state of the LCD, which is an example of the display 150d.
  • the sound source 104 obtains a digital sound source signal (for example, musical instrument sound waveform data) corresponding to the (note-on) sound to be sounded based on the note-on / off data input from the CPU 101 based on the key scanner 106. Generate and output to Digital to Analog (D / A) converter 111.
  • the sound source 104 may execute processing such as envelope control of the sound to be pronounced.
  • the sound source 104 may execute a voice synthesis process to generate a synthetic voice signal.
  • the D / A converter 111 converts the input digital signal into an analog signal and outputs it to the amplifier 112.
  • the amplifier 112 may amplify the input signal and output it from the speaker 150s or an output terminal (not shown).
  • the USB interface 107 exchanges signals in accordance with the USB standard with the dongle 20 that is physically connected to the electronic musical instrument 10 using an external connection terminal (for example, a connector).
  • the USB interface 107 may include a USB connector (USB connection terminal).
  • the CPU 101 may perform playback processing using the sound source 104. Further, the CPU 101 generates MIDI data based on the key input information (for example, note on / off) acquired from the key scanner 106, outputs it to the USB interface 107, and transfers it to the device 30 via the dongle 20. You may send it.
  • MIDI format data MIDI data
  • FIG. 4 is a diagram showing an example of the hardware configuration of the dongle 20 according to the embodiment.
  • the dongle 20 includes, for example, a USB interface unit 201, an RF unit 202, an antenna unit 203, and the like. It should be noted that those skilled in the art naturally understand that each drawing of the present disclosure merely shows a configuration used for explanation, and may include a configuration such as a power supply (not shown).
  • the USB interface unit 201 relays a signal (for example, a signal including MIDI data) in accordance with the USB standard between the USB interface 107 of the electronic musical instrument 10 and the RF unit 202.
  • a signal for example, a signal including MIDI data
  • the USB interface unit 201 has a function of bridging (converting) the signal used in the RF unit and the signal according to the USB standard.
  • the USB interface unit 201 acquires the original data from the signal (packet) transmitted via the USB interface 107 of the electronic musical instrument 10 and transfers it to the RF unit 202. Further, the USB interface unit 201 includes the data transferred from the RF unit 202 in the USB packet and transmits the data to the USB interface 107 of the electronic musical instrument 10.
  • the RF unit 202 realizes transmission / reception of signals using wireless communication (for example, Bluetooth, Wi-Fi, etc.).
  • the RF unit 202 performs channel coding (may include error correction coding), modulation, mapping, filtering, and inverse fast Fourier transform on the transmitted bit string (for example, MIDI data) transferred from the USB interface unit 201. (Inverse Fast Fourier Transform (IFF)) processing, transmission processing such as digital-to-analog conversion may be performed, and a base band signal may be output.
  • the RF unit 202 may perform modulation, filtering, amplification, etc. on the baseband signal to the radio frequency band, and transmit the signal in the radio frequency band via the antenna unit 203.
  • IFF Inverse Fast Fourier Transform
  • the RF unit 202 may perform amplification, filtering, demodulation to a baseband signal, or the like on the signal in the radio frequency band received by the antenna unit 203.
  • the RF unit 2002 may include analog-digital transform, fast Fourier transform (FFT) process, filter process, demapping, demodulation, and decoding (error correction decoding) for the acquired baseband signal.
  • FFT fast Fourier transform
  • the transmitted data for example, MIDI data
  • the RF unit 202 may simultaneously perform a process of converting the received wireless signal into the transmitted data and a process of converting the transmitted bit string into the wireless signal.
  • the antenna unit 203 can be composed of at least one antenna described based on the common recognition in the technical field according to the present disclosure, for example, a pattern antenna, a chip antenna, a dipole antenna, an omni antenna, a whip antenna, and the like. ..
  • USB interface unit 201 of the present disclosure may be read as any interface unit capable of connecting to and communicating with the electronic musical instrument 10.
  • USB in the present disclosure may be read as a name relating to an arbitrary interface unit
  • signal according to the USB standard may be read as a signal conforming to the standard to which the arbitrary interface unit conforms. May be good.
  • FIG. 5 is a diagram showing an example of the hardware configuration of the device 30 according to the embodiment.
  • the device 30 may be physically configured as a computer device including a processor 301, a memory 302, a storage 303, a communication device 304, an input device 305, an output device 306, a bus 307, and the like.
  • the processor 301 For each function in the device 30, the processor 301 performs an operation by loading predetermined software (program) on hardware such as the processor 301 and the memory 302, and the communication by the communication device 304 and the data in the memory 302 and the storage 303 are performed. It is realized by controlling the reading and / or writing of.
  • the processor 301 operates, for example, an operating system to control the entire computer.
  • the processor 301 may be configured by a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic unit, a register, and the like.
  • CPU central processing unit
  • the processor 301 reads a program (program code), a software module, data, etc. from at least one of the storage 303 and the communication device 304 into the memory 302, and executes various processes according to these.
  • a program program code
  • the program a program that causes a computer to execute at least a part of the operations described in the embodiments of the present disclosure is used.
  • the memory 302 is a computer-readable recording medium, and is, for example, a ROM (Read Only Memory), an EPROM (Erasable Project ROM), an EEPROM (Electrically EPROM), a RAM (Random Access Memory), or at least an appropriate storage medium. It may be composed of one.
  • the memory 302 may be referred to as a register, a cache, a main memory (main storage device), or the like.
  • the memory 302 can store a program (program code), a software module, or the like that can be executed to carry out the method according to the embodiment.
  • the storage 303 is a computer-readable recording medium, and is, for example, a flexible disk, a floppy disk (registered trademark) disk, an optical magnetic disk (for example, a compact disk (CD-ROM (Compact Disc ROM), etc.), a digital versatile disk, etc.). At least one of Blu-ray® discs), removable discs, optical disc drives, smart cards, flash memory devices (eg cards, sticks, key drives), magnetic stripes, databases, servers and other suitable storage media. May be configured by.
  • the storage 303 may be referred to as an auxiliary storage device.
  • the communication device 304 is hardware (transmission / reception device) for communicating between computers via at least one of a wired network and a wireless network, and is also referred to as, for example, a network device, a network controller, a network card, a communication module, or the like.
  • the input device 305 is an input device (for example, a keyboard, a mouse, etc.) that accepts input from the outside.
  • the output device 306 is an output device (for example, a display, a speaker, etc.) that outputs to the outside.
  • the input device 305 and the output device 306 may have an integrated configuration (for example, a touch panel).
  • each device such as the processor 301 and the memory 302 is connected by the bus 307 for communicating information.
  • the bus 307 may be composed of a single bus or may be composed of different buses between the devices.
  • each circuit included is not limited to this.
  • Each device may have a configuration that does not include a part of circuits (mechanisms), or may have a configuration in which the function of one circuit is realized by a plurality of circuits. It may have a configuration in which the functions of a plurality of circuits are realized by one circuit.
  • the electronic instrument 10, the dongle 20, and the device 30 include a microprocessor, a digital signal processor (Digital Signal Processor (DSP)), an Application Specific Integrated Circuit (ASIC), a Programmable Logic Device (PLC), and a Programmable Logic Device (PLC). It may be configured to include hardware such as, and a part or all of each functional block may be realized by the hardware. For example, the CPU 101 may be implemented in at least one of these hardware.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • PLC Programmable Logic Device
  • PLC Programmable Logic Device
  • each functional block is realized by one physically connected device, or two or more physically separated devices may be connected by wire or wirelessly and realized by these plurality of devices. good.
  • processor 301 there may be multiple processors. Further, the processing may be executed by one processor, or the processing may be executed simultaneously, sequentially, or by using other methods by two or more processors. Each functional block may be mounted by one or more chips.
  • Latency and jitter control method The latency and jitter control method according to the embodiment of the present disclosure will be described below.
  • Latency and jitter have a trade-off relationship.
  • the present inventors control the data on the receiving side (electronic musical instrument 10 side), while the optimum setting value of the receiving side buffer is the handling of MIDI data in the application software on the transmitting side (device 30 side). It was discovered that most of the data, such as the data structure of MIDI data and the performance of the device 30, depend on the sender.
  • the present inventors use messages that can be expanded / set by the manufacturer in the MIDI data format, and the application software of the device 30 can use the time stamp control method of the electronic musical instrument 10 and the optimum offset value for buffering.
  • I came up with a control method that can be set remotely in real time for the electronic musical instrument 10. According to this configuration, the balance between jitter and latency can be optimized. Further, the application software of the device 30 can adjust the optimum balance between latency and jitter without the user being aware of it.
  • the system exclusive message method is disclosed as an expandable message, but the NRPN (NRPN) included in the control change message is disclosed.
  • NRPN NRPN
  • MDI 2.0 standard assignable controller message Adi 2.0 standard assignable controller message
  • the system exclusive message in the present disclosure may be read as a control change message, an NRPN, an assignable controller message, and the like.
  • FIG. 6 is a diagram showing an example of a flowchart of a jitter control method according to an embodiment.
  • the device 30 may be read as "application of the device 30".
  • the device 30 determines the offset time for MIDI data buffering (step S101).
  • the device 30 may set the offset time as a preset value, a value input by the user, or may be determined based on the measurement described later. For example, if the device 30 determines that the jitter (or delay) between the device 30 and the electronic musical instrument 10 is relatively small (or almost 0) based on the measurement, the offset time is set to a relatively small value (or 0). May be decided.
  • the offset time may be read as the offset amount, offset, and the like.
  • the offset time is simply referred to as an offset.
  • the offset may be referred to as the time associated with buffering MIDI data.
  • the device 30 may determine whether or not to perform the time stamp processing of the electronic musical instrument 10 in step S101. For example, if the device 30 determines that the jitter (or delay) between the device 30 and the electronic musical instrument 10 is relatively small (or almost 0) based on the measurement, it determines that the time stamp processing is not applied. If this is not the case, it may be determined that the time stamp processing is applied.
  • the device 30 transmits the information regarding the determined offset to the electronic musical instrument 10 (step S102).
  • the information about this offset (which may be referred to as offset information) may explicitly indicate the offset time itself (eg, 15 ms, 30 ms, etc.) or may indicate the index value associated with the offset time. good.
  • the electronic musical instrument 10 sets an offset based on the received offset information (step S103). If the electronic musical instrument 10 does not receive the offset information, it may determine that the offset is a predetermined value (default value, for example, 0).
  • step S104 the device 30 transmits MIDI data to the electronic musical instrument 10 via wireless communication (for example, using BLE) (step S104).
  • the electronic musical instrument 10 buffers the received MIDI data based on the offset set in step S103, and performs MIDI data execution (for example, reproduction, pronunciation) processing (step S105).
  • the execution process of step S105 may include processing related to arbitrary MIDI data, for example, processing of a note-on message for starting pronunciation, processing of a note-off message for ending pronunciation, processing of a message for turning on / off the pedal, and the like. ..
  • step S102 information regarding the presence or absence of time stamp processing (which may be referred to as time stamp processing information) may be transmitted instead of the offset information or together with the information.
  • time stamp processing information information regarding the presence or absence of time stamp processing
  • a time stamp (time information) may be added when the original MIDI data is transmitted.
  • the electronic musical instrument 10 makes a correction based on the time stamp in the execution process of step S105, and if not, the received MIBI data is used. Even if a time stamp is given, no correction is performed based on the time stamp (execution is performed ignoring the time stamp).
  • the time stamp may be called information regarding the execution timing of the MIDI message.
  • the time stamp and the time stamp information may be read as each other.
  • the time stamp may be included in the MIDI data, or may be notified to the electronic musical instrument 10 as information different from the MIDI data. In the latter case, the time stamp control can be applied based on the present disclosure even when the data of MIDI 1.0 whose time stamp information is not included in the standard is received. It was
  • FIG. 7A-7D is a conceptual diagram of correction based on a time stamp and an offset.
  • FIG. 7A shows an example of the pronunciation timing as originally played.
  • the notes are arranged in the order of note 0 of the length of the eighth note, note 1 of the length of the quarter note, and note 2 of the length of the eighth note.
  • ts0, ts1, and ts2 correspond to time stamps indicating the pronunciation times of note 0, note 1, and note 2, respectively.
  • Note 1 indicates that the note 1 was pronounced at the time after ts1-ts0 from the note 0, and note 2 indicates that the note 2 was pronounced at the time after ts2-ts0 from the note 0.
  • FIG. 7B-7D shows the sounding timing when the data of FIG. 7A is transmitted and jitter occurs.
  • the st0, st1 and st2 shown on the upper side of each figure indicate the arrival time of the note 0-2 to the receiving side, respectively.
  • Each timing is affected by jitter, and st1-st0 ⁇ ts1-ts0, and st2-st0 ⁇ ts2-ts0.
  • the positions of the notes shown at the bottom of each figure indicate the actual pronunciation time.
  • FIG. 7B shows an example of the sounding timing when the correction based on the time stamp is not performed.
  • the intervals between the notes 0-2 and the notes 0-2 are not maintained at intervals of ts0, ts1, and ts2.
  • FIG. 7C shows an example of the sounding timing when the correction based on the time stamp is performed without applying the offset.
  • the sounding timing of the note arriving earlier than the reference is corrected.
  • This criterion may be, for example, a pronunciation timing based on a time stamp based on the arrival time of a certain note, or a time based on a certain time (for example, the start time of a song or performance (such as MIDI playback)).
  • the sounding timing may be based on the stamp.
  • the difference in arrival time (st2-st0) with respect to note 0 is smaller than the difference in time stamp (ts2-ts0) (that is, note 2 arrives earlier than the scheduled pronunciation timing). Therefore, it is corrected to the original pronunciation timing (the pronunciation timing is adjusted after the time ts2-ts0 from st0).
  • FIG. 7D shows an example of the sounding timing when the correction based on the time stamp is performed with the offset applied.
  • the sounding timing of the note arriving earlier than the reference is corrected.
  • the sounding timing of notes arriving with a delay within the offset with respect to the reference is corrected.
  • This reference may be a sounding timing based on a time stamp based on the arrival time of a certain note, as in FIG. 9C, or a certain time (for example, the start time of a song or performance (such as MIDI playback)).
  • the sound timing may be based on the reference time stamp.
  • the note 0 is pronounced after waiting for the offset time after arriving at st0.
  • Note 1 arrives at st1, but is not pronounced immediately, and is pronounced after waiting for the time stamp difference (ts1-ts0) from the pronunciation timing of note 0.
  • Note 2 arrives at st2, but is not pronounced immediately, and is pronounced after waiting for the time stamp difference (ts2-ts0) from the pronunciation timing of note 0.
  • At least one of the offset information and the time stamp processing information transmitted in step S102 described above is electronic using a MIDI system exclusive (SystemEx) message, an NRPN (Non Restricted Parameter Number) included in the control change message, or the like.
  • the instrument 10 may be notified.
  • Both the offset information and the time stamp processing information may be notified by one SysEx message (or NRPN), or the offset information and the time stamp processing information may be notified separately by a plurality of SysEx messages (or NRPN). ..
  • the SysEx message When the offset information is notified by the SysEx message, the SysEx message includes information (bit string) indicating that the offset information is included, information indicating the content of the offset information (for example, the offset time itself), and information (bit string). May include.
  • the SysEx message When the time stamp processing information is notified by the SysEx message, the SysEx message includes information (bit string) indicating that the time stamp processing information is included and the contents of the time stamp processing information (for example, whether or not the time stamp processing is performed). Information (bit string) indicating the above may be included.
  • MIDI data bytes for example, data bytes in SysEx messages.
  • the information is configured in consideration that the most significant bit (MSB)) of the data bytes is 0. Need to be. That is, the device 30 on the transmitting side allocates the information to each data byte in units of 7 bits and transmits the information, and the electronic musical instrument 10 on the receiving side excludes and combines the MSB of each data byte of the received information. Get the original information.
  • MSB most significant bit
  • the device 30 when the offset information to be transmitted is 2 bytes and is "00000011111111", the device 30 first obtains three bit strings of "00000000”, "01111111”, and “11” by dividing each 7 bits. Then, the device 30 adds '0' to the beginning of each bit string (and applies bit padding when the bit string is less than 1 byte), and 3 such as "0000000000”, "00111111", and "011000000". One data byte may be obtained and included in the SysEx message for transmission.
  • the number of bits of the offset information / time stamp processing information to be notified may be defined in advance or may be notified from the device 30.
  • the offset information may be represented by 4, 8, 16, 32 bits, or the like, and the time stamp processing information may be represented by 1 bit.
  • the NRPN When notifying the offset information by the NRPN assigned to the control numbers 98 and 99 of the control change message, set a numerical value indicating the offset information in the MSB and LSB of the NRPN (the manufacturer may set it arbitrarily).
  • the content of the offset information (for example, the offset time itself) may be set in the data entry of the NRPN and transmitted.
  • the time stamp processing information may also be transmitted by NRPN. Offset information and time stamp processing information may be transmitted by an assignable controller message newly defined as a message corresponding to NRPN in MIDI 2.0.
  • Wired performance measurement method Depending on the environment around the electronic musical instrument 10 and the device 30, the quality of wireless communication between them may fluctuate, which may affect jitter and latency. Therefore, it is preferable that the wireless performance measurement between the electronic musical instrument 10 and the device 30 can be easily performed in real time.
  • the present inventors have conceived a data format and a measurement method for this purpose.
  • FIG. 8 is a sequence diagram of the radio performance measuring method according to the embodiment.
  • the device 30 transmits measurement data to the electronic musical instrument 10 (step S201).
  • the transmission in step S201 may be a single transmission, or may be a plurality of transmissions at a certain transmission interval (for example, 7.5 ms, 15 ms, etc.) over a fixed period (for example, 1 s).
  • the electronic musical instrument 10 corrects the counter value for each of the received measurement data and returns it to the device 30 (step S202).
  • the modified measurement data may be referred to as return data, reply data, reporting data, and the like.
  • the device 30 calculates the performance of the radio between the electronic musical instrument 10 and the device 30 based on the transmission data amount of the measurement data in step S201, the transmission time, the reception time of the returned data in step S202, and the like. Step S203).
  • the radio performance may correspond to at least one such as a throughput per unit time and a round-trip delay time.
  • the device 30 is the transmitting side and the electronic musical instrument 10 is the receiving side, but the electronic musical instrument 10 may be the transmitting side and the device 30 may be the receiving side.
  • step S201 information notifying the start of measurement may be transmitted from one of the device 30 and the electronic musical instrument 10 to the other.
  • the device 30 and the electronic musical instrument 10 may perform resetting of the identification number, the counter value, etc., which will be described later, time synchronization (time adjustment), and the like, triggered by the transmission / reception of the information.
  • the number of transmissions (number of transmission data), transmission interval, transmission period (measurement period), and the like of the measurement data may be defined in advance in the device 30, and the device 30 determines the transmission data based on the input from the user. May be good. Information regarding the number of transmissions of the measurement data, the transmission interval, the transmission period, and the like may be notified from the device 30 to the electronic musical instrument 10.
  • the device 30 may simultaneously measure the received signal strength (Received Signal Strength Indicator (RSSI)) at the time of this measurement.
  • RSSI Received Signal Strength Indicator
  • the RSSI may be an instantaneous RSSI or an average / minimum / maximum RSSI over a period of time.
  • the measurement data transmitted in step S201 may be notified to the electronic musical instrument 10 using at least one of MIDI's SysEx message, control change message, and the like.
  • FIG. 9 is a diagram showing an example of the format of measurement data.
  • the format of this example corresponds to the SysEx message, starts with "F0" indicating the start of the SysEx message, and ends with "F7” indicating the start of the SysEx message. Information required for other SysEx messages will be omitted.
  • the SysEx message When the measurement data is notified by the SysEx message, the SysEx message includes the identification number information (bit string) indicating the number of the data and the counter value information (bit string) indicating the value of a certain counter. , May be included.
  • MIDI data bytes for example, data bytes in SysEx messages.
  • the identification number information and the counter value information may be represented by 4, 8, 16, 32 bits and the like.
  • step S201 when the device 30 transmits the i-th (i is an integer) measurement data among the N consecutive measurement data (N is an integer), the device 30 uses, for example, i- as identification number information. Set a value of 1 and send. In other words, for one measurement, the identification number starts from 0, and the device 30 sets and transmits the value counted up for each data. That is, the identification number may mean "the number of times the measurement data is transmitted-1". In addition, when transmitting arbitrary measurement data, the device 30 sets an arbitrary value (for example, 0) as a counter value and transmits the data.
  • step S202 the electronic musical instrument 10 increments its own counter value by +1 each time it receives measurement data.
  • the electronic musical instrument 10 may set the counter value to -1 at the start of measurement. That is, the counter value of the electronic musical instrument 10 may mean "the number of times the measurement data is received-1".
  • step S202 the electronic musical instrument 10 returns the received measurement data, in which the identification number information is left as it is and its own counter value is set (updated) to the counter value information, as return data. You may.
  • the formats of the measurement data and the reply data may be the same. It is preferable that the sizes (number of bits) of the measurement data and the reply data are the same in order to suppress the influence on the communication due to the difference in the data size (improve the measurement accuracy).
  • the device 30 can determine that there is no defect (correctly transmitted / received) in the measurement data transmitted so far.
  • the device 30 may derive a round-trip delay time (Round Trip Time (RTT)) between the device 30 and the electronic musical instrument 10 based on the transmission time of the measurement data and the reception time of the return data of the same identification number. .. Further, the device 30 may derive a communication throughput between the device 30 and the electronic musical instrument 10 based on the communication amount of the measurement data / return data per unit time.
  • the RTT and the communication throughput may be an instantaneous value or an average / maximum / minimum value in a certain period.
  • the receiving side may record the deviation of the measurement data transmitted at equal intervals, and calculate the jitter related to the transmission from the device 30 to the electronic musical instrument 10 based on these deviations. ..
  • the electronic musical instrument 10 may transmit the calculated jitter to the device 30.
  • the electronic musical instrument 10 may transmit information regarding the jitter using a SysEx message.
  • the electronic musical instrument 10 may leave the identification number information of the received measurement data as it is, set the information regarding the reception time instead of the counter value information, and return the information to the device 30 as the return data. .. It is preferable that the information regarding the reception time has the same number of bits (size) as the counter value information.
  • the device 30 may calculate the above jitter from the received return data.
  • the electronic musical instrument 10 may return the return data including the counter value information and the information regarding the reception time to the device 30.
  • the electronic musical instrument 10 may return return data including identification number information, counter value information, and reception time information to the device 30.
  • the measurement method as described above for example, it is possible to easily measure the radio performance when traffic other than MIDI (audio data, etc.) flows at the same time as MIDI between the electronic musical instrument 10 and the device 30. Therefore, it is possible to suitably control jitter and latency in various environments.
  • MIDI audio data, etc.
  • the dongle 20 may be omitted.
  • the electronic musical instrument 10 may have a function of wirelessly communicating with the device 30 (for example, RF unit 202 and antenna unit 203 in FIG. 4).
  • the operation of the electronic musical instrument 10 may be performed by the dongle 20.
  • the offset of step S103 in FIG. 6 may be set to the dongle 20, in which case the buffering of step S105 is performed by the dongle 20, and the electronic musical instrument 10 receives MIDI buffered by the dongle 20 for the offset time.
  • the MIDI data may be executed immediately.
  • the return data in step S202 of FIG. 8 may be transmitted by the dongle 20. In this case, it is expected that the performance of only the wireless part can be measured more accurately.
  • the operation of the electronic musical instrument 10 may be performed by the dongle 20.
  • the offset of step S103 in FIG. 6 may be set to the dongle 20, in which case the buffering of step S105 is performed by the dongle 20, and the electronic musical instrument 10 receives MIDI buffered by the dongle 20 for the offset time.
  • the MIDI data may be executed immediately.
  • the electronic musical instrument 10 is a keyboard instrument such as a keyboard is shown, but the present invention is not limited to this.
  • the electronic musical instrument 10 may be any device as long as it has a configuration in which the timing of sound generation can be specified by a user's operation, and may be an electric violin, an electric guitar, a drum, a trumpet, or the like.
  • the electronic musical instrument 10 is not limited to a so-called musical instrument (keyboard or the like), and may be read as a mobile phone, a smartphone, a tablet terminal, a personal computer (Personal Computer (PC)), a television or the like.
  • a so-called musical instrument keyboard or the like
  • PC Personal Computer
  • the electronic device 10 (for example, the electronic musical instrument 10; the same applies hereinafter) has received the measurement data and the receiving unit (for example, the USB interface 107) that receives the measurement data including the identification number information and the counter value information. It may have a transmission unit (for example, USB interface 107) for transmitting return data, which is configured by updating the counter value information of the measurement data based on the number of times. With such a configuration, it is possible to easily measure wireless communication for electronic devices.
  • the receiving unit receives a plurality of the measurement data transmitted at a certain transmission interval (for example, 15 ms), and the transmitting unit transmits the return data for each of the plurality of the measurement data. May be good. According to such a configuration, it is possible to suitably measure the throughput, jitter, etc. of the wireless communication in a certain period.
  • the measurement data may be a system exclusive message, a control change message or an assignable controller message of Musical Instrument Digital Interface (MIDI (registered trademark)).
  • MIDI Musical Instrument Digital Interface
  • the receiving unit receives the measurement data via a dongle (dongle 20) physically connected to the electronic device 10, and the transmitting unit transmits the return data via the dongle. You may. According to such a configuration, when the electronic device 10 does not have the function of directly communicating wirelessly with the device 30, it is possible to realize the measurement of the wireless communication between them via the dongle 20.
  • the electronic device 10 includes a Musical Instrument Digital Interface (MIDI (registered trademark)) message, time stamp information related to the execution timing of the MIDI message (for example, USB interface 107), and offset information related to buffering of the MIDI message. , And a control unit (for example, CPU 101) that controls the execution timing of the MIDI message based on the time stamp information based on the offset information.
  • MIDI Musical Instrument Digital Interface
  • a control unit for example, CPU 101
  • the receiving unit may receive the offset information included in the MIDI system exclusive message, control change message, or assignable controller message.
  • control suitable for wireless communication for example, BLE-MIDI
  • control unit may determine whether or not to control the execution timing based on the time stamp information based on the MIDI system exclusive message, control change message, or assignable controller message.
  • control suitable for wireless communication for example, BLE-MIDI
  • the receiving unit may receive the time stamp information, the offset information, and the MIDI message via a dongle (dongle 20) physically connected to the electronic device 10. ..
  • a dongle physically connected to the electronic device 10.
  • the electronic device 10 does not have the function of directly communicating wirelessly with the device 30, it is possible to realize a suitable adjustment of the trade-off between jitter and latency for the wireless communication between them via the dongle 20. can.
  • Each aspect / embodiment described in the present disclosure may be used alone, in combination, or may be switched and used according to the execution. Further, the order of the processing procedures, sequences, flowcharts, etc. of each aspect / embodiment described in the present disclosure may be changed as long as there is no contradiction. For example, the methods described in the present disclosure present elements of various steps using exemplary order, and are not limited to the particular order presented.
  • references to elements using designations such as “first” and “second” as used in this disclosure does not generally limit the quantity or order of those elements. These designations can be used in the present disclosure as a convenient way to distinguish between two or more elements. Thus, references to the first and second elements do not mean that only two elements can be adopted or that the first element must somehow precede the second element.
  • a / B in the present disclosure may mean “at least one of A and B”.

Landscapes

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

Abstract

本開示の一態様に係る電子機器は、Musical Instrumant Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信する受信部と、前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御する制御部と、を有する。

Description

電子機器、デバイス、システム、方法及びプログラム
  本開示は、無線通信を利用する電子機器、デバイス、システム、方法及びプログラムに関する。
  電子楽器の演奏のためのデータを機器間でやり取りするための形式として、Musical Instrumant Digital Interface(MIDI(登録商標))が広く用いられている。一方で、無線通信デバイスが盛んに利用される近年では、無線を用いてMIDIを送受信する技術が検討されている。例えば、Bluetooth(登録商標) Low Energy(Bluetooth LE)を用いてMIDIを送受信するMIDI over Bluetooth LE(又はBLE MIDI)が検討されている。
  また、既存の電子楽器のMIDI端子に挿すだけでBLE MIDIが実現できるようなドングル装置が提案されている(特許文献1)。
特開2015-179141号公報
 MIDIデータそのものは、時間に関するデータを持っていないので、機器が受信したタイミングが、楽器を制御(発音などなど)するタイミングとなる。
 しかしながら、無線通信の環境が悪い(例えば、通信品質が悪い)と、送信したデータが届くまでの時間が変動することがある。また、Bluetooth LEは、低消費電力化を目的として、データ通信は間欠発信となっている。複数の間欠発信間のタイミング差は、15ms(ミリ秒)以下であることが推奨されるため、無線環境が良くても15msのデータ遅延(ゆらぎ)が発生する可能性がある。
 BLE MIDI及びMIDI2.0では、タイムスタンプを利用することができ、受信したタイミングに関わらず、タイムスタンプで同期をとればゆらぎ(ジッタ)が改善される。ただし、十分な改善効果を得るためには、受信機器のデータバッファ量を多くとる必要があるが、その場合は、定量的な遅れ(レイテンシ)が増大し、リアルタイム性が損なわれるという課題がある。ジッタとレイテンシのトレードオフをうまくとれなければ、ユーザの体感品質が低下するが、そのような方法は検討されていない。
 そこで本開示は、ジッタとレイテンシのトレードオフの好適な調整を実現できる電子機器、デバイス、システム、方法及びプログラムを提供することを目的の1つとする。
 本開示の一態様に係る電子機器は、Musical Instrumant Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信する受信部と、前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御する制御部と、を有する。
 本開示の一態様によれば、ジッタとレイテンシのトレードオフの好適な調整を実現できる。
図1は、一実施形態に係るシステムの概略構成の一例を示す図である。 図2は、一実施形態にかかる電子楽器10の外観の一例を示す図である。 図3は、一実施形態にかかる電子楽器10の制御システム100のハードウェア構成の一例を示す図である。 図4は、一実施形態にかかるドングル20のハードウェア構成の一例を示す図である。 図5は、一実施形態にかかるデバイス30のハードウェア構成の一例を示す図である。 図6は、一実施形態に係るジッタ制御方法のシーケンス図である。 図7A-7Dは、タイムスタンプ及びオフセットに基づく補正の概念図である。 図8は、一実施形態に係る無線性能測定方法のシーケンス図である。 図9は、測定用データのフォーマットの一例を示す図である。
 以下、本開示の実施形態について添付図面を参照して詳細に説明する。以下の説明では、同一の部には同一の符号が付される。同一の部は名称、機能などが同じであるため、詳細な説明は繰り返さない。
(システム)
 図1は、一実施形態に係るシステムの概略構成の一例を示す図である。図1に示すシステム1は、電子楽器10と、ドングル20と、デバイス30と、を含む。システム1は、MIDI伝送(又は再生又は実行)システム、無線性能評価システム、電子楽器システムなどと呼ばれてもよい。
 電子楽器10は、鍵盤、スイッチなどの操作子を介してユーザからの入力を受け付け、演奏などを制御するための装置である。電子楽器10は、MIDIデータなどの演奏情報に応じた音を発生する機能を有する装置であってもよい。当該装置は、電子楽器(電子ピアノ、シンセサイザーなど)であってもよいし、センサなどを搭載して電子楽器相当の機能を有するように構成されたアナログの楽器であってもよいし、演奏のための操作子(鍵盤など)を有しない電子機器(後述のデバイス30と同様の電子機器)であってもよい。なお、本開示において、電子機器は、電子楽器10及びその他の電子機器を包含する名称を意味してもよい。つまり、本開示において、電子楽器10は、電子機器10と互いに読
み替えられてもよい。
 ドングル20は、電子楽器10に接続され、デバイス30との間の直接通信を中継する。本開示では、ドングル20は、電子楽器10のユニバーサルシリアルバス(Universal Serial Bus(USB))端子に接続(装着)されると想定して説明するが、これに限られない。USB以外のインターフェースが用いられる場合は、本開示のUSBは当該インターフェースに関して読み替えて実現されてもよい。ドングル20は、電子楽器用通信装置と呼ばれてもよい。
 デバイス30は、電子楽器10(又はドングル20)との間で通信を実施する電子機器である。デバイス30は、携帯電話、スマートフォン、タブレット型端末などの携帯端末(移動通信端末)であってもよいし、パソコン(Personal Computer(PC))、サーバ、テレビ、ゲーム機などの固定通信端末であってもよい。つまり、本開示におけるデバイ ス30は、通信デバイス、通信装置、端末装置などと互いに読み替えられてもよい。
<電子楽器>
 図2は、一実施形態にかかる電子楽器10の外観の一例を示す図である。電子楽器10は、スイッチ(ボタン)パネル140b、鍵盤140k、ディスプレイ150d、スピーカー150sなどを搭載してもよい。
 スイッチパネル140bは、音量の指定、音源、音色などの設定、ソング(伴奏)の選曲(伴奏)、ソング再生開始/停止、ソング再生の設定(テンポなど)などを操作するためのスイッチを含んでもよい。
 鍵盤140kは、演奏操作子としての複数の鍵を有してもよい。鍵は、演奏操作子、音高操作子、音色操作子、直接操作子などと呼ばれてもよい。
 ディスプレイ150dは、歌詞、楽譜、各種設定情報などを表示してもよい。スピーカー150sは、演奏により生成された音を放音するために用いられてもよい。
 なお、電子楽器10は、MIDIメッセージ(イベント)及びOpen Sound Control(OSC)メッセージの少なくとも一方を生成したり、変換したりすることができてもよい。また、本開示の「MIDI」は、MIDI1.0規格、MIDI2.0規格及びMIDIを修正/拡張した規格のいずれであってもよい。また、本開示において、MIDIメッセージ及びMIDIデータは、互いに読み替えられてもよい。なお、MIDIメッセージは、1つのコマンドとして機能する複数の(例えば、数バイトの)MIDIデータを意味してもよい。
 電子楽器10は、有線及び無線(例えば、Long Term Evolution(LTE)、5th generation mobile communication system New Radio(5G NR)、Wi-Fi(登録商標)、Bluetoothなど)の少なくとも一方を介して、ネットワーク(インターネットなど)と通信してもよい。
 図3は、一実施形態にかかる電子楽器10の制御システム100のハードウェア構成の
一例を示す図である。
 中央処理装置(Central Processing Unit(CPU))101、ROM(リードオンリーメモリ)102、RAM(ランダムアクセスメモリ)103、音源104、図2のスイッチ(ボタン)パネル140bや鍵盤140kが接続されるキースキャナ106、USBインターフェース107、及び図2のディスプレイ150dの一例としてのLiquid Crystal Display(LCD)が接続されるLCDコントローラ108などが、それぞれシステムバス109に接続されている。
 CPU101には、演奏を制御するためのタイマ110(カウンタと呼ばれてもよい)が接続されてもよい。タイマ110は、例えば、電子楽器10における自動演奏の進行をカウントするために用いられてもよい。CPU101は、プロセッサと呼ばれてもよく、周辺回路とのインターフェース、制御回路、演算回路、レジスタなどを含んでもよい。
 CPU101は、RAM103をワークメモリとして使用しながらROM102に記憶された制御プログラムを実行することにより、図2の電子楽器10の制御動作を実行する。また、ROM102は、上記制御プログラム及び各種固定データのほか、歌データ、伴奏データ、これらを含む曲(ソング)データなどを記憶してもよい。
 キースキャナ(スキャナ)106は、図2の鍵盤140kの押鍵/離鍵状態、スイッチパネル140bのスイッチ操作状態などを定常的に走査し、CPU101に割り込みを掛けて状態変化を伝える。
 LCDコントローラ108は、ディスプレイ150dの一例であるLCDの表示状態を制御するIC(集積回路)である。音源104は、キースキャナ106に基づいてCPU101から入力されるノートオン/オフデータに基づいて、発音すべき(ノートオンの)音に対応するデジタルの音源信号(例えば、楽器音の波形データ)を生成し、Digital to Analog(D/A)コンバータ111に出力する。音源104は、発音する音のエンベロープ制御等の処理を実行してもよい。音源104は、音声合成処理を実行して合成音声の信号を生成してもよい。
 D/Aコンバータ111は、入力されたデジタル信号をアナログ信号に変換してアンプ112に出力する。アンプ112は、入力信号を増幅し、スピーカー150s又は図示しない出力端子から出力してもよい。
 USBインターフェース107は、電子楽器10に外部接続端子(例えば、コネクタ)を用いて物理的に接続されるドングル20との間でUSB規格に沿った信号のやり取りを行う。USBインターフェース107は、USBコネクタ(USB接続端子)を含んでもよい。
 CPU101は、USBインターフェース107から入力された信号がMIDI形式のデータ(MIDIデータ)を含む場合、音源104を用いて再生処理を行ってもよい。また、CPU101は、キースキャナ106から取得されたキー入力情報(例えば、ノートオン/オフ)などに基づいて、MIDIデータを生成してUSBインターフェース107に出力し、ドングル20を介してデバイス30へと送信してもよい。
<ドングル>
 図4は、一実施形態にかかるドングル20のハードウェア構成の一例を示す図である。ドングル20は、例えば、USBインターフェース部201、RF部202、アンテナ部203などを含んで構成される。なお、本開示の各図面は説明に利用する構成を示したに過ぎず、図示されない電源などの構成を含んでもよいことは当業者には当然理解される。
 USBインターフェース部201は、電子楽器10のUSBインターフェース107と
、RF部202と、の間でUSB規格に沿った信号(例えば、MIDIデータを含む信号
)を中継する。言い換えると、USBインターフェース部201は、RF部で利用する信
号とUSB規格に沿った信号とのブリッジ(変換)をする機能を有する。
 例えば、USBインターフェース部201は、電子楽器10のUSBインターフェース107を介して送信された信号(パケット)から、もとのデータを取得し、RF部202に転送する。また、USBインターフェース部201は、RF部202から転送されたデータを、USBのパケットに含めて電子楽器10のUSBインターフェース107へ送信する。
 RF部202は、無線通信(例えば、Bluetooth、Wi-Fiなど)を用いた信号の送受信を実現する。
 RF部202は、USBインターフェース部201から転送された送信するビット列(例えばMIDIデータ)に対して、チャネル符号化(誤り訂正符号化を含んでもよい)、 変調、マッピング、フィルタ処理、逆高速フーリエ変換(Inverse Fast Fourier Transform(IFFT))処理、デジタル-アナログ変換などの送信処理を行い、ベースバン ド信号を出力してもよい。RF部202は、ベースバンド信号に対して、無線周波数帯へ の変調、フィルタ処理、増幅などを行い、無線周波数帯の信号を、アンテナ部203を介 して送信してもよい。
 一方、RF部202は、アンテナ部203によって受信された無線周波数帯の信号に対して、増幅、フィルタ処理、ベースバンド信号への復調などを行ってもよい。RF部2002は、取得されたベースバンド信号に対して、アナログ-デジタル変換、高速フーリエ変換(Fast Fourier Transform(FFT))処理、フィルタ処理、デマッピング、復調、復号(誤り訂正復号を含んでもよい)などの受信処理を適用し、送信されたデータ(例えばMIDIデータ)を取得し、USBインターフェース部201に転送してもよい。
 なお、RF部202は、受信した無線信号を送信されたデータに変換する処理と、送信するビット列を無線信号に変換する処理と、を同時に行ってもよい。
 アンテナ部203は、本開示に係る技術分野での共通認識に基づいて説明されるアンテナ、例えば、パターンアンテナ、チップアンテナ、ダイポールアンテナ、オムニアンテナ、ホイップアンテナなどの少なくとも1つから構成することができる。
 なお、本開示において、MIDIと同時に他のデータ(例えば、曲の伴奏についてのオーディオデータ)がUSBインターフェースや無線通信において送受信されてもよい。また、本開示のUSBインターフェース部201は、電子楽器10と接続して通信することが可能な任意のインターフェース部で読み替えられてもよい。この場合、本開示の「USB」は任意のインターフェース部に関する名称で読み替えられてもよく、「USB規格に沿った信号」は、当該任意のインターフェース部が準拠する規格に沿った信号で読み替えられてもよい。
<デバイス>
 図5は、一実施形態にかかるデバイス30のハードウェア構成の一例を示す図である。デバイス30は、物理的には、プロセッサ301、メモリ302、ストレージ303、通信装置304、入力装置305、出力装置306、バス307などを含むコンピュータ装置として構成されてもよい。
 デバイス30における各機能は、プロセッサ301、メモリ302などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ301が演算を行い、通信装置304による通信、メモリ302及びストレージ303におけるデータの読み出し及び/又は書き込みなどを制御することによって実現される。
 プロセッサ301は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ301は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU)によって構成されてもよい。
 また、プロセッサ301は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ303及び通信装置304の少なくとも一方からメモリ302に読み出し、これらに従って各種の処理を実行する。プログラムとしては、本開示の実施形態において説明する動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。
 メモリ302は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)、RAM(Random Access Memory)、その他の適切な記憶媒体の少なくとも1つによって構成されてもよい。メモリ302は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ302は、一実施形態に係る方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
 ストレージ303は、コンピュータ読み取り可能な記録媒体であり、例えば、フレキシブルディスク、フロッピー(登録商標)ディスク、光磁気ディスク(例えば、コンパクトディスク(CD-ROM(Compact Disc ROM)など)、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、リムーバブルディスク、ハードディスクドライブ、スマートカード、フラッシュメモリデバイス(例えば、カード、スティック、キードライブ)、磁気ストライプ、データベース、サーバ、その他の適切な記憶媒体の少なくとも1つによって構成されてもよい。ストレージ303は、補助記憶装置と呼ばれてもよい。
 通信装置304は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
 入力装置305は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウスなど)である。出力装置306は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカーなど)である。なお、入力装置305及び出力装置306は、一体となった構成(例えば、タッチパネル)であってもよい。
 また、プロセッサ301、メモリ302などの各装置は、情報を通信するためのバス307によって接続される。バス307は、単一のバスによって構成されてもよいし、装置間で異なるバスで構成されてもよい。
 なお、これらのシステム構成、機器構成は一例であり、これに限られない。例えば、各回路が含まれる数は、これに限られない。各装置は、一部の回路(機構)を含まない構成を有してもよいし、1つの回路の機能が複数の回路により実現される構成を有してもよい。複数の回路の機能が1つの回路により実現される構成を有してもよい。
 また、電子楽器10、ドングル20、デバイス30は、マイクロプロセッサ、デジタル
信号プロセッサ(Digital Signal Processor(DSP))、Application Specific Integrated Circuit(ASIC)、Programmable Logic Device(PLD)、Field Programmable Gate Array(FPGA)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、CPU101は、これらのハードウェアの少なくとも1つで実装されてもよい。
 なお、ここまでで述べたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的に結合した1つの装置により実現されてもよいし、物理的に分離した2つ以上の装置を有線又は無線によって接続し、これら複数の装置により実現されてもよい。
 例えば、プロセッサ301は1つだけ図示されているが、複数のプロセッサがあっても
よい。また、処理は、1のプロセッサによって実行されてもよいし、処理が同時に、逐次 に、又はその他の手法を用いて、2以上のプロセッサによって実行されてもよい。なお、 各機能ブロックは、1以上のチップによって実装されてもよい。
(レイテンシ及びジッタ制御方法)
 本開示の一実施形態に係るレイテンシ及びジッタ制御方法について、以下で説明する。
 レイテンシとジッタはトレードオフの関係がある。本発明者らは、データの制御は受信側(電子楽器10側)で行われるのに対し、最適な受信側バッファの設定値は送信側(デバイス30側)のアプリケーションソフトでのMIDIデータの扱い方、MIDIデータのデータ構成、デバイス30の性能など、大部分が送信側に依存することを発見した。
 そこで本発明者らは、MIDIデータフォーマットにおいてメーカが拡張可能/設定可能なメッセージを用いて、デバイス30のアプリケーションソフトが、電子楽器10のタイムスタンプ制御方法や、バッファリングについての最適なオフセット値を、電子楽器10に、リモートからリアルタイムに設定できる制御方法を着想した。この構成によれば、ジッタとレイテンシのバランスの最適化が図れる。また、ユーザが意識することなく、デバイス30のアプリケーションソフトがレイテンシとジッタの最適なバランスを調整することができる。
 なお、本実施形態では拡張可能なメッセージとしてシステムエクスクルーシブメッセージによる方法を開示しているが、コントロールチェンジメッセージに含まれるNRPN(
Non Registered Parameter Number)やMIDI2.0規格のアサイナブルコントローラメッセージ(Assignable Controller Message)を利用してもよい。つまり、本開示におけるシステムエクスクルーシブメッセージは、コントロールチェンジメッセージ、NRPN、アサイナブルコントローラメッセージなどと互いに読み替えられてもよい。
 図6は、一実施形態に係るジッタ制御方法のフローチャートの一例を示す図である。な
お、本開示の説明において、デバイス30は、「デバイス30のアプリケーション」と互
いに読み替えられてもよい。
 デバイス30は、MIDIデータのバッファリングに関するオフセット時間を決定する(ステップS101)。デバイス30は、オフセット時間を、予め設定された値としてもよいし、ユーザから入力された値としてもよいし、後述する測定に基づいて決定してもよい。例えば、デバイス30は、当該測定に基づいて、デバイス30及び電子楽器10間のジッタ(又は遅延)が比較的小さい(又はほとんど0)と判断した場合、オフセット時間を比較的小さい値(又は0)と決定してもよい。
 なお、オフセット時間は、オフセット量、オフセットなどと互いに読み替えられてもよい。以下、単にオフセット時間をオフセットと呼ぶ。オフセットは、MIDIデータのバッファリングに関する時間と呼ばれてもよい。
 また、デバイス30は、ステップS101において、電子楽器10のタイムスタンプ処理の有無を決定してもよい。例えば、デバイス30は、当該測定に基づいて、デバイス30及び電子楽器10間のジッタ(又は遅延)が比較的小さい(又はほとんど0)と判断した場合、タイムスタンプ処理の適用を無しと判断し、そうでない場合にはタイムスタンプ処理の適用をありと判断してもよい。
 デバイス30は、決定したオフセットに関する情報を、電子楽器10に送信する(ステップS102)。このオフセットに関する情報(オフセット情報と呼ばれてもよい)は、オフセットの時間自体(例えば、15ms、30msなど)を明示的に示してもよいし、オフセットの時間に関連付けられるインデックス値を示してもよい。このインデックス値 とオフセット時間との対応関係は予め定義されてもよいし、設定されてもよい。対応関係 は、例えばインデックス=0はオフセット時間=0(又はタイムスタンプ処理なし)、イ ンデックス=1はオフセット時間=15msなどを示してもよい。
 電子楽器10は、受信したオフセット情報に基づいて、オフセットを設定する(ステップS103)。なお、電子楽器10は、オフセット情報を受信しない場合には、オフセットは所定の値(デフォルト値。例えば、0)であると判断してもよい。
 その後、デバイス30は、MIDIデータを、無線通信を介して(例えば、BLEを用いて)電子楽器10に送信する(ステップS104)。電子楽器10は、受信したMIDIデータを、ステップS103で設定したオフセットに基づいてバッファリングし、MIDIデータの実行(例えば、再生、発音)処理を行う(ステップS105)。ステップS105の実行処理は、例えば、発音を開始するノートオンメッセージの処理、発音を終了させるノートオフメッセージの処理、ペダルをON/OFFするメッセージの処理、など任意のMIDIデータに関する処理を含んでもよい。
 なお、ステップS102においては、オフセット情報の代わりに又は当該情報とともに、タイムスタンプ処理の有無に関する情報(タイムスタンプ処理情報と呼ばれてもよい)が送信されてもよい。
 BLE-MIDIやMIDI2.0においては、オリジナルのMIDIデータを送信する際に、タイムスタンプ(時間情報)が付与されてもよい。電子楽器10は、タイムスタンプ処理情報が「あり」を示す場合には、ステップS105の実行処理において、電子楽器10がタイムスタンプに基づく補正を行い、そうでない場合には、仮に受信したMIDIデータにタイムスタンプが付与されている場合であっても、タイムスタンプに基づく補正は行わない(タイムスタンプを無視して実行する)。
 タイムスタンプは、MIDIメッセージの実行タイミングに関する情報と呼ばれてもよい。なお、本開示において、タイムスタンプ及びタイムスタンプ情報は、互いに読み替えられてもよい。なお、タイムスタンプは、MIDIデータに含まれてもよいし、MIDIデータとは別の情報として電子楽器10に通知されてもよい。後者の場合、タイムスタンプ情報が規格に含まれていないMIDI1.0のデータを受信する場合であっても、本開示に基づいてタイムスタンプの制御を適用できる。 
 図7A-7Dは、タイムスタンプ及びオフセットに基づく補正の概念図である。
 図7Aは、本来の演奏通りの発音タイミングの一例を示す。図には、八分音符の長さの音符0、四分音符の長さの音符1、八分音符の長さの音符2の順で音符が並んでいる。ts0、ts1、ts2はそれぞれ音符0、音符1、音符2の発音時刻を示すタイムスタンプに該当する。音符1は、音符0からts1-ts0後の時刻に発音され、音符2は、音符0からts2-ts0後の時刻に発音されたことを示す。
 図7B-7Dでは、図7Aのデータが伝送され、ジッタが生じる場合の発音タイミングを示す。各図の上側に記載のst0、st1、st2はそれぞれ音符0-2の受信側への到着時刻を示す。各タイミングはジッタの影響を受け、st1-st0≠ts1-ts0であり、st2-st0≠ts2-ts0である。また、各図の下側に記載の音符の位置が実際の発音時刻を示す。
 図7Bは、タイムスタンプに基づく補正を行わない場合の発音タイミングの一例を示す。この場合、各音符は到着時刻で発音されるため、音符0-2の発音タイミングはts0、ts1、ts2の間隔が維持されない。
 図7Cは、タイムスタンプに基づく補正を、オフセット適用なしで行う場合の発音タイミングの一例を示す。この場合、基準より早く到着した音符の発音タイミングが補正される。この基準は、例えば、ある音符の到着時刻を基準としたタイムスタンプに基づく発音タイミングであってもよいし、ある時刻(例えば、曲又は演奏(MIDI再生など)の開始時刻)を基準としたタイムスタンプに基づく発音タイミングであってもよい。
 図7Cの場合、音符2は、音符0を基準とした到着時刻の差(st2-st0)が、タイムスタンプの差(ts2-ts0)より小さい(つまり、音符2は発音予定のタイミングより早く到着した)ため、本来の発音タイミングに補正される(発音タイミングが、st0から時刻ts2-ts0後に調整される)。
 一方で、音符1は、音符0を基準とした到着時刻の差(st1-st0)が、タイムスタンプの差(ts1-ts0)より大きい(つまり、音符1は発音予定のタイミングより遅く到着した)ため、補正できずに到着してすぐ発音される。
 図7Cの場合、一部の音符の発音タイミングについて、ts0、ts1、ts2の間隔が維持されない。
 図7Dは、タイムスタンプに基づく補正を、オフセット適用ありで行う場合の発音タイミングの一例を示す。この場合、基準より早く到着した音符の発音タイミングが補正される。また、基準に対してオフセット以内の遅れで到着した音符の発音タイミングが補正される。この基準は、図9Cと同様に、ある音符の到着時刻を基準としたタイムスタンプに基づく発音タイミングであってもよいし、ある時刻(例えば、曲又は演奏(MIDI再生など)の開始時刻)を基準としたタイムスタンプに基づく発音タイミングであってもよい。
 図7Dの場合、音符0は、st0に到着してからオフセット(offset)の時間だけ待って発音される。音符1は、st1に到着したが、すぐには発音されず、音符0の発音タイミングからタイムスタンプの差(ts1-ts0)の時間だけ待って発音される。音符2は、st2に到着したが、すぐには発音されず、音符0の発音タイミングからタイムスタンプの差(ts2-ts0)の時間だけ待って発音される。
 図7Dの場合、音符の発音タイミングについて、ts0、ts1、ts2の間隔が維持される。
<オフセット情報及びタイムスタンプ処理情報のフォーマット>
 上述のステップS102で送信されるオフセット情報及びタイムスタンプ処理情報の少なくとも一方は、MIDIのシステムエクスクルーシブ(SystemExclusive(SysEx))メッセージ、コントロールチェンジメッセージに含まれるNRPN(Non Registered Parameter Number)などを用いて電子楽器10に通知されてもよい。
 1つのSysExメッセージ(又はNRPN)でオフセット情報及びタイムスタンプ処理情報の両方が通知されてもよいし、複数のSysExメッセージ(又はNRPN)でオフセット情報及びタイムスタンプ処理情報が別々に通知されてもよい。
 SysExメッセージでオフセット情報が通知される場合、当該SysExメッセージは、オフセット情報を含むことを示す情報(ビット列)と、オフセット情報の内容(例え ば、オフセットの時間自体)を示す情報(ビット列)と、を含んでもよい。
 SysExメッセージでタイムスタンプ処理情報が通知される場合、当該SysExメッセージは、タイムスタンプ処理情報を含むことを示す情報(ビット列)と、タイムスタンプ処理情報の内容(例えば、タイムスタンプ処理をする/しない)を示す情報(ビット列)と、を含んでもよい。
 これらの情報は、例えば、MIDIのデータバイト(例えば、SysExメッセージ内のデータバイト)を用いて通知されてもよい。なお、本開示において、任意の情報がMIDIのデータバイトを用いて通知される場合、データバイトの最上位ビット(Most Significant Bit(MSB))が0であることを考慮して当該情報が構成される必要がある。つまり、送信側であるデバイス30は、当該情報を7ビット単位で各データバイトに割り当てて送信し、受信側である電子楽器10は、受信した情報の各データバイトのMSBを除外して結合して元の情報を得る。
 例えば、送信するオフセット情報が2バイトであり“0000000011111111”である場合、デバイス30は、まず7ビットごとに区切って“0000000”、“0111111”、“11”の3つのビット列を得る。そして、デバイス30は、それぞれのビット列の先頭に‘0’を付与し(また、ビット列が1バイトに満たない場合はビットパディングを適用し)、“00000000”、“00111111”、“01100000”という3つのデータバイトを得て、SysExメッセージに含めて送信してもよい。
 なお、通知されるオフセット情報/タイムスタンプ処理情報のビット数は、予め定義されてもよいし、デバイス30から通知されてもよい。例えば、オフセット情報は、4、8、16、32ビットなどで表現されてもよいし、タイムスタンプ処理情報は1ビットで表現されてもよい。
 コントロールチェンジメッセージのコントロール番号98、99に割当てられているNRPNでオフセット情報を通知する場合はNRPNのMSB、LSBにオフセット情報であることを示す数値を設定し(メーカが任意に設定してよい)、当該NRPNのデータエントリーにオフセット情報の内容(例えば、オフセットの時間自体)を設定して送信してもよい。タイムスタンプ処理情報も同様にNRPNで送信してもよい。MIDI2.0でNRPNに対応するメッセージとして新たに規定されたアサイナブルコントローラメッセージによって、オフセット情報やタイムスタンプ処理情報が送信されてもよい。
(無線の性能測定方法)
 電子楽器10及びデバイス30の周辺の環境によっては、これらの間の無線通信品質が変動し、ジッタやレイテンシに影響を及ぼすおそれがある。このため、電子楽器10及びデバイス30の間の無線の性能測定がリアルタイムにかつ容易に行えることが好ましい。
 本発明者らは、このためのデータフォーマット及び測定方法を着想した。
 図8は、一実施形態に係る無線性能測定方法のシーケンス図である。
 デバイス30は、測定用のデータを電子楽器10に対して送信する(ステップS201)。ステップS201の送信は、単発の送信であってもよいし、一定期間(例えば、1s)にわたる、ある送信間隔(例えば、7.5ms、15msなど)の複数の送信であってもよい。
 電子楽器10は、受信した測定用のデータのそれぞれに対して、カウンタ値を修正し、デバイス30に返信する(ステップS202)。修正された測定用データは、返送用データ、返信用データ、報告用データなどと呼ばれてもよい。
 デバイス30は、ステップS201の測定用データの送信データ量、送信時刻、ステップS202の返信されたデータの受信時刻、などに基づいて、電子楽器10及びデバイス30の間の無線の性能を算出する(ステップS203)。無線の性能は、例えば、単位時間あたりのスループット、往復遅延時間などの少なくとも1つに該当してもよい。
 本例では、デバイス30が送信側、電子楽器10が受信側として説明したが、電子楽器10が送信側、デバイス30が受信側であってもよい。
 なお、ステップS201の前に、デバイス30及び電子楽器10の一方から他方に対して、測定開始を連絡する情報が送信されてもよい。デバイス30及び電子楽器10は、当該情報の送受信を契機に、後述の識別番号、カウンタ値などのリセット、時刻同期(時刻調整)などを行ってもよい。
 また、測定用データの送信回数(送信データ数)、送信間隔、送信期間(測定期間)などは、デバイス30に予め定義されてもよいし、デバイス30がユーザからの入力に基づいて決定してもよい。測定用データの送信回数、送信間隔、送信期間などに関する情報は、デバイス30から電子楽器10に通知されてもよい。
 デバイス30は、この測定の際に、受信信号強度(Received Signal Strength Indicator(RSSI))を同時に測ってもよい。当該RSSIは、瞬時RSSIであってもよいし、ある期間における平均/最小/最大RSSIであってもよい。
<測定用データ/返信用データのフォーマット>
 上述のステップS201で送信される測定用データは、MIDIのSysExメッセージ、コントロールチェンジメッセージなどの少なくとも1つを用いて電子楽器10に通知されてもよい。
 図9は、測定用データのフォーマットの一例を示す図である。本例のフォーマットは、SysExメッセージに該当し、SysExメッセージ開始を示す“F0”で開始し、SysExメッセージ開始を示す“F7”で終了する。その他のSysExメッセージに必要な情報については記載を省略する。
 SysExメッセージで測定用データが通知される場合、当該SysExメッセージは、当該データが何番目のデータかを示す識別番号の情報(ビット列)と、あるカウンタの値を示すカウンタ値の情報(ビット列)と、を含んでもよい。
 これらの情報は、例えば、MIDIのデータバイト(例えば、SysExメッセージ内のデータバイト)を用いて通知されてもよい。
 例えば、識別番号情報やカウンタ値情報は、4、8、16、32ビットなどで表現されてもよい。
 ステップS201において、デバイス30は、連続するN個(Nは整数)の測定用データのうち、i番目(iは整数)の測定用データを送信する場合には、識別番号情報として、例えばi-1の値を設定して送信する。言い換えると、1回の測定について、識別番号は0から開始し、1データごとにカウントアップした値をデバイス30がセットして送信 する。つまり、識別番号は、「測定用データを送信した回数-1」を意味してもよい。ま た、デバイス30は、任意の測定用データを送信する場合には、カウンタ値として任意の 値(例えば、0)を設定して送信する。
 ステップS202において、電子楽器10は、測定用データを受信するたびに、自身のカウンタ値を+1インクリメントする。なお、電子楽器10は、測定開始時に、カウンタ値を-1に設定してもよい。つまり、電子楽器10のカウンタ値は、「測定用データを受信した回数-1」を意味してもよい。
 また、ステップS202において、電子楽器10は、受信した測定用データの、識別番号情報をそのままとし、カウンタ値情報に自身のカウンタ値を設定(更新)したものを、返送用データとしてデバイス30に返信してもよい。
 つまり、測定用データ及び返信用データのフォーマットは、同じであってもよい。データサイズの違いによる通信への影響を抑制する(測定精度を向上する)ために、測定用データ及び返信用データのサイズ(ビット数)は、同じであることが好ましい。
 デバイス30は、受信した返送用データにおいて、識別番号及びカウンタ値が一致すれば、これまで送信した測定用データに欠損はない(正しく送受信された)と判断できる。
 デバイス30は、同じ識別番号の測定用データの送信時刻及び返送用データの受信時刻に基づいて、デバイス30及び電子楽器10間の往復遅延時間(Round Trip Time(RTT))を導出してもよい。また、デバイス30は、単位時間あたりの測定用データ/返送用データの通信量に基づいて、デバイス30及び電子楽器10間の通信スループットを導出してもよい。RTTや通信スループットは、瞬時値であってもよいし、ある期間における平均/最大/最小値であってもよい。
 また、受信側(電子楽器10)は、等間隔に送信される測定用データのずれを記録し、これらのずれに基づいてデバイス30から電子楽器10への送信にかかるジッタを算出してもよい。電子楽器10は、デバイス30に対し算出したジッタを送信してもよい。電子楽器10は、SysExメッセージを用いて当該ジッタに関する情報を送信してもよい。
 ステップS202において、電子楽器10は、受信した測定用データの、識別番号情報をそのままとし、カウンタ値情報の代わりに受信時刻に関する情報を設定して、返送用データとしてデバイス30に返信してもよい。当該受信時刻に関する情報は、カウンタ値情報と同じビット数(サイズ)であることが好ましい。デバイス30は、受信した返送用データから、上記ジッタを算出してもよい。
 なお、電子楽器10は、カウンタ値情報及び受信時刻に関する情報を含む返送用データをデバイス30に返信してもよい。電子楽器10は、識別番号情報及びカウンタ値情報及び受信時刻に関する情報を含む返送用データをデバイス30に返信してもよい。
 上述したような測定方法によれば、例えば、電子楽器10及びデバイス30の間で、MIDIと同時にMIDI以外の他のトラフィック(オーディオデータなど)が流れる場合の無線性能測定も容易に行うことができるため、様々な環境におけるジッタ、レイテンシの制御を好適に行うことができる。
(変形例)
 上述の各実施形態において、ドングル20は無くてもよい。この場合、電子楽器10に、デバイス30と無線通信する機能(例えば、図4のRF部202、アンテナ部203) があればよい。
 上述の各実施形態(特に図6、図8など)において、電子楽器10の動作はドングル20によって行われてもよい。例えば、図6のステップS103のオフセットはドングル20に設定されてもよく、この場合ステップS105のバッファリングはドングル20が行い、電子楽器10はドングル20によってオフセット時間だけバッファされたMIDIを受信して即座にMIDIデータの実行処理をしてもよい。
 また、図8のステップS202の返送用データの送信は、ドングル20によって行われてもよい。この場合、無線部分だけの性能をより精密に測定できることが期待される。
 上述の各実施形態(特に図6、図8など)において、電子楽器10の動作はドングル20によって行われてもよい。例えば、図6のステップS103のオフセットはドングル20に設定されてもよく、この場合ステップS105のバッファリングはドングル20が行い、電子楽器10はドングル20によってオフセット時間だけバッファされたMIDIを受信して即座にMIDIデータの実行処理をしてもよい。
 上述の実施形態では、電子楽器10がキーボードのような鍵盤楽器である例を示したが、これに限られない。電子楽器10は、ユーザの操作によって発音のタイミングを指定できる構成を有する機器であればよく、エレクトリックヴァイオリン、エレキギター、ドラム、ラッパなどであってもよい。
 また、電子楽器10は、いわゆる楽器(キーボードなど)に限られず、携帯電話、スマートフォン、タブレット型端末、パソコン(Personal Computer(PC))、テレビなどで読み替えられてもよい。
 以上説明したように、本開示の電子楽器10、ドングル20、デバイス30などを用いることによって、ジッタとレイテンシのトレードオフの好適な調整を実現することができる。
 なお、電子機器10(例えば、電子楽器10。以下同じ)は、識別番号情報及びカウンタ値情報を含む測定用データを受信する受信部(例えば、USBインターフェース107)と、前記測定用データを受信した回数に基づいて前記測定用データのカウンタ値情報を更新して構成される、返送用データを送信する送信部(例えば、USBインターフェース107)と、を有してもよい。このような構成によれば、電子機器のための無線通信の計測を容易に実施できる。
 また、前記受信部は、ある送信間隔(例えば、15ms)で送信される複数の前記測定用データを受信し、前記送信部は、複数の前記測定用データについてそれぞれ前記返送用データを送信してもよい。このような構成によれば、一定期間における上記無線通信のスループット、ジッタなどの計測を好適に実施できる。
 また、前記測定用データは、Musical Instrumant Digital Interface(MIDI(登録商標))のシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ又はアサイナブルコントローラメッセージであってもよい。このような構成によれば、MIDIを利用できる機器間の無線通信(例えばBLE-MIDI)に適した測定を実施できる。
 また、前記受信部は、電子機器10に物理的に接続されるドングル(ドングル20)を介して前記測定用データを受信し、前記送信部は、前記ドングルを介して前記返送用データを送信してもよい。このような構成によれば、電子機器10がデバイス30と直接無線通信する機能を有しない場合に、ドングル20を介するこれらの間の無線通信の計測を実 現できる。
 なお、電子機器10は、Musical Instrumant Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報(例えば、USBインターフェース107)と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信する受信部と、前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御する制御部(例えば、CPU101)と、を有してもよい。このような構成によれば、電子機器のための無線通信について、ジッタとレイテンシのトレードオフの好適な調整を実現できる。
 また、前記受信部は、MIDIのシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ又はアサイナブルコントローラメッセージに含まれる前記オフセット情報を受信してもよい。このような構成によれば、MIDIを利用できる機器間の無線通信(例えばBLE-MIDI)に適した制御を実施できる。
 また、前記制御部は、前記タイムスタンプ情報による前記実行タイミングの制御を行うか否かを、MIDIのシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ又はアサイナブルコントローラメッセージに基づいて判断してもよい。このような構成によれば、MIDIを利用できる機器間の無線通信(例えばBLE-MIDI)に適した制御を実施できる。
 また、前記受信部は、電子機器10に物理的に接続されるドングル(ドングル20)を介して、前記タイムスタンプ情報と、前記オフセット情報と、前記MIDIメッセージと、を受信するようにしてもよい。このような構成によれば、電子機器10がデバイス30と直接無線通信する機能を有しない場合に、ドングル20を介するこれらの間の無線通信について、ジッタとレイテンシのトレードオフの好適な調整を実現できる。
 本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
 本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
 本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素の参照は、2つの要素のみが採用され得ること又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
 本開示において、「含む(include)」、「含んでいる(including)」及びこれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
 本開示の「A/B」は、「A及びBの少なくとも一方」を意味してもよい。
 本開示において、例えば、英語でのa, an及びtheのように、翻訳によって冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
 以上、本開示に係る発明について詳細に説明したが、当業者にとっては、本開示に係る発明が本開示中に説明した実施形態に限定されないということは明らかである。本開示に係る発明は、特許請求の範囲の記載に基づいて定まる発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とし、本開示に係る発明に対して何ら制限的な意味をもたらさない。
 

Claims (8)

  1.  Musical Instrumant Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信する受信部と、
     前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御する制御部と、を有する電子機器。
  2.  前記受信部は、MIDIのシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ及びアサイナブルコントローラメッセージのいずれかに含まれる前記オフセット情報を受信する請求項1に記載の電子機器。
  3.  前記制御部は、前記タイムスタンプ情報による前記実行タイミングの制御を行うか否かを、MIDIのシステムエクスクルーシブメッセージ、コントロールチェンジメッセージ及びアサイナブルコントローラメッセージのいずれかに基づいて判断する請求項1又は請求項2に記載の電子機器。
  4.  前記受信部は、前記電子機器に物理的に接続されるドングルを介して、前記タイムスタンプ情報と、前記オフセット情報と、前記MIDIメッセージと、を受信する請求項1から請求項3のいずれかに記載の電子機器。
  5.  タイムスタンプ情報によるMusical Instrumant Digital Interface(MIDI(登録商標))メッセージの実行タイミングを制御するためのオフセット情報を決定する制御部と、
     前記タイムスタンプ情報と、前記オフセット情報と、前記MIDIメッセージと、を送信する送信部と、を有するデバイス。
  6.  電子機器及びデバイスを含むシステムであって、
     前記電子機器は、
     Musical Instrumant Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信する受信部と、
     前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御する制御部と、を有し、
     前記デバイスは、
      前記オフセット情報を決定する制御部と、
      前記タイムスタンプ情報と、前記オフセット情報と、前記MIDIメッセージと、を送信する送信部と、を有するシステム。
  7.  Musical Instrumant Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信するステップと、
     前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御するステップと、を有する電子機器の方法。
  8.  電子機器のコンピュータに、
     Musical Instrumant Digital Interface(MIDI(登録商標))メッセージと、前記MIDIメッセージの実行タイミングに関するタイムスタンプ情報と、前記MIDIメッセージのバッファリングに関するオフセット情報と、を受信させ、
     前記オフセット情報に基づいて、前記タイムスタンプ情報による前記MIDIメッセージの実行タイミングを制御させるプログラム。
PCT/JP2021/044057 2020-12-17 2021-12-01 電子機器、デバイス、システム、方法及びプログラム WO2022130976A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180083757.XA CN116569252A (zh) 2020-12-17 2021-12-01 电子机器、设备、系统、方法及程序
EP21906339.3A EP4266304A1 (en) 2020-12-17 2021-12-01 Electronic apparatus, device, system, method, and program
US18/210,267 US20230326437A1 (en) 2020-12-17 2023-06-15 Electronic equipment, device, system, method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020208919A JP7331826B2 (ja) 2020-12-17 2020-12-17 電子機器、デバイス、システム、方法及びプログラム
JP2020-208919 2020-12-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/210,267 Continuation US20230326437A1 (en) 2020-12-17 2023-06-15 Electronic equipment, device, system, method, and program

Publications (1)

Publication Number Publication Date
WO2022130976A1 true WO2022130976A1 (ja) 2022-06-23

Family

ID=82057575

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/044057 WO2022130976A1 (ja) 2020-12-17 2021-12-01 電子機器、デバイス、システム、方法及びプログラム

Country Status (5)

Country Link
US (1) US20230326437A1 (ja)
EP (1) EP4266304A1 (ja)
JP (2) JP7331826B2 (ja)
CN (1) CN116569252A (ja)
WO (1) WO2022130976A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004151397A (ja) * 2002-10-30 2004-05-27 Yamaha Corp 音声データと演奏データの同期再生を行うための装置および方法
JP2007178860A (ja) * 2005-12-28 2007-07-12 Nippon Telegr & Teleph Corp <Ntt> 遠隔地における合奏方法及びそれに用いる電子楽器及びそのプログラム
JP2015179141A (ja) 2014-03-19 2015-10-08 Quicco Sound株式会社 音響音楽機器用ドングル装置
US20180233119A1 (en) * 2017-02-14 2018-08-16 Omnibot Holdings, LLC System and method for a networked virtual musical instrument

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4259329B2 (ja) * 2004-01-08 2009-04-30 ヤマハ株式会社 演奏装置および合奏システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004151397A (ja) * 2002-10-30 2004-05-27 Yamaha Corp 音声データと演奏データの同期再生を行うための装置および方法
JP2007178860A (ja) * 2005-12-28 2007-07-12 Nippon Telegr & Teleph Corp <Ntt> 遠隔地における合奏方法及びそれに用いる電子楽器及びそのプログラム
JP2015179141A (ja) 2014-03-19 2015-10-08 Quicco Sound株式会社 音響音楽機器用ドングル装置
US20180233119A1 (en) * 2017-02-14 2018-08-16 Omnibot Holdings, LLC System and method for a networked virtual musical instrument

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GOTO, MASATAKA; NEYAMA, RYO; MURAOKA, YOICHI: "RMCP : Musical Information Processing Based on Remote Music Control Protocol", IPSJ JOURNAL, vol. 40, no. 3, 15 March 1999 (1999-03-15), JP , pages 1335 - 1345, XP009537598, ISSN: 0387-5806 *

Also Published As

Publication number Publication date
US20230326437A1 (en) 2023-10-12
JP7331826B2 (ja) 2023-08-23
JP2023145769A (ja) 2023-10-11
CN116569252A (zh) 2023-08-08
EP4266304A1 (en) 2023-10-25
JP2022096035A (ja) 2022-06-29

Similar Documents

Publication Publication Date Title
US20080055191A1 (en) Methods and Systems For Displaying One or More Images on Multiple Remote Displays
EP3379527B1 (en) Musical sound generation device, musical sound generation method and electronic instrument
CN103856369A (zh) 用于网络音乐会话的延迟测量设备和延迟测量方法
WO2022130976A1 (ja) 電子機器、デバイス、システム、方法及びプログラム
JP2022096034A (ja) 電子機器、デバイス、システム、方法及びプログラム
JP2023076625A (ja) 電子楽器用通信装置、電子楽器システム、方法及びプログラム
US10482858B2 (en) Generation and transmission of musical performance data
US20210125594A1 (en) Wireless midi headset
JP3870843B2 (ja) 楽音発生システムおよび音源モジュール
EP4120239A1 (en) Information processing device and information processing method
JP4193738B2 (ja) 電子音楽装置及びプログラム
JP4626429B2 (ja) Midiデータ送信装置及びプログラム
US11418883B2 (en) Audio interface apparatus and recording system
JP2018180489A (ja) 演奏支援装置、及びプログラム
JP2015064595A (ja) タッチ検出装置、タッチ検出方法及び電子楽器
JP3077406B2 (ja) 楽音情報記録/再生システムおよび楽音情報処理装置
KR101268994B1 (ko) 외부 장치와 연동할 수 있는 미디 재생 장치 및 미디 재생 방법
JP2760301B2 (ja) 電子楽器
JP3123521B2 (ja) 電子楽器
WO2020027293A1 (ja) 演奏補助具、弦楽器、および演奏補助システム
JP3197620B2 (ja) 演奏情報通信装置
JP2024045808A (ja) 出力制御方法、プログラム及び電子機器
US20080107295A1 (en) Hearing aid having an audio signal generator and method
JP3741047B2 (ja) 音源装置
KR20060073659A (ko) 박자 측정 기능과 악기 조율 기능을 가지는 이동통신 단말기

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21906339

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180083757.X

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021906339

Country of ref document: EP

Effective date: 20230717