← Back to Patent Explorer
US7297858B2 Expired / Lapsed US ⏱️ 0.0 years remaining

MIDIWan: a system to enable geographically remote musicians to collaborate

Assignee: Callahan Cellular LLC
•
Filing: 2004-11-30
•
Granted: 2007-11-20
•
Expires: 2024-11-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system is described to allow musicians to collaborate over a network such as the Internet.

Inventors

  • 👤 Andreas Paepcke

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 12:23
CPC Classifications
G; G10; G10H; G10H1/00; G10H1/0033; G10H1/0041; G10H1/0058; G10H1/0066; G10H2240/00; G10H2240/171; G10H2240/281; G10H2240/295; G10H2240/305

Claims Analysis

Total Claims: 53
Claim 1
Independent Claim 222 words
A system for outputting sounds at a local location corresponding to music played at a remote location in substantially real time, comprising: a. An instrument or instrument simulator; b. A network interface operative to receive data corresponding to the music played at the remote location, the data being received with a variable delay relative to the music played, the network interface further being operative to play back music received from the remote location with dynamically adjustable delays at the local location, the dynamically adjustable delays correlating to relative time stamps of the data corresponding to the remotely played music, the network interface further operative to send data corresponding to music played locally to the remote location with relative time stamps corresponding to the locally played music; and c. A signal interface device having a first port coupled to receive data from the network interface and to transmit data to the network interface, and a second port coupled to the instrument or instrument simulator, the signal interface device including: i. A memory cache operable to store data received by the network interface; and ii. A data assembly and transmission unit, operable to retrieve the stored data and provide a substantially continuous stream of data to the instrument or instrument simulator, and further operable to transmit data generated by the instrument or instrument simulator.
Claim 2
Independent Claim 222 words
A system for outputting sounds at a local location corresponding to music played at a remote location in substantially real time, comprising: a. An instrument or instrument simulator; b. A network interface operative to receive data corresponding to the music played at the remote location, the data being received with a variable delay relative to the music played, the network interface further being operative to play back music received from the remote location with dynamically adjustable delays at the local location, the dynamically adjustable delays correlating to relative time stamps of the data corresponding to the remotely played music, the network interface further operative to send data corresponding to music played locally to the remote location with relative time stamps corresponding to the locally played music; and c. A signal interface device having a first port coupled to receive data from the network interface and to transmit data to the network interface, and a second port coupled to the instrument or instrument simulator, the signal interface device including: i. A memory cache operable to store data received by the network interface; and ii. A data assembly and transmission unit, operable to retrieve the stored data and provide a substantially continuous stream of data to the instrument or instrument simulator, and further operable to transmit data generated by the instrument or instrument simulator.
Claim 3
Dependent Claim 13 words
The system of claim 1 wherein the network interface unit is Internet compatible.
Claim 4
Dependent Claim 15 words
The system of claim 1 wherein the substantially continuous stream of data is MIDI data.
Claim 5
Dependent Claim 12 words
The system of claim 3 further including a secondary network interface unit.
Claim 6
Dependent Claim 24 words
The system of claim 4 wherein the secondary network interface unit includes an audio converter, responsive to VoIP data to produce an audio signal.
Claim 7
Dependent Claim 19 words
The system of claim 5 further including an output speaker responsive to the audio signal to produce audible sounds.
Claim 8
Dependent Claim 14 words
The system of claim 1 wherein the instrument or instrument simulator includes a piano.
Claim 9
Dependent Claim 21 words
The system of claim 1 further including a delay management unit coupled to signal interface device or the network interface unit.
Claim 10
Dependent Claim 22 words
The system of claim 1 wherein the delay management unit is responsive to the received data to establish a memory cache allotment.
Claim 11
Dependent Claim 17 words
The system of claim 9 wherein the memory cache allotment corresponds to a determined average transmission delay.
Claim 12
Dependent Claim 33 words
The system of claim 1 , wherein the dynamically adaptable variable delay time is configured to compensate for network transmission delays by the use of relative time stamps corresponding to the output sounds.
Claim 13
Dependent Claim 39 words
The system of claim 1 , wherein the dynamically adaptable variable delay time is configured to compensate for the network transmission delays by the use of output delays for sounds that are selected to reduce stutter of output sounds.
Claim 14
Dependent Claim 41 words
The system of claim 1 , wherein the dynamically adaptable variable delay time is configured to compensate for the network transmission delays by the use of output delays for sounds that are long relative to pauses between the sounds when played.
Claim 15
Dependent Claim 38 words
The system of claim 1 , wherein the dynamically adaptable variable delay time is configured to compensate for the network transmission delays by monitoring a rate of incoming data and adjusting the delay based upon the monitored rate.
Claim 16
Dependent Claim 32 words
The system of claim 14 , wherein the dynamically adaptable variable delay time is configured to compensate for the network transmission delays by shortening the delay if the monitored rate is low.
Claim 17
Dependent Claim 42 words
The system of claim 1 , wherein the dynamically adaptable variable delay time is based upon transmission delays detected in the received data and upon delays of signals generated by the instrument or instrument simulator that are transmitted to the remote location.
Claim 18
Independent Claim 166 words
A method of representing music at a local location where the music has been played at a remote location, comprising: a. Coupling to a network; b. Receiving data from the network; c. Caching a portion of the received data; d. Outputting stored data in a substantially continuous manner with a local variable delay time at the local location that is dynamically adaptable to compensate for network transmission delays, the variable delay time being based at least in part upon relative time stamps of the received data representing times of generation of data relative to at least one preceding data item; and e. Producing audible sounds responsive to the outputted data; the method further comprising generating local data relating to music played at the local location, and correlating relative time stamps with the local data for transmission to the remote location and playback at the remote location with a remote variable time delay based at least in part upon the relative time stamp of the transmitted data.
Claim 19
Independent Claim 166 words
A method of representing music at a local location where the music has been played at a remote location, comprising: a. Coupling to a network; b. Receiving data from the network; c. Caching a portion of the received data; d. Outputting stored data in a substantially continuous manner with a local variable delay time at the local location that is dynamically adaptable to compensate for network transmission delays, the variable delay time being based at least in part upon relative time stamps of the received data representing times of generation of data relative to at least one preceding data item; and e. Producing audible sounds responsive to the outputted data; the method further comprising generating local data relating to music played at the local location, and correlating relative time stamps with the local data for transmission to the remote location and playback at the remote location with a remote variable time delay based at least in part upon the relative time stamp of the transmitted data.
Claim 20
Dependent Claim 34 words
The method of claim 17 wherein producing audible sounds responsive to the outputted data includes: a. Accepting the outputted data with a musical instrument; and b. producing the audible sounds with the musical instrument.
Claim 21
Dependent Claim 30 words
The method of claim 17 further including: a. Determining a nominal transmission delay of the data; and b. Establishing the portion of data responsive to the determined nominal transmission delay.
Claim 22
Dependent Claim 47 words
The method of claim 19 wherein determining a nominal transmission delay of the data includes: a. receiving a series of related data having a known relationship; b. Identifying deviations from the known relationship; and c. Determining the nominal transmission delay as a function of the identified deviations.
Claim 23
Dependent Claim 11 words
The method of claim 17 wherein the data is MIDI data.
Claim 24
Dependent Claim 33 words
The method of claim 17 , wherein the dynamically adaptable variable delay time is selected to compensate for network transmission delays by the use of relative time stamps corresponding to the output sounds.
Claim 25
Dependent Claim 39 words
The method of claim 17 , wherein the dynamically adaptable variable delay time is selected to compensate for the network transmission delays by the use of output delays for sounds that are selected to reduce stutter of output sounds.
Claim 26
Dependent Claim 41 words
The method of claim 17 , wherein the dynamically adaptable variable delay time is selected to compensate for the network transmission delays by the use of output delays for sounds that are long relative to pauses between the sounds when played.
Claim 27
Dependent Claim 43 words
The method of claim 17 , wherein the dynamically adaptable variable delay time is selected based upon transmission delays detected in the received data and upon delays of signals generated by the instrument or instrument simulator that are transmitted to the remote location.
Claim 28
Dependent Claim 145 words
A performance collaboration system, including: a connection seeker circuit configured to establish a connection between a local circuit operably connectable to a local instrument and a remote circuit operably connectable to a remote instrument; a time stamper circuit configured to correlate first relative time stamps with remote instrument data and to correlate second relative time stamps with local instrument data for transmission to the remote instrument; a timing manager circuit configured to deliver data received from the remote circuit to the local instrument, the delivery being coordinated based at least in part upon the first relative time stamps; and delay circuitry configured to dynamically adapt a variable delay time for the timing manager circuit based upon network transmission delays between the remote circuit and the performance collaboration system, the delay circuitry configured to introduce the variable delay time to local playback of the received data.
Claim 29
Dependent Claim 145 words
A performance collaboration system, including: a connection seeker circuit configured to establish a connection between a local circuit operably connectable to a local instrument and a remote circuit operably connectable to a remote instrument; a time stamper circuit configured to correlate first relative time stamps with remote instrument data and to correlate second relative time stamps with local instrument data for transmission to the remote instrument; a timing manager circuit configured to deliver data received from the remote circuit to the local instrument, the delivery being coordinated based at least in part upon the first relative time stamps; and delay circuitry configured to dynamically adapt a variable delay time for the timing manager circuit based upon network transmission delays between the remote circuit and the performance collaboration system, the delay circuitry configured to introduce the variable delay time to local playback of the received data.
Claim 30
Dependent Claim 21 words
The system of claim 26 , wherein the timing manager circuit is configured to deliver MIDI data to the local instrument.
Claim 31
Dependent Claim 26 words
The system of claim 26 , further including a circuit configured to transmit VOIP data from a remote location to a location of the local instrument.
Claim 32
Dependent Claim 32 words
The system of claim 26 , wherein the delay circuitry is configured to select to variable delay time based upon delays in data transmission from the remote instrument to the local instrument.
Claim 33
Dependent Claim 42 words
The system of claim 26 , wherein the delay circuitry is configured to select the variable delay time based upon delays in data transmissions both from the remote instrument to the local instrument and from the local instrument to the remote instrument.
Claim 34
Dependent Claim 13 words
The system of claim 30 , wherein the data transmissions include MIDI data.
Claim 35
Dependent Claim 52 words
The system of claim 26 , wherein the delay circuitry is configured to select the variable delay time based upon a worst-case delay, the worst-case delay being determined at least in part by determining a minimum delay necessary to avoid the local instrument missing reception of some data from the remote instrument.
Claim 36
Dependent Claim 23 words
The system of claim 26 , further including retention circuitry configured to retain connection information between the remote instrument and the local instrument.
Claim 37
Dependent Claim 27 words
The system of claim 26 , wherein the connection seeker circuit is configured to establish communication between the remote instrument and the local instrument over the Internet.
Claim 38
Dependent Claim 19 words
The system of claim 34 , configured to retain an Internet address for the local instrument across communication sessions.
Claim 39
Dependent Claim 14 words
The system of claim 34 , wherein the local instrument is behind a firewall.
Claim 40
Dependent Claim 22 words
The system of claim 34 , further including an address circuit configured to generate a temporary Internet address for the local instrument.
Claim 41
Dependent Claim 26 words
The system of claim 37 , wherein the address circuit is further configured to provide a valid Internet address in place of the temporary Internet address.
Claim 42
Dependent Claim 144 words
A performance collaboration system, including: a time stamper circuit configured to correlate first relative time stamps with data from a remote instrument and to correlate second relative time stamps with data from a local instrument for transmission to the remote instrument; a timing manager circuit configured to deliver data received from the remote circuit to the local instrument, the delivery being coordinated based at least in part upon the first relative time stamps; and delay circuitry configured to provide a delay time for the timing manager circuit based upon network transmission delays between the remote circuit and the performance collaboration system, wherein the delay time is selected based upon a lowest delay necessary to avoid the local instrument missing reception of notes transmitted from the remote instrument, the delay circuitry configured to introduce the variable delay time to local playback of the received data.
Claim 43
Dependent Claim 144 words
A performance collaboration system, including: a time stamper circuit configured to correlate first relative time stamps with data from a remote instrument and to correlate second relative time stamps with data from a local instrument for transmission to the remote instrument; a timing manager circuit configured to deliver data received from the remote circuit to the local instrument, the delivery being coordinated based at least in part upon the first relative time stamps; and delay circuitry configured to provide a delay time for the timing manager circuit based upon network transmission delays between the remote circuit and the performance collaboration system, wherein the delay time is selected based upon a lowest delay necessary to avoid the local instrument missing reception of notes transmitted from the remote instrument, the delay circuitry configured to introduce the variable delay time to local playback of the received data.
Claim 44
Dependent Claim 144 words
A computer program product including computer code that can be run on one or more processors to perform the steps of: establishing a connection between a local circuit operably connectable to a local instrument and a remote circuit operably connectable to a remote instrument; correlating first relative time stamps with data generated by the remote instrument; delivering data received from the remote circuit to the local instrument, the delivery being coordinated based at least in part upon the time stamps; dynamically adapting a variable delay time for the timing manager circuit based upon network transmission delays from the remote circuit, the variable delay time being introduced to local playback of the received data; and generating second relative time stamps for local data generated by the local instrument and transmitting the local data and the second relative time stamps for playback at the remote instrument.
Claim 45
Dependent Claim 144 words
A computer program product including computer code that can be run on one or more processors to perform the steps of: establishing a connection between a local circuit operably connectable to a local instrument and a remote circuit operably connectable to a remote instrument; correlating first relative time stamps with data generated by the remote instrument; delivering data received from the remote circuit to the local instrument, the delivery being coordinated based at least in part upon the time stamps; dynamically adapting a variable delay time for the timing manager circuit based upon network transmission delays from the remote circuit, the variable delay time being introduced to local playback of the received data; and generating second relative time stamps for local data generated by the local instrument and transmitting the local data and the second relative time stamps for playback at the remote instrument.
Claim 46
Dependent Claim 47 words
The computer program product of claim 40 , wherein the step of dynamically adapting a variable delay time includes selecting a delay time based upon delays in data transmission both from the remote instrument to the local instrument and from the local instrument to the remote instrument.
Claim 47
Dependent Claim 57 words
The computer program product of claim 40 , wherein the step of dynamically adapting a variable delay time includes selecting a delay time based upon a worst-case delay, the worst-case delay being determined at least in part by determining a minimum delay necessary to avoid the local instrument missing reception of some data from the remote instrument.
Claim 48
Dependent Claim 128 words
A computer system configured to: establish a connection between a local circuit operably connectable to a local instrument and a remote circuit operably connectable to a remote instrument; correlate first relative time stamps with data generated by the remote instrument; deliver data received from the remote circuit to the local instrument, the delivery being coordinated based at least in part upon the time stamps; dynamically adapt a variable delay time for the timing manager circuit based upon network transmission delays from the remote circuit, the variable delay time being introduced to local playback of the received data; and generate second relative time stamps for local data generated by the local instrument and transmit the local data and the second relative time stamps for playback at the remote instrument.
Claim 49
Dependent Claim 128 words
A computer system configured to: establish a connection between a local circuit operably connectable to a local instrument and a remote circuit operably connectable to a remote instrument; correlate first relative time stamps with data generated by the remote instrument; deliver data received from the remote circuit to the local instrument, the delivery being coordinated based at least in part upon the time stamps; dynamically adapt a variable delay time for the timing manager circuit based upon network transmission delays from the remote circuit, the variable delay time being introduced to local playback of the received data; and generate second relative time stamps for local data generated by the local instrument and transmit the local data and the second relative time stamps for playback at the remote instrument.
Claim 50
Dependent Claim 45 words
The computer system of claim 43 , further configured to dynamically adapt the variable delay time by selecting a delay time based upon delays in data transmission both from the remote instrument to the local instrument and from the local instrument to the remote instrument.
Claim 51
Dependent Claim 55 words
The computer system of claim 43 , further configured to dynamically adapt the variable delay time by selecting a delay time based upon a worst-case delay, the worst-case delay being determined at least in part by determining a minimum delay necessary to avoid the local instrument missing reception of some data from the remote instrument.
Claim 52
Dependent Claim 146 words
A musical instrument, including: a connection circuit configured to establish a connection between a local circuit operably connectable to a local instrument and a remote circuit operably connectable to a remote instrument; a time stamper circuit configured to correlate first relative time stamps with remote instrument data and to correlate second relative time stamps with local instrument data for transmission to the remote instrument; a timing manager circuit to receive data from the remote circuit and to play the data as notes locally on the musical instrument at times based at least in part upon the first relative time stamps; delay circuitry configured to dynamically adapt a variable delay time for the timing manager circuit based upon network transmission delays between the remote circuit and the performance collaboration system, the delay circuitry configured to introduce the variable delay time to local playback of the received data.
Claim 53
Dependent Claim 146 words
A musical instrument, including: a connection circuit configured to establish a connection between a local circuit operably connectable to a local instrument and a remote circuit operably connectable to a remote instrument; a time stamper circuit configured to correlate first relative time stamps with remote instrument data and to correlate second relative time stamps with local instrument data for transmission to the remote instrument; a timing manager circuit to receive data from the remote circuit and to play the data as notes locally on the musical instrument at times based at least in part upon the first relative time stamps; delay circuitry configured to dynamically adapt a variable delay time for the timing manager circuit based upon network transmission delays between the remote circuit and the performance collaboration system, the delay circuitry configured to introduce the variable delay time to local playback of the received data.

References Cited (Backward Citations)

US6067566A Cited
US5734119A Cited
US7050462B2 Cited
US6143973A Cited
US6069310A Cited
US6815601B2 Cited
US6653545B2 Cited
US6898729B2 Cited
US7129408B2 Cited
US20050150362A1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2010-11-19 2011-05-21 2011-11-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2014-11-19 2015-05-21 2015-11-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2018-11-19 2019-05-21 2019-11-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag