The present invention relates to a system for processing and compiling portions of video and/or audio tracks. More specifically, the present invention relates to an audio editing system, method, computer software, and companion application that automates bouncing different portions of video and/or audio tracks based on user input.
The term “bouncing” is well known in the field of audio engineering and comes from the analog era when track count was a hard limit on tape machines. Engineers and music producers would use their audio consoles to mix several tracks down to one to free up more recording. This process is called “bouncing.”
Presently, in the digital and computer era, “bouncing” refers to the process of mixing tracks into a mix or a submix (e.g., a stem) and writing/recording it to one or more stereo audio files. Bouncing tracks is the process of bouncing a completed song into one or more audio files. More specifically, bouncing audio is about exporting a finished track into smaller audio groups. For example, the bass is one group, the vocals are another group, the instruments are a third group, and the drums are a fourth group. Another group may include sound effects. These audio groups are called stem files. Stems are thus stereo recordings/audio files derived from a larger mix of multiple tracks. The drum stem, for example, includes all of the drums, an instrument stem includes all of the instruments, and the vocal stem includes all of the vocals.
Bouncing tracks also refers to bouncing all of the stem files down to just one audio file too, which in essence is the whole track. Thus, bouncing audio is about bouncing a whole song/audio project down into audio groups, and then again into the final audio file.
Note, it is well known in the art that there is a difference between bouncing audio and simply exporting audio. Bouncing audio is the process of exporting a complete song/audio project (from a digital audio workstation, DAW) to a single stereo audio file or a plurality of stereo audio files, which are the stem files (e.g., MP3, AIFF, WAV, M4A). Bouncing may also allow the audio to be run (processed) through the entire signal chain so it has processing and effects. On the other hand, simply “exporting” audio refers only to exporting individual audio, like a one-shot or a singular melody line, to an audio file. Also, simply exporting audio generally results in “raw”, unaltered content.
There are several reasons why bouncing is performed. First, it saves computer processing power. Also, transmitting audio files over a network, such as the Internet, is easier and quicker with respect to upload and download speeds than sending a large DAW project file. In addition, bouncing can speed up workflow by enabling a user to print multiple formats of a single mix, such as creating WAV, AIFF, MP3, and even M4A files.
However, bouncing remains a monotonous and time-consuming task within conventional digital audio workstations and conventional audio production software. Running multiple stems, i.e., bouncing, requires time for setting up the DAW and configuring bounce parameters for each stem, as well as time waiting for the bouncing operation to complete before proceeding with the next stem. The entire process requires substantial time simply waiting around for each bounce iteration to complete, which ends up being a waste of time—or at least an ineffective use of time—for audio engineers, composers, producers, and songwriters.
Composers, producers, or songwriters commonly have to provide stems and mixes to an engineer, trailer house, music library, or client. These stems might be grouped into categories like Percussion, Vocals, Strings, Brass, Woodwinds, Pads, Arps, etc. Sometimes there is a need to run stems both “Wet” (with effects) and “Dry” (without effects). The need to create multiple mixes is also very common. Often, an un-mastered mix is required in addition to a mastered mix. All of this can become very time-consuming and exacerbate the issue with wasted time.
This issue can get even more challenging for composers in video games, often requiring multiple bar ranges to be run as separate mixes and separate sets of stems. This can quickly add up to a massive list of files and folders requiring many hours of monotonous and repetitive work for the composer, producer, assistant, etc.
Thus, there exists a need for an improved audio editing system, audio production system, digital audio workstation, audio editing application software, audio production software, and/or companion application (which links to an audio editing system, audio production system, or digital audio workstation) that achieves bouncing without significantly burdening the user while, at the same time, eliminating the need for complicated infrastructure implementations.
The needs set forth herein as well as further and other needs and advantages are addressed by the present embodiments, which illustrate solutions and advantages described below.
It is an object of the present teachings to remedy the above drawbacks and shortcomings associated with known digital audio workstations and audio production and editing software.
It is an object of the present teachings to provide a digital audio workstation (DAW), an audio editing system, audio editing software, and/or companion application (which links to a DAW) that reduces the amount of user engagement and feedback during editing processes, including bouncing operations. Herein, the term “companion application” is intended to encompass a companion application, a plugin, an add-on, and an extension, as are known in the art.
It is another object of the present teachings to provide a DAW, an audio editing system, audio editing software, and/or companion application (which links to a DAW) that improves the efficiency in performing bouncing operations.
These and other objects of the present teachings are achieved by a DAW, an audio editing system, or companion application that runs alongside a DAW (e.g., Logic Pro) which automates the process of running stems, multi-tracks, and mixes. In particular, the present teachings provide an audio editing system which comprises a controller for processing audio data; an interface configured to establish communication between the processor and a digital audio workstation, the digital audio workstation having an audio production program executing thereon and at least one audio project stored therein; a scanner controlled by the controller to determine whether the audio project is loaded in the audio production program of the digital audio workstation; in response to a confirmation that the audio project is loaded, the scanner analyzes the audio project to obtain a list of all tracks corresponding to the audio project; and an automated bouncing module receiving a job list which includes multiple jobs, each job indicating a selection of said tracks and a cycle range to bounce into at least one set of stem files, at least one mix file, or at least one set of stem files and at least one mix file, wherein the automated bouncing module transmits bounce commands to the audio production program to automatically bounce the respective selection of said tracks for each job consecutively in a single run, and wherein the automated bouncing module automatically names each stem file and/or each mix file with distinct names according to a pre-defined naming convention.
In addition, the present teachings provide an audio editing companion application, which comprises a link interface registering the companion application with an audio production program of a digital audio workstation, the link interface establishing a hook into the audio production program; a scanner detecting an audio project which is loaded in the audio production program of the digital audio workstation, the scanner analyzing the audio project to obtain a list of all tracks corresponding to the audio project; and an automated bouncing module receiving a job list which includes multiple jobs, each job indicating a selection of said tracks and a cycle range to bounce into at least one set of stem files, at least one mix file, or at least one set of stem files and at least one mix file, wherein the automated bouncing module transmits bounce commands to the audio production program to automatically bounce the respective selection of said tracks for each job consecutively in a single run, and wherein the automated bouncing module automatically names each stem file and/or each mix file with distinct names according to a pre-defined naming convention. The audio editing companion application runs on the digital audio workstation.
The audio editing system and companion application according to the present teachings enable a user to choose whatever combination of tracks, folder stacks, and summing stacks, to bound as stems and mixes. They provide for selecting a range in the completed song/audio project to be bounced, muting auxiliary (AUX) channels for running “dry” stems/mixes (i.e., stems/mixes without any added effects, like reverb, EQ, etc.), and bypassing any FX plugin on the Master Out channel. With the audio editing system and the companion application according to the present teachings, complete sets of stems can be bounced with fewer user inputs, multiple “jobs” (mixes and/or sets of stems) can be bounced with different cycle ranges and bounce parameters, and further wet and dry stems and/or mixes can be bounced sequentially. The audio editing system and the companion application enable bouncing stems and mixes with or without various Master Out insert effects applied and creating custom and dynamic naming conventions for the stems and mixed. This results in more efficient bouncing operations and minimal wasted time by the user. The present teachings also cover an audio production system, audio production software, and/or audio editing software that automatically processes, compiles, and exports stems and mixes according to user preferences.
The audio editing system and companion application according to the present teachings and described herein are known by the product name “Auto-Bounce.”
It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting, since the scope of the present invention will be limited only by the appended claims. Unless otherwise defined, all technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this technology belongs.
For the purposes of the disclosure herein, regarding the term “job,” a single job can be either a single Audio Mix or a set of multiple tracks or stems. Each job comprises a selection of tracks (for either stem or mix exporting) and a specific start/end range. The key feature of the audio editing system or application of the present teachings (Auto-Bounce) is that it can run multiple jobs in a single pass. Everything listed in a Jobs List will be run when the bounce operation is initiated.
The term “track,” in conventional digital audio workstations (like Logic Pro), can be a MIDI or Audio track. In the audio editing system or application of the present teachings, tracks are individually selectable for exporting as individual audio files (Stem Mode) or combined into a single audio file (Mix Mode). In addition to tracks, there are track-stacks or folders, which are groupings of tracks.
The term “stem,” in the professional audio engineering field, is usually defined as a grouping of multiple tracks that are combined, mixed, and exported (“bounced”) as a single audio file. In the audio editing system or companion application of the present teachings, an input module is configured to receive user input in the form of a selection of “Stem” within the user interface of the audio editing system or application, for example by checking a box next to a Track Stack (folder or summing stack). In the audio editing system or application of the present teachings, a Track Stack is identifiable because there is a dropdown arrow next to the track select checkbox and a folder icon next to the track number.
The term “controller” means any device, system, or part thereof that controls at least one operation. Such a controller may be implemented in hardware or a combination of hardware and software and/or firmware. The functionality associated with any particular controller may be centralized or distributed, whether locally or remotely.
Various functions described below can be implemented or supported by one or more computer programs, each of which is formed from computer readable program code and embodied in a non-transitory computer readable medium. The terms “application” and “program” refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer readable program code. The phrase “computer readable program code” includes any type of computer code, including source code, object code, and executable code. The phrase “computer readable medium” includes any type of non-transitory medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory. A non-transitory computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. A non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.
Other features and aspects of the present teachings will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which illustrate by way of example the features in accordance with embodiments of the present teachings. The summary is not intended to limit the scope of the present teachings.
The present teachings are described more fully hereinafter with reference to the accompanying drawings, in which the present embodiments are shown. The following description is presented for illustrative purposes only, and the present teachings should not be limited to these embodiments.
The present teachings have been described in language more or less specific as to structural, mechanical, and functional features. It is to be understood, however, that the present teachings are not limited to the specific features shown and described, since the apparatus, system, method, an/or application herein disclosed comprises preferred forms of putting the present teachings into effect.
For purposes of explanation and not limitation, specific details are set forth such as particular structures, architectures, interfaces, techniques, etc. in order to provide a thorough understanding. In other instances, detailed descriptions of well-known devices and/or methods are omitted so as not to obscure the description with unnecessary detail.
Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to a/an/the element, apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The use of “first”, “second,” etc. for different features/components of the present disclosure are only intended to distinguish the features/components from other similar features/components and not to impart any order or hierarchy to the features/components, unless explicitly stated otherwise. The phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, “at least one of: A, B, and C” includes any of the following combinations: A; B; C; A and B; A and C; B and C; and A and B and C.
Referring to
In some embodiments, the DAW 200 supports plugins, which are smaller pieces of software with unique functionality, thereby expanding the capabilities of the DAW. The plugins are self-contained pieces of code that can be “plugged in” to the DAW to enhance its functionality. Plugins usually fall into the categories of audio signal processing, analysis, or sound synthesis. Typical plugins include equalization, dynamic range control, reverberation, delay, and virtual instruments.
In other embodiments, the DAW 200 may be an integrated stand-alone processing unit or a complex configuration of several hardware components controlled by a central computer or processor.
The audio editing system 100 (Auto-Bounce) includes a communications interface module 102 configured to provide bidirectional communication (transmit and receive) with the DAW 200. The communications interface module 102 may comprise an application programming interface (API) which enables the audio editing system 100 and the DAW 200 to talk to each other and extract and share data with each other in a secure and standardized way. In addition to the API or alternatively, the communications interface module 102 may comprise at least one of a serial data bus, a parallel data bus, inter-integrated circuit (I2C) bus, serial peripheral interface, PCI express, universal serial bus (USB), and other similar physical interface connectors. The audio editing system 100 and the DAW 200 are connected to each via a wired cable medium (e.g., ethernet cable, coax cable, optical fiber). In other embodiments, the communications interface module 102 may comprise a transmit antenna and a receive antenna, or a transceiver antenna, to provide wireless communication between the audio editing system 100 and the DAW 200, for example via WiFi, Bluetooth, cellular, or another wireless data communications platform as is well known in the art. The communications interface module 102 serves as the component by which the audio editing system 100 retrieves audio data from the DAW 200 and interacts with the DAW 200. The audio data includes but is not limited to song/audio project data, track data, and settings and parameters data. The audio editing system 100, for example, may be configured to manipulate certain aspects, settings, and/or parameters of the DAW 200 to ultimately perform automated bouncing operations. In some embodiments, the audio editing system 100 may control the functions of the DAW 200.
As shown in
In some embodiments, the scanner 112 and automated bouncing module 114 may provide fully automated bouncing, without any need for user input, instruction, or feedback through the input module. In this arrangement, the input module 110 may be omitted from the audio editing system 100.
The scanner 112 is configured to scan the song/audio project currently loaded in the DAW 200 so as to retrieve the tracks (including any track-stacks and/or folders) that make up the song/audio project, as well as to obtain information related to the tracks, collectively designated by reference number 150 in
In addition to conducting the initial checks, the scanner 112 identifies which tracks are hidden in the DAW 200 and makes all hidden tracks visible. The scanner 112 also identifies which tracks are set to “Off.” Any “Track Stacks” that are collapsed are expanded by the scanner 112, which then imports the names and numbers of all tracks and track stacks from the DAW 200. The scanner 112 notes whether a track stack is collapsed or expanded in the DAW 200. Thereafter, the scanner 112 opens the Mixer Panel of the DAW 200, reads in the names of all AUX Channels, reads in the names of all Master Output Fader Insert FX, and identifies which AUX channels are currently muted in the DAW 200. Further, the scanner 112 opens the bounce window of the DAW 200, records all bounce parameters from the DAW 200, and identifies the current cycle range of the DAW 200. Note, a cycle range defines an area over a particular part of the song/audio project that is selected and that can be played repeatedly.
Once the scanner 112 has received the tracks (including any track-stacks and folders that are present in the song/audio project) and information related to the tracks 150, the scanner 112 is configured to organize the tracks, track-stacks, and folders by using a hierarchical tree structure, which is then displayable in a track view of the user interface of the audio editing system 100.
After the scan and checks performed by the scanner 112 are completed, the automated bouncing module 114 controls the audio editing code 204 of the DAW 200 by sending bounce commands 158 to bounce multiple jobs (mixes and/or sets of stems 160) with different cycle ranges, bounce parameters, etc. in a single run. Also, the automated bouncing module 114 may include the capacity to automatically bounce wet and dry stems and/or mixes sequentially in a single run without interruption. Further, the automated bouncing module 114 may be configured to bounce stems and mixes with or without various Master Out insert effects (gating, compressing, equalizing, reverb effects, etc.) applied at the Master Out bus. In some embodiments where the DAW 200 has multiple output buses available, the automated bouncing module 114 may send control signals to the DAW 200 to select which output bus that the auto-bouncing operations should be applied to. This configuration enables the automated bouncing module 114 to manipulate and control the bypass state of particular insert effects on the auto-bouncing output. That is, certain insert effects can be selectively applied in the auto-bouncing operations by adjusting the output bus of the DAW. Similarly, the automated bouncing module 114 is configured to initiate automated bouncing of stems and/or mixes with one or more (e.g., all) AUX channels muted, for example, to create a dry stem or a set of dry stems. The automated bouncing module 114 accordingly can adjust which plug-in(s) and effects, each associated with one of the AUX channels, should be applied to the track(s) or track-stack(s) and which should be bypassed during the auto-bouncing operations.
The automated bouncing module 114 creates custom and dynamic naming conventions for each stem and/or mix that is created during the bouncing process. Alternatively, or in combination with the automated bouncing module 114, the controller 104 may be in charge of performing the custom and dynamic naming conventions for each stem and/or mix. The automated bouncing module 114—and in turn the audio editing system 100—saves time and frustration that would be involved in manual bouncing with the DAW 200.
The automated bouncing module 114 provides a main window (
Within the Job Settings section of the main window, the automated bouncing module 114 provides for setting Start and End points using Logic markers according to user input. The automated bouncing module 114 makes available the “Export to Movie” feature of the DAW 200 as a bounce option. That is, the automated bouncing module 114 may be configured to control the audio editing code 204 of the DAW 200 to create a movie(s) as well during bouncing operations. The automated bouncing module 114 provides for the user to automatically create a “click track” by turning all tracks off, turning on the metronome, and bouncing that as a separate audio file. The automated bouncing module 114 provides MIDI exporting options, which include the ability to create a note on the downbeat of the project so each MIDI file starts at the first bar (bar 1). The automated bouncing module 114 is configured to bounce stems, multi-tracks, and/or mixes 160 in a plurality of formats, such as Stereo, Mono, Surround, Atmos, DTS:X or any other available format. Automatic mono or multichannel detection, per bounce, is provided by the automated bouncing module 114. Also, through the main window of the audio editing system 100, bounce settings can be adjusted for multiple jobs. A unique location can be chosen to bounce each individual job. Job bounce locations are saved within a storage medium 108 (as described further below) as part of a job set file and can be loaded back in by accessing the job set file. The automated bouncing module 114 may apply a plugin delay compensation. In some embodiments, the audio editing system 100 includes a Send Only Mode, where each selected track is automatically set to “No Output,” so the only signal passing to the Main Out is from the sends. This can be set to “all sends combined” or “each send individually.” When set individually, the audio editing system 100 will turn each stem on/off and/or solo each AUX channel. In some embodiments, the audio editing system 100 may include a Link Mode, wherein users are allowed to select tracks and track stacks within the DAW 200, and the audio editing system 100 automatically selects them.
Within the Track List section of the main window, the automated bouncing module 114 allows for the user to collapse and expand multiple items in the track list, as well as select any combination of multiple tracks. The automated bouncing module 114 also provides a “Track Locking” feature. When locked, the automated bouncing module prevents additional tracks or track-stacks from being added to a stem. In addition, “locked” tracks/track-stacks will be bounced by the automated bouncing module 114 in combination with the tracks/track-stacks that are bounced one at a time.
The automated bouncing module 114 includes a naming convention editor, which dictates how bounced files are to be named. The Naming Convention Editor window allows for user preferences and settings to be entered. Through the naming convention editor, the automated bouncing module 114 provides the ability to save and recall custom Naming Token Groups, the ability to choose an arbitrary number for track number sequences, and the ability to choose padding of sequence digits (e.g., “01”, “001”, etc.). Further, the naming convention editor allows naming tokens based on “Marker Name” of where the current bounce range starts. In some embodiments, the naming convention editor provides for a naming token that includes the name of the parent track stack of the selected track.
During the auto-bouncing operations, the automated bouncing module 114 allows the user to pause or cancel bouncing operations. In response to the input module 110 receiving a cancel request, the digital audio editing system 100 returns the DAW 200 back to its original state during the initial scan. The automated bouncing module 114 is configured to alert the user if the metronome is left on and subsequently turn it off automatically. The automated bouncing module 114 monitors the performance of the bouncing operations (e.g., how long the bouncing took, elapsed time, number of tracks bounced) and may record the performance statistics in the storage medium 108. In some embodiments, the automated bouncing module 114 warns the user when the “Normalize” setting is turned “ON” and Stem mode is selected. Moreover, the automated bouncing module 114 automatically detects when the DAW 200 has completed a bounce and either starts the next bounce within the same job or moves on to the next job and starts bouncing again. The automated bouncing module 114 utilizes the bouncing technology of the DAW 200 to perform multiple bounces automatically based on the specified job list and names the resulting stem files, multi-track files, and/or mix files 160 according to the designated custom and dynamic naming conventions.
The audio editing system 100 further includes at least one storage medium 108 for saving the stems, multi-tracks, and/or mixes 160 created from the automated bouncing process conducted by the automated bouncing module 114. As described above, the storage medium 108 may also store job set files (including job bounce locations) and bounce performance statistics. The storage medium 108 is a non-transitory computer readable storage medium, such as (e.g., read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), external cloud storage, server, or any other type of memory). In some embodiments, the stems, multi-tracks, and/or mixes 160 created by the DAW 200 under the control of the automated bouncing module 114 during the auto-bouncing process may be stored in the storage medium 108. In some embodiments, the automated bouncing module 114 may transmit the stems, multi-tracks, and/or mixes 160 to the storage medium 108 via the communications interface module 102. However, in other embodiments, the automated bouncing module 114 may be directly connected to the storage medium 108 so that the stems, multi-tracks, and/or mixes 160 are transmitted thereto without need of the communications interface module 102. The file types of the stems, multi-tracks, and/or mixes 160 recorded in the storage medium 108 may include, but are not limited to, MP3, AIFF, WAV, and M4A. The storage medium 108 may also be configured to save the user inputs and commands received by the input module 110. The user inputs and commands are forwarded by the input module 110 through a direct connection or alternatively by way of the communications interface module 102. In particular, user preferences for bouncing parameters and settings may be saved for future jobs and bouncing operations. In similar respects, the audio project and corresponding tracks 150 received by the scanner 112 from the DAW 200 may be saved in the storage medium 108, either by a direct connection between the scanner 112 and the storage medium 108 or through the communications interface module 102. Other audio data or information received by the audio editing system 100 from the DAW 200 may be saved in the storage medium 108.
After bouncing operations have been run for all jobs in the job list, a distributor 118 of the audio editing system 100 automatically notifies the user when bouncing has been completed. In some embodiments, the distributor 118 sends an email (indicating that the auto-bouncing operations have completed) over a network 130 to one or more destination devices 180 that are monitored, managed, and/or owned by the user. The destination device 180 may comprise a computer, laptop, tablet, smart phone, smart watch, or any other handheld personal device known in the art. In addition to email or alternatively, the distributor 118 may send a push notification and/or text message to the one or more destination devices 180 indicating that auto-bouncing operations have completed. In some embodiments, the distributor 118 of the audio editing system 100 automatically uploads all bounce-job output files (stem files, multi-track files, mix files) to a destination device 180 which is a cloud storage for file sharing with one or more interested parties, such as collaborators, project team members, engineers, clients, friends and family, etc. In addition, the distributor 118 automatically notifies one or more of these interested parties, by sending an email, text message, and/or push notification to their personal electronic devices 180 (e.g., computer, laptop, tablet, smart phone, smart watch, or any other handheld device), wherein the notification indicates the availability of the bounce-job output files and the location information to access the bounce-job output files (e.g., hyperlink). In addition to, or alternative to the cloud storage, the destination device 180 may be a local server associated with the audio editing system 100. Similarly, the distributor 118 automatically uploads all bounce-job output files to the local server and automatically sends notifications, by email, text message, and/or push notification, to the personal electronic devices 180 of one or more interested parties. In other embodiments, the destination platform 180 is a social media server, such as one managed by Twitter, TikTok, Instagram, Facebook, or the like, wherein the distributor 118 automatically posts the stems, multi-tracks, and/or mixes on one or more social media platforms to be heard by the general public or by a designated group of people (e.g., only friends/followers of the user). In some embodiments, the DAW 200 can perform further editing on the stems, multi-tracks, and/or mixes 160 and finalize them before distribution to an engineer, trailer house, music library, and/or client. In this regard, multiple versions of the stems, multi-tracks, and/or mixes 160 before and after editing (by the DAW) may be saved in the storage 208.
Referring back to
Herein below, various aspects of the bouncing automation process are described in detail. As shown in
The automated bouncing module 114 supports bouncing in Stereo, Mono, and Surround. In some embodiments, the automated bouncing module 114 is configured to provide support for one of these sound types during a given auto-bouncing operation. That is, the automated bouncing module 114 is unable to switch between the three sound types. Accordingly, the Master Out Fader of the DAW 200 (track that allows the user to control the overall signal level that is being output by the DAW) must first be set, via the input device 206 and the DAW user interface, to the desired sound type before running the auto-bouncing operations of the audio editing system 100. For example, preferably for most users, the DAW 200 is arranged to have Stereo Master Out Fader as default. In other embodiments, the automated bouncing module 114 may have the capacity to switch between Stereo sound, Mono sound, and Surround sound. For example, the controller 104 of the audio editing system 100 may send a command signal 152 to the DAW to adjust the sound type of the Master Out Fader between consecutive jobs or consecutive auto-bouncing operations, based on pre-determined or previously entered user input. Accordingly, with each adjustment to the sound type of the Master Out Fader, the audio editing system 100 sends a scan signal 154 in which the scanner 112 scans the song/audio project currently loaded in the DAW 200 with the adjusted sound type.
The audio editing system 100 (Auto-Bounce) is designed for use after a song/audio project 150 has been finished on the DAW 200. Once the song/audio project 150 has been finished, the scanner 112 of the audio editing system 100 is initiated to scan the song/audio project 150 and obtain all of the tracks associated with the project and any corresponding track data. Thereafter, the automated bouncing module 114 controls the DAW 200 via bounce commands 158 to perform bouncing operations for each requested job in a single run, thereby automatically creating multiple stems, multi-tracks, and/or mixes. In some embodiments, before launching or opening the audio editing system 100, tracks and stacks (of the song/audio project) must be named ahead of time to identify them in the Auto-Bounce track list area. If the user were to change the track list in any way (e.g., rename a track, add a track, remove a track) after launching the audio editing system 100, it may be terminated and re-launched to re-scan the song/audio project. This will erase all previously entered or uploaded jobs and bounce settings.
The audio editing system 100 (Auto-Bounce) may require accessibility permission in order to interact with the DAW 200. Upon connecting the audio editing system 100, the DAW 200 may prompt the user to grant such permission. Alternatively, the user can manually grant permission by opening the system preference settings (e.g., security and privacy, accessibility) of the machine (e.g., computer) embodying the DAW 200, and adjusting the permissions to allow the audio editing system 100 to control the DAW 200, as shown in
In addition, the DAW 200 may need to be configured to properly function with the audio editing system 100. For example, where the DAW 200 is Logic Pro, the audio editing system 100 requires that the On/Off, MUTE, and SOLO buttons are enabled and that Volume and Pan are disabled in track header components of the DAW 200, as shown in
Before the scanner 112 of the audio editing system 100 performs the initial scan of the song/audio project, the DAW 200 may need to be configured so that plugin names of the mixer channels (e.g., “Console,” “Chan EQ,” “Multipr,” “DeEss2,” “Comp,” “Tube EQ,” “AdLimit”) are visible, as shown in
After a successful scan, auto-bounce preferences, settings and parameters can be accessed through the audio editing system 100. More specifically, once the scan is completed, the scan window shown in
The audio editing system 100, and for example the controller 104 and/or the automated bouncing module 114, includes a naming convention editor, as shown in
The Output Filename Format field allows users to type directly into it or drag in any of the dynamic naming blocks. Each time users type something and press Return, a new naming block is created. These blocks can be rearranged in any order according to user preference. They can be copied from Job to Job with a standard copy-and-paste. Additionally, users can choose what kind of separators (e.g., Underscore, Dash, Space, or None) they want in between each naming box. After pressing the OK button, users will immediately see a preview of what the file names will look like in the Preview area, as shown in
The audio editing system 100, and for example the controller 104 and/or the automated bouncing module 114, includes a Preferences module which may be displayed as shown in
All of the above described aspects and features of the audio editing system 100 can be engaged/disengaged, selected/unselected, enabled/disabled, and/or adjusted via the input device 106 and input module 110.
A method of performing automated bouncing with the audio editing system 100 is now described. The method includes the steps of preparing a project session in the DAW 200 (e.g., Logic Pro session) and organizing tracks into Folder Stacks. The step of organizing may include a step of naming the Folder Stacks according to user preference for naming the stems (which will be created by the bouncing operations). Alternatively, individual tracks can be bounced individually and thus the organizing step may be omitted.
Then, the audio editing system 100 (Auto-Bounce) is turned on, opened, or launched. The method includes the steps of scanning the song/audio project via the audio editing system 100 and more specifically the scanner 112, and then creating jobs for the bouncing operations. For example, a set of multiple jobs comprising a Full Mix, an Unmastered Mix, and a set of Wet and Dry Stems may be created.
Thereafter, the method includes selecting the tracks (listed in the main interface of the audio editing system 100, see
Once one or more tracks are chosen or assigned to each job and the bouncing parameters are set, the bouncing operations are initiated, for example by engaging a “START” or “BOUNCE” button (
Afterwards, all the stems and mixes that have been automatically bounced are saved in a bounce folder in the storage medium 108 of the audio editing system 100.
As mentioned above, there are two modes for bouncing: Stem Mode and Mix Mode. A more detailed description of steps for bouncing Stems and Mixes is provided in two sections below; however, both modes can be utilized at once in auto-bouncing operations for a series of jobs. This particular aspect of the present teachings constitutes one advantage of running multiple jobs in a single pass and thus saving users time.
Bouncing STEMS in “Static Mode” (same start/end point for all stems). Referring to
Open or launch the audio editing system 100 (Auto-Bounce) and run the initial scan. The text “New Job” then appears in the Job List window. If users have already done this and want to create a second job, press the New Job button (+) or Copy Button and make sure the Bounce Type is set to “Stems.” This step is important as Auto-Bounce will run ALL Jobs in the job list. It is the most time efficient to create all the jobs that a user wants to bounce simultaneously. As one example, creating a single job in STEM mode is described.
Verify that the Start and End points are positioned according to user preferences for where stems are to start and end. If not positioned properly to user preferences, set the cycle range in the DAW 200 (e.g., Logic Pro) and initiate “Scan Cycle Range” in the audio editing system 100 (Auto-Bounce).
Rename the Job in the Job list (within the audio editing system 100) by double-clicking on the current name and typing what the user wants. In Stem Mode, the Job name will become the name of the folder that the Stems are exported into for that job. This is different in Mix mode, in which, by default, the Job name becomes the name of the Mix file.
Select the tracks and/or track stacks to be bounced. In Stem Mode, each visible checked item will be bounced as an individual stem. This allows users to quickly and easily choose an entire track list, and each checked item (track or track stack) will be exported individually.
Optional: Customize the naming convention of the stem by pressing the “Edit” button (in the Naming Convention Editor, as previously described).
Optional: Check bounce parameters are set to user preferences. Since Auto-Bounce will use current bounce parameters in Logic Pro's Bounce window, the bounce parameters should be set according to user preferences in Logic Pro first before using Auto-Bounce, as this will save time.
Press the “START” or “BOUNCE” button in Auto-Bounce to begin the bouncing operations, wherein Auto-Bounce will automatically run all jobs in the job list. When finished, the bounced files are stored in the bounce folder. Further, more jobs can be run in Auto-Bounce. When the automated bouncing operations have completed, a notification is produced; that is, the audio editing system 100 may display an “All Bounce Jobs Finished” window and provide an audible alert sound (
Bouncing STEMS in “Variable End Mode” (same start, different endpoint for each stem). Referring to
Bouncing STEMS in “Variable Start & End Mode” (Different start and endpoint for each stem). Referring to
Both “Vari-Modes” will only look at the regions inside the Start & End Range of the current job. This is intentional and gives users more flexibility. If it is desired to bounce an entire Logic Pro Project in Vari-Mode, verify that the Start-End Range includes all the regions in the project.
Bouncing Mixes. For bouncing mixes, the method includes the following steps:
Open or launch the audio editing system 100 (Auto-Bounce) and run the initial scan. The text “New Job” then appears in the Job List window. If users have already done this and want to create a second job, press the New Job button (+) or Copy Button and make sure the Bounce Type is set to “Mix”. This step is important as Auto-Bounce will run ALL Jobs in the job list. It is the most time efficient to create all the jobs that a user wants to bounce at the same time. As one example, creating a single job in MIX mode is described. If a previous job already exists, users can rename and reconfigure it to run a Mix or delete previous jobs and make a new one.
Verify that the Start and End points are positioned according to user preferences for where stems are to start and end. If not positioned properly to user preferences, set the cycle range in the DAW 200 (e.g., Logic Pro) and initiate “Scan Cycle Range” in Auto-Bounce.
Name the Job in the Job list (within the audio editing system 100). In Mix Mode, the Job name will be the name of the Mix file. For example, if there is a need to run multiple mixes with different sample rates, users can create multiple mix jobs, each with a different sample rate, and use Auto-Bounce to automatically add the sample rate to the mix name using the “Sample Rate” dynamic naming block.
Select the tracks and/or track stacks to be bounced. In Mix Mode, all visible checked items will be included in the mix. By default, all tracks and track stacks are selected in Mix Mode. This is the equivalent of running a full mix.
Optional: Customize the naming convention of the mix by pressing the “Edit” button (in the Naming Convention Editor, as previously described). For example, the Auto-Bounce may be configured so that the date is automatically appended to the mix name.
Optional: Check bounce parameters are set to user preferences. Since Auto-Bounce will use current bounce parameters in Logic Pro's Bounce window, the bounce parameters should be set according to user preferences in Logic Pro first before using Auto-Bounce, as this will save time.
Press the “START” or “BOUNCE” button in Auto-Bounce to begin the bouncing operations, wherein Auto-Bounce will automatically run all jobs in the job list. When finished, the bounced files are stored in the bounce folder. Further, more jobs can be run in Auto-Bounce. When the automated bouncing operations have completed, a notification is produced; that is, the audio editing system 100 may display an “All Bounce Jobs Finished” window and provide an audible alert sound (
Referring to
The DAW 400 includes a link manager 460, such as a plugin manager, which provides hooks or APIs 350 that the companion application 300 must use to interact with the audio production and editing program 404. The link interface 350 (e.g., plugin interface) registers the companion application 300 with the audio production and editing program 404 and acts as a bridge between the audio production and editing program 404 and the companion application 300. The link interface defines methods, properties, and/or events that the companion application 300 must implement to ensure proper communication between the companion application 300 and the audio production and editing program 404.
The companion application 300 comprises an input module 410, a scanner 412, and automated bouncing module 414, which together provide automatic bouncing of complete sets of stems with minimal user instruction, involvement, and interaction, as described above with respect to
The scanner 312 is configured to scan the song/audio project currently loaded in the main application 404 so as to retrieve the tracks that make up the song/audio project, as well as to obtain information related to the tracks, collectively designated by reference number 150 in
In addition to conducting the initial checks, the scanner 312 identifies which tracks are hidden in the audio production and editing program 404 and makes all hidden tracks visible. The scanner 312 also identifies which tracks are set to “Off.” Any “Track Stacks” that are collapsed are expanded by the scanner 312, which then imports the names and numbers of all tracks and track stacks from the audio production and editing program 404. The scanner 312 notes whether a track stack is collapsed or expanded in the audio production and editing program 404. Thereafter, the scanner 312 opens the Mixer Panel of the audio production and editing program 404, reads in the names of all AUX Channels, reads in the names of all Master Output Fader Insert FX, and identifies which AUX channels are currently muted in the DAW 400. Further, the scanner 312 opens the bounce window of the audio production and editing program 404, records all bounce parameters from the audio production and editing program 404, and identifies the current cycle range.
After the scan and checks performed by the scanner 312 are completed, the automated bouncing module 314 controls the audio production and editing program 404 by sending bounce commands 158 to bounce multiple jobs (mixes and/or sets of stems 160) with different cycle ranges, bounce parameters, etc. in a single run. The automated bouncing module 314 may include the capacity to automatically bounce wet and dry stems and/or mixes sequentially in a single pass without interruption. Further, the automated bouncing module 314 may be configured to bounce stems and mixes with or without various Master Out insert effects (gating, compressing, equalizing, reverb effects, etc.) applied at the Master Out bus. The automated bouncing module 314 creates custom and dynamic naming conventions for each stem and/or mix that is created during the bouncing process, as described above with respect to
The DAW 400 further includes at least one storage medium 408 for saving the stems, multi-tracks, and/or mixes 160 created from the automated bouncing process conducted by the automated bouncing module 314. The storage medium 408 may also store job set files (including job bounce locations) and bounce performance statistics. The storage medium 408 is a non-transitory computer readable storage medium. In some embodiments, the stems, multi-tracks, and/or mixes 160 created by the audio production and editing program 404 under the control of the automated bouncing module 314 during the auto-bouncing process may be stored in the storage medium 408. In particular, the automated bouncing module 314 may transmit the stems, multi-tracks, and/or mixes to the storage medium 408. Alternatively, the stems, multi-tracks, and/or mixes may be saved in the storage medium directly from the audio production and editing program 404. The storage medium 408 may also be configured to save the user inputs and commands received by the input module 310 The storage medium 408 is a non-transitory computer readable storage medium, such as (e.g., read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), external cloud storage, server, or any other type of memory). The storage medium 408 is also used by the audio production and editing program 404 to save song/audio project files and data (e.g., Logic Pro project).
In some embodiments, the companion application 300 (Auto-Bounce) requires that both the audio production and editing program 404 (e.g., Logic Pro) and Auto-Bounce are always visible. This means that other applications should not be running concurrently while Auto-Bounce and Logic Pro are running.
The present teachings also provide for a computer program product comprising a non-transitory computer readable storage medium and a computer program stored thereon, wherein the computer program includes program code for processing audio data, as well as the scanner 312 and the automated bouncing module 314 built into the program code. When the program code with the scanner 312 and automated bouncing module 314 is executed by a processor of a digital audio workstation, the program code causes the digital audio workstation to perform automated bouncing of a plurality of jobs consecutively in a single run without need for user input in between each job. Each job specifies bouncing at least one stem, multi-track, and/or mix from multiple tracks of an audio project. In some embodiments, at least a portion of the jobs specify different cycle ranges. In some embodiments, at least a portion of the jobs specify different bounce parameters.
While the present teachings have been described above in terms of specific embodiments, it is to be understood that they are not limited to those disclosed embodiments. Many modifications and other embodiments will come to mind to those skilled in the art to which this pertains, and which are intended to be and are covered by both this disclosure and the appended claims. For example, in some instances, one or more features disclosed in connection with one embodiment can be used alone or in combination with one or more features of one or more other embodiments. It is intended that the scope of the present teachings should be determined by proper interpretation and construction of any claims and their legal equivalents, as understood by those of skill in the art relying upon the disclosure in this specification and the attached drawings.
Number | Date | Country | |
---|---|---|---|
63386998 | Dec 2022 | US |