RELATED APPLICATIONS 
     This application is related to and claims the benefit of U.S. Provisional Patent Application Ser. No. 61/507,282 entitled Dynamic Audio File Generation System and Associated Methods filed Jul. 13, 2011, the entire contents of which are incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to sound file generation systems and, in particular, to a sound file generation system and method for applying rules to one or more audio tracks to dynamically generate a sound file with desired attributes. 
     BACKGROUND OF THE INVENTION 
     Audio files are a common product in today&#39;s market. Since the advent of methods to capture audio media, users have become enthralled with the idea of changing those files to make them sound better, louder, more realistic, or even distorted. This interest has resulted in the creation of systems for audio file mixing and layering. 
     Audio file mixing and layering devices are frequently used in the music media industry for purposes of creating a finished audio file product. Furthermore, audio files generated from the aforementioned mixing and layering devices may be incorporated or integrated into various additional audio-visual applications, such as film, television, video games, advertising, and additional works that may use audio mixing and layering devices. The automation of this process has become popular and useful for enhancing sound file generation efficiency. A consumer need for more original, customized content has continued to drive the development of additional devices that accomplish the task of audio file generation. 
     U.S. Published Patent Application No. 2010/0145794 to Barger et al. discloses an on-demand media processing engine for delivering files to a user terminal. It allows a user to select media content to be downloaded to a user terminal. The engine then selects a piece of advertisement media for the user to consume as ell. The Barger &#39;794 device then delivers the file to the end user. 
     While the Barger et al. &#39;794 application delivers composite media, there is no mixing or layering. The invention of the Barger et al. &#39;794 application simply splices requested preexisting media to a piece of advertisement media for end user consumption. The Barger et al. &#39;794 application provides no customized composite content. 
     U.S. Pat. No. 7,734,364 to Wesemann et al. discloses creation of a single composite media file from multiple preexisting files for use as an exercise routine. The invention of the &#39;364 Wesemann et al. patent allows a trainer or expert to select files that would create an ideal workout routine and mix them together in order to create a product for an end user. 
     According to the Wesemann et al. &#39;364 patent, the composite file is customized. Criteria for customization, however, is neither chosen by the end user nor customizable on-demand. The Wesemann et al. &#39;364 patent still leaves a need for content that can be customized on-demand by and for an end user. 
     U.S. Pat. No. 7,869,892 to Foust et al. discloses a system that allows editing of media files into a single layered file. A user may call up any number files to be layered together, which are then still moveable and editable until rendering. On rendering, the multiple files become a single layered file, and individual layer editing is locked. 
     While the Foust et al. &#39;892 patent does allow editing, it does not allow for true automation of the editing. The invention of the Foust et al. &#39;892 patent merely describes an editing platform, rather than an automated editor. Content may be customized, but with a considerable amount of work on the part of the user. Further, the Foust et al. &#39;892 patent does not allow for automatic drawing of source files from a preexisting set. 
     U.S. Published Patent Application No. 2010/0211199 to Naik et al. discloses playing back primary and secondary media files. Essentially, a user may call two files, which may be played back simultaneously. The invention of the &#39;199 Naik et al. application can then fade, cross fade, or duck either of the two files as the user wishes. 
     While the &#39;199 Naik et al. application, discusses fading, cross fading, and ducking of the two files, it does not provide for complex mixing and editing. Further, the two files may not be merged into a single media output file. Generally speaking, the Naik et al. &#39;199 application simply provide playback of multiple media sources without the ability to dynamically create custom, on-demand content. 
     There exists a need for a product that provides the ability to automatically create original, on-demand custom media file content by mixing and layering multiple media file sources from a source library to create a single composite file for delivery to a user terminal. 
     SUMMARY OF THE INVENTION 
     In view of the foregoing, it is therefore an object of the present invention to provide a sound file generation system for applying rules to dynamically generating audio files that does not suffer from the drawbacks of known solutions. The system of the present invention advantageously automatically creates original, on-demand custom media file content by mixing and layering multiple media file sources from a source library to create a single composite file for delivery to a client device. 
     The audio file generation system of the present invention may include a controller that may communicate with a database server. The database server may include one or more local databases to be accessed and analyzed by the controller. The database server may additionally access a remote database. The databases may include a tracks database, parameters database, rules database, digital signal processing (DSP) effects database, output files database, user database, and additional databases. 
     A rules engine may apply rules to parameters that define the tracks, resulting in the application of one or more control DSP modules to manipulate the tracks. The tracks may then be combined by a combiner into an output audio file. The output file may be transmitted to a user, stored in an output file database, or hosted by a web server. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of the audio file generation system of the present invention. 
         FIG. 2  is an additional block diagram of the audio file generation system of  FIG. 1 . 
         FIG. 3  is a block diagram illustrating the databases included in the audio file generation system according to an embodiment of the present invention. 
         FIG. 4  is a block diagram illustrating the databases included in the audio file generation system as they relate to the operation of the same. 
         FIG. 5  is a flow chart illustrating the general operation of the audio file generation system according to an embodiment of the present invention. 
         FIG. 6  is a flow chart illustrating the operation of the rules engine included in the audio file generation system, according to an embodiment of the present invention. 
         FIG. 7  is a flow chart illustrating the operation of the combiner included in the audio file generation system, according to an embodiment of the present invention. 
         FIG. 8  is an illustration of a user interface, according to an embodiment audio file generation system of the present invention. 
         FIG. 9  is an illustration of a user interface, according to an embodiment audio file generation system of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Those of ordinary skill in the art realize that the following descriptions of the embodiments of the present invention are illustrative and are not intended to be limiting in any way. Other embodiments of the present invention will readily suggest themselves to such skilled persons having the benefit of this disclosure. Like numbers refer to like elements throughout. 
     In this detailed description of the present invention, a person skilled in the art should note that directional terms, such as “above,” “below,” “upper,” “lower,” and other like terms are used for the convenience of the reader in reference to the drawings. Also, a person skilled in the art should notice this description may contain other terminology to convey position, orientation, and direction without departing from the principles of the present invention. 
     Referring now to  FIGS. 1-9 , a dynamic audio file generation system  10  according to the present invention is now described in greater detail. Throughout this disclosure, the dynamic audio file generation system  10  may also be referred to as an audio file generation system  10 , a system, or the invention. Alternate references of the audio file generation system  10  in this disclosure are not meant to be limiting in any way. 
     In the following disclosure, various elements may be described to manipulate and analyze data stored within one or more databases. As would be appreciated by a person of skill in the art, these elements may be operated on a computerized system. Additionally, the various illustrative program modules and steps disclosed herein may be implemented via electronic hardware, computer software, or combinations of both. The various illustrative program modules and steps have been described generally in terms of their functionality. Whether the functionality is implemented as hardware or software depends in part upon the hardware constraints imposed on the system. Hardware and software may be interchangeable depending on such constraints. 
     Provided as a non-limiting example, the various illustrative program modules and steps, described in connection with the embodiments disclosed herein, may be implemented or performed via a computerized device. Such computerized devices may include, but should not be limited to, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), other programmable logic device, discrete gate logic, transistor gate logic, discrete hardware components, conventional programmable software module and a processor, or any combination thereof that may be designed to perform the functions described herein. 
     The computing device may include a processor. The processor may be a microprocessor, CPU  32 , controller  30 , microcontroller  30 , programmable logic device, array of logic elements, or state machine. The software module may reside in random access memory  34  (RAM), flash memory  34 , read only memory  34  (ROM), erasable program able read only memory  34  (EPROM), electrical erasable programmable read only memory  34  (EEPROM), hard disk, removable disk, CD, DVD or any other form of storage medium known in the art. As will be appreciated by skilled artisans, a processor may be operatively connected to a storage medium to read and write information to and from the storage medium, respectively. Alternately, the storage medium may be integrated into the processor. 
     Those skilled in the art will appreciate that the foregoing methods may be implemented by executing a program located within a computer readable medium. The medium may include, for example, RAM accessible by or residing within the device. The program modules may additionally be stored on a variety of machine readable data storage media. Such media may include a hard drive, magnetic tape, electronic read-only memory  34  (ROM or EEPROM), flash memory  34 , an optical storage device (CD, DVD, digital optical tape), or other suitable data storage media. 
     Referring now to  FIG. 1 , the audio file generation system  10  of the present invention will now be discussed. The audio file generation system  10  of the present invention may include a controller  30  that may communicate with a database server  20 . The database server  20  may include one or more local databases  22  to be accessed and analyzed by the controller  30 . The database server  20  and/or the controller  30  may additionally access remote databases  24 . The databases  22 ,  24  may include a tracks database  21 , parameters database  23 , rules database  25 , digital signal processing (DSP) effects database  26 , output files database  28 , user database  29 , and additional databases, as further illustrated in  FIG. 3 . 
     Referring additionally to  FIG. 2 , a rules engine  50  may apply rules to parameters that define the tracks  42 , resulting in the application of one or more control DSP module  60  to manipulate the tracks  42 . The tracks  42  may then be combined by a combiner into an output audio file. 
     Referring back to  FIG. 1 , the controller  30  used to access and analyze data, in accordance to an embodiment of the present invention, will now be discussed in greater detail. A controller  30  may be included as a local component of the audio file generation system  10 . The controller  30  may include a central processing unit (CPU)  32 , memory  34 , and an input/output (I/O) interface  36 . The CPU  32  may be configured to receive a data signal from additional components of the audio file generation system  10 , such as the database server  20  and/or the network  90  interface. 
     The CPU  32  may compute and perform calculations to the data received by the additional components. As a non-limiting example, the CPU  32  may receive data relating to parameters for a track  42  or rules from the database server  20 . A rules engine  50  may then be operated on a CPU  32  to analyze the data and determine whether the parameters are in compliance with the rules. After the CPU  32  determines the state of compliance of the parameters with the rules, the CPU  32  may call one or more control DSP module  60  to apply a DSP effect  62  to the track  42 . 
     The controller  30  may also include memory  34 . The memory  34  may include volatile and non-volatile memory  34  modules. Volatile memory  34  modules may include random access memory  34 , which may temporarily store data and code being accessed by the CPU  32 . The non-volatile memory  34  may include flash based memory  34 , which may store the computerized program that may be operated on the CPU  32  and audio data that may be included within the tracks  42  stored within the database server  20  and/or accessible via the network  90  interface. 
     Additionally, the memory  34  may include the computerized code used by the CPU  32  to control the operation of the audio file generation system  10 . The memory  34  may also store feedback information related to the operation of additional components included in the audio file generation system  10 . In an embodiment of the present invention, the memory  34  may include an operating system, which may additionally include applications that may be run from within the operating system, which will be appreciated by a person of skill in the art. 
     The controller  30  may also include an I/O interface  36 . The I/O interface  36  may control the receipt and transmission of data between the controller  30  and additional components. Provided as a non-limiting example, the I/O interface  36  may receive a data communication signal from a user, which may further include instructions on how apply the rules with respect to the parameters of the tracks  42 . After the CPU  32  has analyzed the parameters of the tracks  42 , the I/O interface  36  may transmit a signal to control DSP module  60  to apply the desired DSP effect  62  defined therein. 
     Referring now additionally to  FIGS. 2 and 3 , the database server  20  included in audio file generation system  10  of the present invention will now be discussed in greater detail. The database server  20  may manage and analyze the data included within the databases. A person of skill in the art will appreciate that the term “databases,” as used herein, is intended to include local databases  22 , remote databases  24 , and any other databases that may be used with the audio file generation system  10  of the present invention. Therefore, skilled artisans should not read any limitation into the general use of the term, “databases,” within the present disclosure. 
     The databases may include data used by the audio file generation system  10  of the present invention to analyze parameters included in the tracks  42  for compliance with the rules included in a rules engine  50  and apply the DSP effect  62  included within a corresponding control DSP module  60 . The data included in the databases may be stored in databases such as, for example and without limitation, tracks  42 , sound files, rules, control DSP modules  60 , parameters, and users. A person of skill in the art will appreciate the inclusion of additional data in the databases which may be used to analyze, manage, and store information related to operation of the audio file generation system  10  of the present invention. 
     The data included in a track  42  will be understood by a person of skill in the art to include one or more electronic representations of an audio signal. The tracks  42  may include one or more channels  46  of audio data, such as, for example, monaural, stereo, or multichannel  46  audio data. The tracks  42  may further include parameters to define the contents of the audio data included therein. The parameters may be stored within the tracks  42  as, for example, metadata. Alternately, the parameters may be stored in a separate file or dataset, which may be associated with one or more tracks  42 . In an embodiment wherein the parameters are stored separately from the audio data of a track  42 , the files or datasets including the parameters may be located in a parameters database  23 . A person of skill in the art will appreciate the location and storage of parameters in a plethora of additional database types included within the scope and spirit of the present invention. 
     The database server  20  may additionally include a rules database  25 . The rules database  25  may include a set of conditions or logic operations that may be applied to the tracks  42  and/or parameters. More specifically, the parameters may be analyzed according to one or more rules for compliance. Upon a determination of compliance with the rules, a rules engine  50  may determine one or more control DSP modules  60  that may apply one or more DSP effect  62  to modify the audio data included within a track  42 . The control DSP modules  60  will be discussed in greater detail below. 
     The database server  20  may additionally include a DSP effects database  26 . The DSP effects database  26  may include control DSP modules  60 , which may include DSP effects that may be applied to tracks  42  to modify the included audio data. DSP effects  62  that may be called by a control DSP module  60  to modify a track may include, but should not be limited to, delaying commencement of playback of a track  42 , applying echo effects applied to a track  42 , time specific activation or deactivation of a track  42 , inclusion of a specific track  42  based on a set of desired parameters, and an abundance of additional effects that would be appreciated by a skilled artisan. 
     Additionally, the rules included in a rules database  25  may be applied to additional data included in other databases. For example, the audio file generation system  10  of the present invention may offer its audio file generation services to clients as a tiered subscription service, with each tier offering a different level of access to the control DSP modules  60  included in the respective databases. The audio file generation system  10  may apply a rule to a user profile, stored within a user database  29 , to determine which control DSP modules  60  a user may access according to her subscription tier. The rules engine  50  may then determine to limit or provide access to the corresponding control DSP module  60 . The user database  29  will be discussed in more detail below. 
     As previously mentioned, the database server  20  may additionally include a user database  29 , which may additionally include user data related to a user. User data may be any data that could be used to define a user or the privileges of a user. Examples of user data may include name, address, finance information, usage permissions, pointers or links to personal tracks  42 , history data, or subscription tier. A person of skill in the art will appreciate the inclusion of additional user data, which may define virtually any other informational data that may be associated with a user, to be included within the scope and spirit of the present invention. 
     The database server  20  or remote databases  24  may additionally include a geo-location database, which may store location data associated with a user. The location data may be gathered, for example, by a GPS locator, user entered information, the IP address of the user&#39;s computer or client device  38 , or other location sensing operations that would be appreciated by a skilled artisan. The location data associated with a user may be used to customize an interface for the user. For example, the audio file generation system  10  may determine that the user is located within the United States and set the default language to English. Additionally, the audio file generation system  10  may determine that the user is located in California, correspondingly setting all time calculations to occur relative to the Pacific time zone. A person of skill in the art will appreciate additional customizations that may be included in the present invention based on location data included in a geo-location database. 
     The database server  20  may additionally include an output file database  28  to store and distribute output files  80  generated during operation of the audio file generation system  10  of the present invention. For example, after the audio file generation system  10  generates an output file  80 , it may include the output files  80  in the output file database  28 . The included output file  80  may then be downloaded, streamed, or otherwise accessed by a user. 
     Additionally, a plurality of output files  80  may be included in the output file database  28 . One or more output files  80  may be associated to a user as a library, such that the user may access his or her library upon demand. A person of skill in the art will appreciate embodiment wherein an output file  80  may be associated to one or more users. Additionally, a skilled artisan will appreciate that user access to one or more output files  80  included within an output file database  28  may be controlled and managed dependent of compliance with rules. 
     The audio file generation system  10  may include a client device  38 , through which a user may access and control the audio file generation system  10  of the present invention. Such access may be performed via a user interface, which will be described in more detail below. Alternately, the controller  30  and/or database server  20  of the audio file generation system  10  may be communicatively connected to one or more client devices  38  by way of a network  90 , such as the Internet, such that the client device is positioned in communication with the controller. For clarity in the following disclosure, references to client devices  38  will be made with respect to a single client device  38 . A person of skill in the art will appreciate, however, that a plurality of client devices  38  may be connected to an audio file generation system  10  within the scope of the present invention. Therefore, skilled artisans should not view the following disclosure as limiting the audio file generation system  10  of the present invention to include only one client device  38 . 
     The audio file generation system  10  of the present invention may be accessed by a user via a user interface, which will now be discussed in greater detail. The user interface may be accessed and interacted by a user. Through the interface, a user ray manipulate and generate audio output files  80  via the audio file generation system  10  of the present invention. More specifically, the user interface may allow a user to access and interact with tracks  42  and other data included in the databases of the database server  20 . Skilled artisans will appreciate that the user interface may include a web interface, which may be accessed via a network  90 . 
     The user interface may additionally include, for example and without limitation, menus, fields, and additional user controls. Additionally, the user interface may be comprised of components generated from web form code and user control code. A person of skill in the art will appreciate that the user interface may be comprised of number of interactive and static elements, through which a user may access and/or manipulate data to use the audio file generation system  10  of the present invention. 
     Provided for illustrative purposes in the interest of clarity, and without limitation, the menus will now be discussed. Menus may allow the user to customize the tracks  42  to generate a desired audio file. Menus may also allow a user to select one or more rule that he may desire be applied to the tracks  42 , resulting in the customized, dynamic generation of the output audio file. Fields may be defined as location wherein a user may enter data. More specifically, a user may enter data relating to parameters, rules, sound files locations, track  42  locations, a desired storage destination for an output file  80 , or any number of additional data that may affect the manipulation and storage of data within the databases. A person of skill in the art will appreciate additional user controls that may be interacted by a user to access, manipulate, and combine audio data included in tracks  42  to be included in the audio file generation system  10  of the present invention. 
     The tracks  42 , which may be included within a tracks database  21  of the audio file generation system  10  of the present invention, will now be described in greater detail. As previously mentioned, the tracks  42  may include audio data to define a sound wave. The audio data included within the tracks  42  may be stored digitally in a database, such as, for example, the tracks  42  database  21  included in the database server  20 . 
     Each track  42  may be stored separately in the database server  20 , for example, wherein each track  42  is stored as a separate file. Alternately, one or more tracks  42  may be included in a single file and stored within a database. The beginning and ending of each track  42  may be defined by place markers, bookmarks, or other identifying data which may be included within parameters. A skilled artisan will appreciate that data defining the beginning and ending of each track  42  may be included in locations and datasets other than the parameters, and are intended to be included within the scope and spirit of the present invention. Furthermore, a person of skill in the art will appreciate that, as one or more tracks  42  may be included in a single audio file, a single track  42  may be included within or span across one or more audio files. 
     Tracks  42  may include one or more channel  46 , which may be defined as a stream of audio information. Optimally, each audio channel  46  may be designated to play through a speaker. However, a person of skill in the art will appreciate that any number of channels  46  may be played on any number of speakers. For example, a monaural track  42  may include only one audio channel  46  and be designated to play through one speaker. Alternately, the monaural track  42  may be played through a stereo receiver, wherein the audio information included in the monaural tracks  42  is duplicated to be played on each speaker driven by the stereo receiver. 
     Similarly, the tracks  42  may include one or more segment  44 , which may be defined as at least a part of a stream of audio information. A segment  44  may include one or more channels  46 . For example, a track  42  may include only one segment  44  that may occupy the entire length of the track  42 . In another example, a plurality of segments  44  may be combined and/or concatenated to collectively form a track  42 . DSP effects  62  included within a control DSP module  60  may be applied to individual segments  44  of a track  42 , such as, for example, time shifting. 
     Each audio channel  46  of a track  42  may be manipulated and controlled independent of or in conjunction with the other channels  46  of a track  42 . Similarly, each track  42  may be manipulated and controlled independent of, or in conjunction with, the other tracks  42  that may form the output audio file. A master track  40  may be defined as a logical element in which all tracks  42  may be included. All tracks  42  intended to be included in the output file  80  may be manipulated and controlled together by manipulating and controlling the master track  40 . However, although all included tracks  42  may be manipulated through the master track  40  as one logical track  42 , each track  42  may also continue to be manipulated individually. It is not until after the tracks  42  have been merged by the combiner  70  that the tracks  42  may become one track  42  included in an audio output file  80 . 
     The audio file generation system  10  of the present invention may additionally include one or more control DSP module  60 , which will now be discussed in greater detail. The control DSP module  60  may perform DSP effects  62  to a digital audio signal. Through DSP effects  62 , the control DSP module  60  may alter or manipulate a digital audio signal, creating and outputting a modified iteration of the received digital audio signal. As will be discussed below, a digital audio signal may be generated from an analog signal. 
     As will be understood by a person of skill in the art, sound is generally emitted from a source and received by an auditory receiver, such as an ear, as an analog signal. The following non-limiting example is present to illustrate a conversion between analog and digital signals. Through signal conversion, the process of which will be understood by a skilled artisan, the analog signal may be converted to a digital signal. A digital signal may then be analyzed, processed, and manipulated with greater ease than the corresponding analog signal. The potentially modified digital signal may then be converted back into an analog signal, which may then be received by the auditory receiver. 
     The control DSP module  60  may include a DSP effect  62 , or a sound alteration operation, which may modify or manipulate an audio signal included within the track  42  prior to being outputted by the audio file generation system  10  of the present invention. Some illustrative DSP effects  62 , which may be performed by the control DSP module  60  may include time shifting, equalization, filtering, nose cancellation, echo, reverb, removal, addition, modulation, panning, relative volume, absolute volume, beat matching, or any other alteration that may modify the digital audio signal included within a track  42  or audio file. 
     For illustrative purposes, the time shifting DSP effect  62 , which may be performed by a control DSP module  60 , will now be described in greater detail. Time shifting may occur when at least a portion of an audio signal is replayed at a time other than a time that was originally defined. For example, without limitation, the rules engine  50  may determine that a three second segment  44  is missing from a track  42 . The rules engine  50  may then call a time shifting DSP effect  62 , which may time shift a subsequent segment  44  of the track  42  to play three seconds prior to its original replay designation. The time shifting DSP effect  62  of a corresponding control DSP module  60  may thus advantageously create smooth and uninterrupted playback despite the absence of one or more segments  44 . 
     Provided as an example of another control DSP module  60 , an addition will now be described in greater detail. An addition may occur when a track  42  is additionally included with other tracks  42  to collectively form the output audio file. For example, without limitation, the rules engine  50  may determine that the date is within the month of December. The rules engine  50  may then call a control DSP module  60  to add a track  42  that includes sleigh bells. The audio signal with sleigh bells included in the track  42  may then be included in the output file  80 , which may be generated by a merging operation performed by the combiner  70 . In this example, a second control DSP module  60  may include a DSP effect  62  to perform a beat matching operation on the sleigh bells track  42 . The beat matching DSP effect  62  may align the rhythm of the sleigh bells with the rhythm of the preexisting tracks  42 . The performance of a beat matching DSP  62  may advantageously create an acoustically appealing output sound file  80 . 
     The control DSP module  60  may process digital audio data as it may be included in a logical master track  42 , a track  42 , one or more segments  44 , or one or more channels  46  included within a track  42 . It will be understood by a skilled artisan that one or more control DSP modules  60  may be applied to different levels of the audio source data. For example, without limitation, the rules engine  50  may call a first control DSP module  60  to apply an effect to the right channel  46  of an audio track  42 , perhaps equalizing the volume of the right channel  46  included within the track  42  to match a left channel  46 . A second control DSP module  60  may be applied to time shift a segment  44  of the track  42 , wherein all included channels  46  are time shifted approximately equally. A third control DSP module  60  may be called by the rules engine  50  to add a sleigh bells track  42  to be included in the combined output file  80 . Finally, a fourth control DSP module  60  may be applied to the master track  40 , and therefore applied to all tracks  42  included therein, to add an echo effect. 
     The audio file generation system  10  of the present invention may include a combiner  70 , which may merge the tracks  42  to be included in the audio file into an output file  80 , will now be discussed in greater detail. The combiner  70  may merge the tracks  42  included in the audio file into a single track  42 . The single merged track  42  may include one or more channels  46 , providing a monaural, stereo, or multichannel  46  output file  80 . Optionally, the combiner  70  may additionally include one or more additional file types. The data from the additional file types may also be included in the output file  80 . Examples of additional file types, provided without the intent to be limiting, may include video data, text or caption data, and bookmark data. 
     An example of a merging operation, which may be performed by the combiner  70  of the audio file generator, will now be presented without any intended limitation. The combiner  70  may overlay the digital audio signals included in each track  42  upon each other. The combiner  70  may then generate a waveform as the tracks  42  are played simultaneously. The generated waveform may be saved or stored electronically, effectively merging the tracks  42  included in audio files into an output file  80 . A person of skill in the art will appreciate a number of additional and alternate audio file merging operations, which would be included within the scope and spirit of the present invention. 
     As will be understood by a person of skill in the art, audio files, much like any other electronic data files, may be created through the use of a variety of codecs and/or file formats. Similarly, an output file  80  may be generated to include or use a variety of codecs and/or file formats. A person of skill in the art will appreciate that the system and method disclosed herein may be operated independent of the codec or format of the input and/or output files  80 . If a specific codec may be desired within an embodiment of the present invention, any number of file conversion methods may be used, which would be known to skilled artisans. 
     As previously mentioned the output file  80  may be stored within a database, such as an output file database  28 . The output file database may be included as a local database  22  in the database server  20  or connected as a remote database  24  via a network  90 . The output file  80  may alternately be provided to a user for download or storage on a client device  38 . Examples of a client device  38  may include, for example, the user&#39;s local computing device, such as a personal computer or smart phone. The audio file generation system  10  of the present invention may additionally include a web server  92 , which may provide access to the generated audio output file  80  via a remotely located client device  38 . The web server  92  may provide access to output files  80  stored on a local database server  20  and/or a network  90  attached device, such as, for example, in an output files database  28 . The web server  92  may also receive the output file  80  directly from the combiner  70 , Examples of an interface, as it may be provided by a web server  92 , may include, but should not be limited to, clickable links, customizable track  42  tables, selectable rules, control DSP effects, and profiles. Optionally, the interface components may be customized by users and administrators of the system. Preferably, the output file  80  is ultimately received by a user. 
     The audio file generation system  10  may include one or more client device  38 . As mentioned above, a client device  38  may include a user interface. Provided as a non-limiting example, the client device  38  may be a computing device that includes a processor and memory  34 . Examples of suitable computing devices may include a personal computer, smartphone, mobile phone, or a personal digital assistant. The client device  38  may include a keyboard, mouse, monitor, touch screen or similar device that may be suitable for allowing a user to interact with the connected decision support server. 
     The audio file generation system  10  may provide a notification to a user upon the occurrence of an event. A notification may include information that is intended to be delivered to a user relating to an event that may have occurred, or as the event may be defined by a rule operated by the rules engine  50 . Examples of events may include a successful user login, the completion of the audio file generation operation, or an error. A person of skill in the art will appreciate that the audio file generation system  10  may generate and transmit one or more notices, as may be determined by operation of the rules engine  50  and/or additional components of the audio file generation system  10  of the present invention. 
     Referring now to the block diagram  100  of  FIG. 4 , the operation of the audio file generation system  10  of the present invention will now be discussed in greater detail. More specifically, the relationship between the databases and operational steps of the audio file generation system  10  will now be discussed. The following illustrative embodiment is included to provide clarity for one operational method that may be included within the scope of the present invention. A person of skill in the art will appreciate additional databases and operations that may be included within audio file generation system  10  of the present invention, which are intended to be included herein and without limitation. 
     As previously discussed, the database server  20  may include a plurality of databases. In the present non-limiting example, the database server  20  may include local database  20   s  such as a tracks  42  database  21 , rules database  25 , DSP effects database  26 , output files database  28 . As an initial operation, the audio file generation system  10  may load tracks  42  from the tracks database  21  into a master track  40  to be analyzed and manipulated by the system of the present invention (Block  104 ). The tracks  42  may be loaded into, for example, the memory  34  included within controller  30  ( FIG. 1 ). The audio file generation system  10  may next apply one or more rule included within the rules database  25 . The rules engine  50  of the audio file generation system  10  may analyze the tracks  42 , including the parameters associated therewith, and additional parameters, for compliance with the rules (Block  106 ). 
     The after applying the rules, the rules engine  50  may determine that one or more control DSP modules  60  should be applied to the tracks  42 . The control DSP modules  60  may be loaded from a DSP module database, after which the control DSP module  60  may be applied to the track  42  to manipulate the audio signal included therein (Block  108 ). 
     Once all the control DSP modules  60  have been applied to the tracks  42 , the combiner  70  may merge the tracks  42  into an output file  80  (Block  110 ). The output file  80  may then be delivered or transmitted to a user, wherein he or she may store the file at a user defined location. Alternately, the audio file generation system  10  of the present invention may store the output file  80  in an output files database  28  (Block  112 ). If the audio file generation system  10  includes a web server  92 , the output file  80  may be accessed from the output files database  28  to provide access over a network  90  connection, such as the Internet (Block  114 ). 
     Referring now to the flowchart  120  of  FIG. 5 , the general operation of the audio file generation system  10  according to an embodiment of the present invention will now be discussed. The operation may begin at Block  122 , wherein the audio file generation system  10  may load tracks  42  from the tracks database  21  into the master track  40  (Block  124 ). As previously discussed, the tracks database  21  may be located in a local database  20 , on a connected database server  20 , or on a remote database  24  connected via a network  90 . The rules engine  50 , a component of the audio file generation system  10 , may next apply rules to the tracks  42  (Block  126 ). By analyzing the rules, the rules engine  50  may determine whether to call a control DSP module  60  to manipulate the audio signal included within one or more track  42  (Block  128 ). If the rules engine  50  determines that control DSP module  60  should be apply a DSP effect  62  to the track, it may call the corresponding control DSP nodule  60  and apply the DSP effect  62  to the track  42  (Block  130 ). The control DSP module  60  may be called from the DSP module database. 
     Once all the DSP effects  62  included in the control DSP modules  60  have been applied to the tracks  42 , or if no control DSP module  60  has been called, the combiner  70  may merge the tracks  42  into an output file  80  (Block  132 ). The output file  80  may then be distributed to a user or stored within an output files database  28  (Block  134 ). Operation may then terminate at Block  138 . 
     Referring now to the flowchart  140  of  FIG. 6 , operation of the rules engine  50 , according to an embodiment of the audio file generation system  10  of the present invention, will now be discussed. The operation may begin at Block  142 , wherein the rules engine  50  may access a rule from the rules database  25  (Block  143 ). The rules engine  50  may next access the track  42  and read its associated parameters (Block  144 ). After reading the parameters for a rule, the rules engine  50  may next determine whether the rule may apply to the track  42  (Block  146 ). The rules engine  50  may make this determination, for example, by analyzing whether data exists for a parameter to be compared. If the rules engine  50  determines that the rule does not apply to a track  42 , the operation may end at Block  158 . However, if the rules engine  50  determines that the rule may apply to the track  42 , the rules engine  50  may apply the rules to the parameters of the track  42  (Block  148 ). 
     After the applying the rules to the track  42 , the rules engine  50  may determine whether the track  42  is compliant with the rules. More specifically, the rules engine  50  may determine whether the track  42  requires modification (Block  150 ). If no modification is required, the rules engine  50  may terminate at Block  158 . However, if the rules engine  50  determines that the track  42  requires modification, it may call an appropriate control DSP module  60  that may include a DSP effect  62  to be applied to the track  42  requiring modification (Block  152 ). The control DSP module  60  may then apply the DSP effect  62  to the track  42 , modifying the digital audio signal included therein (Block  154 ). The operation performed by the rules engine  50  may then terminate at Block  158 . 
     Referring now to the flowchart  180  of  FIG. 7 , the operation of the combiner  70 , according to an embodiment of the audio file generation system  10  of the present invention, will now be discussed. A person of skill in the art will appreciate that the following example is provided for the sake of clarity and that the tracks  42  may be merged or combined by various other methods. The operation may begin at Block  182 , wherein the combiner  70  may determine the number of tracks  42 , setting a variable “n” equal to the total number of tracks  42  (Block  184 ). The combiner  70  may next determine whether any tracks  42  exist to be combine, determining whether logically “n&gt;0” (Block  186 ). If there are no tracks  42  to be merged by the combiner  70 , the operation may terminate at Block  198 . 
     However, if there are tracks  42  to be merged, the combiner  70  may analyze the first track  42  to be merged (Block  188 ). The combiner  70  may next add the track  42  to the output file  80 , which may be generated as a product of the merging operation (Block  190 ). The combiner  70  may then decrement the track  42  counter, or perform the logical operation of “n=(n−1)” (Block  192 ). The combiner  70  may then determine whether any tracks  42  remain to be merged into the output file  80 , or determine whether logically “n=0” (Block  194 ). If tracks  42  remain to be merged into the output file  80 , the combiner  70  may return to the operation of Block  188 , wherein it may analyze the next track  42 . However, if no tracks  42  remain to be merged into the output file  80 , the combiner  70  may terminate at Block  198 . 
     As discussed above, and as perhaps best illustrated in reference to  FIG. 8 , a user may interact with the audio file generation system  10  of the present invention via a user interface. The user interface may include a plurality of fields. A person of skill in the art will appreciate that fields depicted in the interface  200  are provided solely as an example. Skilled artisans will appreciate that any number of fields may be included in, or omitted from, the interface  200  of the present example. 
     The interface  200  depicted in  FIG. 8  illustrates a model interface for defining a rule that may apply to a track  42 . The title  201  of the rule may be included at the top of the interface  200 . The interface  200  may include a plurality of fields, which may be interacted by a user. A “Source Library” field  202  may be included in the interface  200  to define the location of a track  42  to be included in the output file  80 . Additionally, the “Source Library” field  202  may be included in the interface  200  to define a track library that may include one or more track  42 . The tracks  42  within the tracks library may be partially or entirely included in the master track  40 , where in DSP effects  62  may be applied to one or more of the tracks  42  before being combined into an output file  80 . 
     To locate a track  42  or track library by using a directory tree interface, a user may active a “Browse” operator  203 . The user may then navigate a directory tree structure similar to file browsing system found in common operating systems, such as Microsoft Windows or Apple OSX. Additionally, a “Range” field  204  may be included to select a portion of the tracks  42  from the track database to be included in the master track. One or more rules may be applied to the tracks  42  selected from the track database  21 , which may result in the application of DSP effects  62 . 
     For example, and presented without limitation, a user may desire to use the audio file generation system  10  of the present invention to generate an audio holiday greeting for his co-workers. The names of the co-workers may be stored in a database server  20  as individual tracks  42 , wherein each track may be associated with an individual name. The tracks  42  with co-worker names may be collectively grouped in a “co-worker names” track library. The user may add the “co-worker names” track library to the master track  40  of the audio file generation system  10 , wherein rules may be applied to create a plurality of personalized audio holiday greeting messages tailored for each co-worker. 
     Additionally, for example, the user may limit the generation of greeting messages to co-workers in the legal department. The user may enter “legal department,” or some other range identifier, into the “Range” field  204  to restrict the master track to only include tracks with co-worker names that work in the legal department. A person of skill in the art will appreciate examples to be included in the audio file generation system  10  of the present invention that are consistent with the aforementioned examples. 
     The “Variable Statement” fields  206 ,  208 ,  210  may be used to define the logic operations performed by the rules engine  50 . A user may enter a logic comparison, which may be used to compare parameters with additional data to determine compliance with a rule. For example, as illustrated in the “Variable Statement  1 ” field  206  of the interface  200 , the rule may be defined to determine whether the present data is within the month of December. If the present data exists between the lower parameter of Dec. 11, 2011 and the upper parameter of Dec. 30, 2011, the rule may return that the condition is met and the parameters are therefore compliant with the rule. The return of compliance may result in the addition of a track  42 , such as a jingle bells track  42 , to the output the  80  generated by the combiner  70 . 
     The following additional example of logical operation, which may be included within the “Variable Statement” fields  206 ,  208 ,  210  of the interface  200 , will now be discussed for additional clarity and without the intent to limit the present invention in any way. The additional model rule may include a logical determination of whether a track  42  exists. For example, the logical operation of “If X, then Y,” may define the addition of a second “Y” track  42  upon the determination that a first “X” track  42  is present. Similarly, a logical operation such as, “If !X then Y=(Y−1000)” may define a rule wherein the absence of an “X” tracks  42  may result in time shifting a “Y” track  42  to playback 1000 milliseconds earner that previously defined. This 1000 millisecond time shift may result in the “Y” track  42  playing at approximately the same time that the “X” track  42  would have played, had it been present. 
     Referring now to  FIG. 9 , an alternative embodiment of a user interface will now be described. The following user interface may allow a user to interact with the audio file generation system  10  of the present invention via an accessible interface. The following interface may be a “Mix Method” interface  220 , which may allow a user to select a plurality of “Source Libraries  222 ,” “Ranges  226 ,” “Special Effects  234 ,” and rules by interacting with a graphical user interface (GUI). 
     The “Mix Method” interface  220  of the present example may include an editable “Title” field  221 . The “Title” field  221  may be used to generate at least part the file name for the resulting output file  80 . Additionally, the “Title” field may be used to classify and describe the generated output file  80 . The user may additionally select one or more source libraries via the respective “Source Library” field  222 . In the present example, a user may select an individual track  42  and/or a track library, which may include a plurality of tracks  42 . Additionally, a user may select a plurality of tracks  42  and/or track libraries within the “Source Library” field  222 . If the user desires to use a directory tree structure to choose a track  42  and/or source library, he may select the “Browse” operator  224 . As will be appreciated by a person of skill in the art, the “Browse” operator  224  of the present example may function similarly to the “Browse” operator  203  of  FIG. 8 . 
     The “Mix Method” interface  220  of the present example may further include a “Sub-Category” field  226 , which may allow the user to select one or more ranges to which the rules and DSP effects  62  may be applied. In the present example, the user has elected to apply the rules and DSP effects  62  to only the legal department of the “co-worker names” database. Additionally, since the user has also included a Halloween track database, the user may select zombie “Background Music”  228 , which may be included in the Halloween track database. 
     The user may select one or more message to be included within the master track  40 , which may correspondingly be included in the output file  80 . In the present example, the messages may be selected by choosing an option from a dropdown menu. However a person of skill in the art will appreciate additional method selecting operators that may be included in the “Mix Method” interface  220 , such as, but not limited to, checkboxes or radio buttons. Additionally, the messages may be arranged to be played in a desired order by using the corresponding “Rearranging Buttons”  231 . 
     Special effects, or DSP effects  62 , may be enabled or disabled by checking the respective special effects operators  234 . In the illustrated “Mix Method” interface  220 , the user has selected the “Monster Voice” DSP effects module  62 , which may result in the alteration of the spoken words of the Halloween themed audio message to sound as if the words were spoken by a monster. A person of skill in the art will appreciate that, although checkboxes have been illustrated in  FIG. 9 , any number of interactive operators may be used to allow a user to select or enable a DSP effect  62  to be applied to a track  42 . 
     Once the user has configured the fields and operators to create the desired output audio file  80 , he or she may initiate the combining operation by selecting the “Generate” button  238 . The combining operation has been described in greater detail in flowchart  180  of  FIG. 7  and its accompanying description. Alternately, a user may cancel the audio file generation process by selecting the “Cancel” button  236 . Optionally, a confirmation message may be presented to the user to avoid inadvertent cancellation of the audio file generation operation. 
     A person of skill in the art will appreciate a plethora of additional logical operations that may be defined within a rule through interaction with the user interface  200 , “Mix Method” interface  220 , or any other interface consistent with the scope and spirit of the present invention. Additionally, a person of skill in the art will appreciate that numerous additional settings, parameters, and other data may be defined by interacting with a user interface. 
     Alternately, rules may be generated through a guided user interface (not pictured). The guided user interface may include a wizard, or a series of interface screens that may walk a user through defining rule settings by answering a series of questions. The wizard may prompt a user with questions such as, “Would you like to delay the audio file?” The wizard may additionally include fields for variables, such as the amount of delay desired. In additional embodiments, rules may be uploaded into the rules database  25  via a network  90 . 
     Additionally, the audio file generation system  10  of the present invention may generate an audio output file  80  without the interaction of a user. This automated operation may advantageously allow a system to autonomously generate an output file  80 , such as, for example, a personally directed advertisement. In this embodiment, the audio file generation system  10  may detect information that may relate to the directed recipient of the audio output file  80 , generate an output file  80  configured for that specific recipient, and deliver the output file  80  to the recipient for his or her consumption. 
     As an example of the autonomous output file  80  generation, the audio file generation system  10  of the present invention may select the tracks, rules and any other element of the audio file generation system  10  to create an audio output file  80  that is directed to an intended recipient. The audio file generation system may create an audio output file  80  directed to an intended recipient by selecting various elements of the audio file generation system  10  based upon information received related to the intended recipient. For example, the audio file generation system may initiate a geo-locator module, which may detect the internet protocol (IP) address of the intended recipient. Optionally, the geo-locator module may then determine a longitude and latitude from the IP address of the intended recipient. The geo-locator module may then access an external service, such as Google Maps, Mapquest, or the like, to determine what city, zip code, or other geographic indicator is associated with the longitude and latitude. The external service may return this new information to the geo-locator module. The geo-locator module may determine that the user is located in the San Francisco Bay geographic area of California. The audio file generation system  10  may then call DSP modules  60  to apply appropriate DSP effects  62 , generating a customized audio file for the recipient. The customized output file may include a message, such as, for example, “Business X is offering a 20% off special to all San Francisco Bay residents. Click the link to redeem this offer.” A person of skill in the art will appreciate that the preceding example has been included without limitation to clearly illustrate one of many embodiments for the audio file generation system of the present invention. 
     Many modifications and other embodiments of the invention will come to the mind of one skilled in the art having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is understood that the invention is not to be limited to the specific embodiments disclosed, and that modifications and embodiments are intended to be included within the scope of the present invention.
A dynamic sound file generation system and method for using same is provided. The system is comprised of a controller, a plurality of databases, a rules engine, a control DSP module, and a combiner to alter and combine audio tracks into an output file. The sound file generation system may apply rules to dynamically generate audio files. The audio file generation system may advantageously and automatically create original, on-demand custom media file content by mixing and layering multiple media file sources from a source library to create a single composite file for delivery to a client device.