The present invention is directed generally toward electronic music based systems, and more particularly, to a collaborative synchronized audio interface.
Currently, previous approaches to electronic collaboration of musical pieces involve two distinct parties generating their own respective audio files. When attempting to synchronize one audio file with another, CPU timing can be off by 0.1% in a 99 bpm song. In just four bars, the timing can thus vary from 99-101 bpm. As will be appreciated, the output, when combined produces an inferior piece of music. Signal degradation also becomes an issue when users have to covert DA/AD in current configurations to combine outputs through traditional means.
Therefore, it may be desirable to provide a system and method which address the above-referenced problems.
Accordingly, a system is included for an audio processing system for providing collaborative input of music streams. The system comprises a housing including a first USB audio input hub for receiving a first audio signal from a first digital audio workstation, a second USB audio input hub for receiving a second audio signal from a second digital audio workstation, and a musical instrument digital interface (MIDI) timing engine coupled to the first USB audio input hub and the second USB audio input hub. The MIDI timing engine generates a MIDI time code (MTC) timing signature signal provided to the first USB audio input hub and to the second USB audio input hub. The system also includes a controller coupled to the MIDI timing engine to synchronize transmission of the first audio signal from the first digital audio workstation through the first USB audio input hub with the second audio signal from the second digital audio workstation through the second USB audio input hub. A summing module coupled to the first USB audio input hub and to the second USB audio input hub sums the synchronized output of the first audio signal from the first digital audio workstation from the first USB audio input hub with the second audio signal from the second digital audio workstation from the second USB audio input hub, and outputs the synchronized and summed first audio signal and second audio signal as a combined audio signal. The system may also include a software application executed by the controller to: monitor for a synchronization command registered by the first digital audio workstation, send the synchronization start/stop command to the controller, and publish the synchronization start/stop command to the second digital audio workstation for a synchronized start/stop event.
A method of providing collaborative input of music streams comprises receiving at a first USB audio input interface, a first audio signal from a first digital audio workstation, receiving at a second USB audio input interface, a second audio signal from a second digital audio workstation, receiving a user input at a controller to synchronize the first audio signal with the second audio signal; generating, in response to the received user input at the controller, a musical instrument digital interface (MIDI) time code (MTC) timing signature signal; broadcasting the MTC timing signature signal simultaneously to the first USB audio input interface and to the second USB audio input interface; monitoring for a synchronization command registered by the first digital audio workstation; publishing the synchronization command from the first digital audio workstation to the second digital audio workstation; receiving a start/stop command from the second digital workstation in response to receiving the synchronization command; starting/stopping receipt of the second audio signal from the second digital audio workstation; combining the first audio signal with the second audio signal in synchronization according to the MTC timing signature signal and the starting/stopping receipt of the second audio signal; and outputting the combined and synchronized first audio signal and second audio signal as a combined audio stream.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention claimed. The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and together with the general description, serve to explain the principles.
The numerous objects and advantages of the present invention may be better understood by those skilled in the art by reference to the accompanying figures in which:
Embodiments of the invention may eliminate or at least mitigate the drag associated with CPU drag experienced by combining audio streams from multiple sources. As will be appreciated, aspects of the embodiments disclosed reduce CPU jitter in timing to 0.01%. Collaboration becomes streamlined so that professional studios can reduce DA/AD conversions from auxiliary input needs.
In general, embodiments receive audio signals from two separate audio sources such as digital audio workstations (DAWs) that generate their own respective audio signals by their own respective processors. Typically, CPU drag may be seen when the signals are input into a common prior art interface. However as will be appreciated in the present embodiments disclosed, a MIDI based timing signature is applied to the separate audio signals within the system. The audio signals are synchronized based on an MTC signature signal and combined, when synchronized, at a summing module for output as a combined audio stream. The MTC timing signature adjusts the timing of transmission for each of the two audio signals before summing them so that the intended synchronization is achieved without CPU drag.
Referring to
The system generally includes a first USB audio input hub (2) for receiving the first audio signal from the first digital audio workstation. In some embodiments, the USB audio hub (2) may include a first audio USB interface (1) and a first MIDI USB interface (3). Running in parallel with the USB audio hub (2) is a second USB audio hub (6). The USB audio hub (6) may include a second audio USB interface (5) and a second MIDI USB interface (7). The audio USB interfaces (1) and (5) may be for example, circuit boards with circuits including for example one or more processors for controlling and processing their respective audio signal inputs before being combined. The MIDI USB interfaces (3) and (7) may also comprise circuit boards with circuits including for example one or more processors for coordinating timing passed on to their respective audio USB interface (1;5). A MIDI timing engine module (4) may be coupled to both the first USB audio input hub (2) and the second USB audio hub (6). A controller (9) which may have an integrated display may be connected to the MIDI timing engine module (4). The MIDI timing engine module 4 generates MTC timing signature signals and may also generate transport control commands (for example, start, stop, pause). The output end of the system may include a summing module (8). The summing module 8 may use digital or analog based summing (for example, i2s standard, USB, or Thunderbolt® interface). In some embodiments, the summing module (8) may be software (including for example, a run-time application or configuration script) run by, or firmware executed by a microcontroller unit or other on-board processor.
Referring now to
In operation, USB input (audio signals) is taken from a first and second users' respective computers with DAW software that all commonly interface with USB and MIDI control messages. The USB hubs (2)(6) may also be used to interface with MIDI interface boards (3)(7). MIDI start/stop commands are generated by the MIDI timing engine module (4) and sent along with the MTC timing signature signal(s). The MTC timing signature signal may be triggered for example by the controller (9) in response to user input. When a MIDI based message is generated, the message may broadcasted to both USB audio hubs (2) and (6). The MIDI USB interfaces (3) and (7) may receive the MTC timing signature signals. These messages may trigger start/stop commands in the DAW software by interpretation of MTC messages so that the timing of the first and second audio signals are in alignment. MIDI messages can generate in either one of the DAW computers and/or at the PLAY/STOP trigger from the audio interface. A key command selected by software will be monitored by a daemon application, this application will wait for a key combination, for example: CTRL-S. Once the daemon application recognizes the key command, it will send a signal back to the audio interface's midi timing engine module (4), at which time the timing engine module (4) will process this and send a MIDI Start/Stop command back to the DAWs to start/stop in sync. USB Audio is then outputted and combined by summing (via the summing module (8)) and/or by combining the synchronized audio signals into a combined audio stream. The combined stream may be analog or digital.
Referring now to
In a collaborative synchronized audio interface (CSAI) workflow (
In a traditional CSAI device, there will be a mechanical pushbutton that will start/stop the synchronization engine. As will be appreciated, aspects of the disclosed process embodiments decentralize the mechanical playback. The background daemon sync application monitors human keyboard interface for registering a sync command (for example, a key command pressed on the interface as shown in
As will be appreciated by one skilled in the art, aspects of the disclosed invention may be embodied as a system, method or process, or computer program product. Accordingly, aspects of the disclosed invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module,” or “system.” Furthermore, aspects of the disclosed invention may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
Any combination of one or more computer readable media may be utilized. In the context of this disclosure, a computer readable storage medium may be any tangible or non-transitory medium that can contain or store a program) for use by or in connection with an instruction execution system, apparatus, or device. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
Aspects of the disclosed invention are described below with reference to block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
It is believed that the present invention and many of its attendant advantages will be understood by the foregoing description, and it will be apparent that various changes may be made in the form, construction, and arrangement of the components thereof without departing from the scope and spirit of the invention or without sacrificing all of its material advantages. The form herein before described being merely an explanatory embodiment thereof, it is the intention of the following claims to encompass and include such changes.
This application claims priority to provisional patent application U.S. Ser. No. 62/322,029 filed on May 5, 2016, and U.S. application Ser. No. 15/588,413 filed on May 5, 2017, the entire contents of which are herein incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
7297856 | Sitrick | Nov 2007 | B2 |
7504576 | Georges | Mar 2009 | B2 |
8035020 | Taub | Oct 2011 | B2 |
9959851 | Fernandez | May 2018 | B1 |
20020026256 | Hilton | Feb 2002 | A1 |
20090068943 | Grandinetti | Mar 2009 | A1 |
20090113022 | Quoc | Apr 2009 | A1 |
20090193345 | Wensley | Jun 2009 | A1 |
20100306667 | Umeo | Dec 2010 | A1 |
20110252951 | Leavitt | Oct 2011 | A1 |
20130275312 | Claman | Oct 2013 | A1 |
20130305903 | Fong | Nov 2013 | A1 |
20140109750 | Reynolds | Apr 2014 | A1 |
20140337420 | Wentzloff | Nov 2014 | A1 |
20150068388 | Fong | Mar 2015 | A1 |
20160012807 | Neuhauser | Jan 2016 | A1 |
20160125863 | Henderson | May 2016 | A1 |
20170011725 | Reynolds | Jan 2017 | A1 |
20180047374 | Numata | Feb 2018 | A1 |
20180061381 | Zonnefeld | Mar 2018 | A1 |
20180199859 | Dalla Bella | Jul 2018 | A1 |
20180247627 | Fernandez | Aug 2018 | A1 |
Number | Date | Country | |
---|---|---|---|
20180247627 A1 | Aug 2018 | US |
Number | Date | Country | |
---|---|---|---|
62332029 | May 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15588413 | May 2017 | US |
Child | 15967345 | US |