Patent Description:
The visual display of audio waveforms is useful for many tasks. One such task includes aligning multiple audio tracks with other audio or video content.

Converting an audio signal to a visual representation (i.e., a waveform) involves choices. This is because humans have the ability to perceive sounds over a wide range such that the amplitude of loudest sound is millions of times greater than the amplitude of the smallest one. When the amplitude of these sound signals is plotted along the vertical axis against time in the vertical axis, the detail of the sounds with small amplitudes is rendered so small as to be visually imperceptible. Alternatively, if instead of plotting the value of the amplitude, the logarithm of the amplitude is plotted, the smaller amplitudes (mostly noise) dominate the plot.

To get around this, most contemporary audio waveform displays (other than linear displays) show a clipped version of the logarithmic plot. That is, the plot will show the range from -60dB to 0dB (that is,. <NUM>, to <NUM>). This results in waveforms that appear as lumpy blobs / bursts, which makes it difficult for a user to discern the different elements of sound, such as speech, special effects, and music.

<CIT> relates to Systems, methods, and computer program products for editing audio data. In some implementations, a method is provided. The method includes receiving digital audio data and displaying a visual representation of the audio data. The method also includes receiving a single graphical user input gesture defining a fade curve, the fade curve specifying a fade length and a fade shape of a fade effect.

<NPL>, this document relates to an audio signal level compressor, which is based on the approximation algorithm using an interpolating polynomial. To implement a compression characteristic in a digital audio system, a power calculation with fractional numbers is required and it is difficult to be performed directly in digital circuits. A polynomial expression is introduced to approximate the power operation, then the gain calculation is easily performed with a number of additions, multiplications and a division. Newton's interpolation formula is used to calculate the compression characteristics in a very short time and the obtained compression characteristics are very close to the ideal ones.

It is the object of the present invention to enable an improved reshaping of an audio signal.

This object is solved by the subject matter of the independent claims which define the present invention.

Other advantages may become apparent from the following detailed description when taken in conjunction with the drawings.

The technology described herein is illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:.

Various aspects of the technology described herein are generally directed towards reshaping audio waveforms for displaying by mapping an audio signal to be displayed through a polynomial mapping function to produce a visible representation of the audio waveform. The mapping function, which in one implementation is at least a polynomial of degree three (note that sometimes "degree" is referred to as "order"), and thus can be a cubic mapping function, allows users to better distinguish the features of an audio signal, including visibly discerning speech, music, noise and or other effects from one another. The coefficients of the polynomial can be predetermined as described herein, and can be selected so as to limit the resulting curve within a desired range / domain.

By way of example, consider that a user is dubbing in one language instead of another with respect to a video such as a movie, television show, television commercial or the like. To locate an appropriate portion of the speech, a user can listen to the existing audio, stop at an approximate location where the dubbing is needed and speak. However, to more precisely line up the dubbed speech with the existing speech, the user can look at a plotted waveform and if needed do another take. In general, if the character's mouth is seen moving (with the original speech) in the video, the better the alignment of the dubbed in speech, the better and more realistic the dubbed-in audio appears to be.

The technology described herein, based on a cubic (or a higher polynomial) mapping function, helps the user to discern sounds from one another, such speech from other sounds, including music, loud noises such as an explosion or siren, effects (e.g., a dubbed-in explosion or siren) and so on. Moreover, the technology described herein helps the user visualize separate elements of such speech, such as the different syllables spoken by a character and other sounds that the character may make, e.g., a chuckle that is intended to be heard; this helps align the dubbed-over audio with the original audio. Indeed, an alignment tool operated by another user can move the new audio / speech elements into more direct alignment with the original audio elements, including long after the person who provided the dubbed audio has finished his or her speaking role.

It should be understood that any of the examples herein are non-limiting. For instance, locating the correct audio waveform for aligning new speech or other new audio with prior speech or other prior audio is one beneficial use of the technology, but any technology that benefits from viewing audio waveforms or data that, like audio, can span multiple orders of magnitude, can benefit from the technology described herein. Indeed, any application that displays audio waveforms or other similar waveforms with wide ranges in amplitude (that are often displayed logarithmically) can benefit from the technology described herein, including editing applications, entertainment-type applications and so forth. As such, the technology described herein is not limited to any particular embodiments, aspects, concepts, structures, functionalities or examples described herein. Rather, any of the embodiments, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the technology may be used in various ways that provide benefits and advantages in computing and data editing in general.

<FIG> is a block diagram representing an example system <NUM> of components that can be used to implement various aspects of the technology described herein. A processor <NUM> and memory <NUM> are coupled to an audio waveform editing component <NUM> that comprises an audio signal processing component <NUM>. The processor <NUM> can represent one or more processors, and the memory <NUM> can represent any volatile or non-volatile storage, or a combination thereof. The memory <NUM> contains audio data to be processed as described herein.

As described herein, the audio signal processing component uses a polynomial mapping function <NUM> (e.g., with predetermined coefficients as determined herein). To be of practical use, the polynomial mapping function <NUM> is at least a cubic (degree three) polynomial, although it is feasible that a degree two (quadratic) polynomial could provide some benefit relative to linear output.

Also shown in <FIG> is an input component <NUM>, such as comprising any input device or devices; non-limiting examples include a keyboard, mouse, touch-screen, touch-pad, other pointing device (e.g., pen or stylus) and/or microphone. An output component <NUM> is also shown in <FIG>, and is typically a display device capable of displaying an audio signal as a reshaped waveform as described herein, although a printer / plotter can also be used as an output component, such as if a more permanent representation of the waveform is desired. The represented output component <NUM> can also comprise a speaker, which is useful when processing audio (e.g., to coarsely locate a relevant portion of audio within a large audio file).

<FIG> is a block diagram representing an example implementation that can be used in video production and/or audio processing, in which an audio editor (comprising audio editor user interface control logic) <NUM> reshapes audio data <NUM> via the polynomial mapping function <NUM>. The editor is interacted with via a suitable interactive input device <NUM>, and can be coupled to a microphone <NUM>, such as for receiving voice commands, as well as for receiving new audio to use in conjunction with the audio data <NUM>. For example, the dubbed in audio can be received, manipulated (e.g., aligned) via the editor <NUM>, and added to the audio data <NUM> as a secondary track. It is also feasible to replace or mix existing audio data with newly received audio data, (which may be prerecorded), e.g., a special effect that replaces or is mixed with the audio that was initially recorded.

The exemplified display device can provide an interactive user interface (UI) <NUM>, e.g., rendered on a display device <NUM>, to assist with the editing. Note that the editing can be for video production and/or audio processing; for example, audio can be realigned with video, such as when dealing with older movies in which the video and audio are slightly misaligned in time. Video can also be edited via the interactive user interface <NUM>, independent or in addition to audio editing. A speaker <NUM> is exemplified in <FIG>, which can comprise one or more speakers, headphones or earpieces, as audio output is usually highly useful when audio editing.

Turning to the aspects related to the polynomial mapping function, described herein is how an audio waveform can be displayed in a more intuitive form. A general problem with displaying audio waveforms is a result of the nature of sound and other such data, which is able to span multiple orders of magnitude; (e.g., audio signals can range over several orders of magnitude, for instance an explosion can be more than ten times louder than a voice).

As described above, the decibels of the audio signal are typically plotted, rather than a linear plot of the audio signal itself. The basic formula for computing the decibels is: <MAT> where the value of x represents the signal normalized to the maximum value, and the value of K is <NUM> for power (e.g., RMS) quantities, or <NUM> for sound field (e.g., amplitude) quantities. For instance, when plotting a sound wave, the RMS value of the waveform is plotted using K = <NUM>, while the maximum amplitude of the waveform is plotted with K = <NUM>.

The value of x is the normalized value of the waveform compared to some maximum value. For instance, for a <NUM>-bit PCM encoded audio, the value x corresponds to x = s/<NUM>,<NUM>,<NUM>, where the value of <NUM>,<NUM>,<NUM> is equal to <NUM><NUM> - <NUM> (the top bit is used as a sign bit).

A next operation in reshaping audio data is to convert the value of x at each sample point into a value (e.g., h), where in one or more implementations the value of h = <NUM> corresponds to the maximum amplitude (e.g., y = <NUM>) when plotted, and the value of h = <NUM> corresponds to the value of y = -40dB and lower. This can be done by adding <NUM> to Equation (<NUM>) and dividing by <NUM> (based on log<NUM>(x) = ln(x)/ln(<NUM>)): <MAT>.

The derivative is taken as well, in anticipation of the need to establish boundary conditions: <MAT>.

A next step is to set up some boundary conditions on these equations. In one or more implementations, it is desired to approximate this function in the range [ <NUM> - <NUM> ], noting that <MAT> <MAT> <MAT>.

To use a cubic approximation, one more constraint is needed. One possible choice is to set the value of the derivative of y at x = <NUM>; however because the value of <MAT> is infinite at x = <NUM>, a different constraint is needed. Thus, another choice is to have the slope of the function equal the slope of the function at the value of x that corresponds to -40dB; this value is referred to herein as x<NUM>.

To solve for x<NUM>, using Equation (<NUM>) provides <MAT>.

Exponentiating both sides results in <MAT>.

Substituting for x<NUM> in Equation <NUM> results in <MAT>.

Note that everything in Equation (<NUM>) is a constant, whereby the values for y'(<NUM>) for both K = <NUM> and K = <NUM> can be computed: <MAT> <MAT>.

Consider an h of the polynomial (degree three) form: <MAT>.

The constant D is zero, given Equation (<NUM>). Further, A + B + C = <NUM> from Equation (<NUM>) (based on conserving energy), and Equation (<NUM>) gives <NUM>A + 2B + C = L, where <MAT>. Lastly, the value of C can be fixed by the constraints given by Equations (<NUM>) and (<NUM>). Solving for this for both K = <NUM> and K = <NUM> yields:.

However, with the above coefficients, the curve produced wanders outside of the desired range [<NUM> - <NUM>]. One way to solve this is to add more terms to Equation (<NUM>) and produce a higher degree polynomial than the cubic function of Equation (<NUM>). However, for a straightforward routine that reshapes the sound data into something more visibly understandable, a suitable alternative is to determine alternative coefficients can be chosen that limit the curve to stay within the desired range / domain. Based on experimentation, a (slope) value of h'(<NUM>) = <NUM> creates a highly desirable and useful display. Thus, using this value of h'(<NUM>) = <NUM> results in the following coefficients:.

As is understood, the above coefficient values can be computed to additional precision, or rounded to less precision and still provide reasonable results.

Thus, for any signal value x, a desirably visible waveform is generated (when using K = <NUM>) for power quantities by the mapping function: <MAT>.

Similarly, (when using K = <NUM> for field quantities), a visibly desirable waveform is generated by the mapping function: <MAT>.

<FIG> shows an example of using mapping functions to reshape audio data into a visible waveform, including the cubic mapping function of Equation (<NUM>) (with different A and B coefficients for field and power quantities). In general, the audio data <NUM> is made accessible to the audio editor logic <NUM>, which can go forward or backward through the audio data to select a relevant portion, e.g., as represented via block <NUM>. Note that it is feasible to process an entire audio file into the reshaped waveform if desired, however it is typically more efficient to work on a portion of the file, e.g., to reshape and display a smaller part of an audio signal <NUM> extracted from the larger audio data <NUM> that is relevant to a particular editing task.

As shown in <FIG>, the exemplified audio editor logic <NUM> provides a waveform selector, by which a user can select to view a waveform <NUM> (<FIG>) that results from reshaping via the cubic mapping function, view a linear waveform <NUM> (<FIG>), or a (e.g., clipped) logarithmic waveform representation <NUM> (<FIG>). A user can also select the K = <NUM> mapping function coefficients to view the power quantities waveform, select the K = <NUM> mapping function coefficients to view the field quantities waveform, or both.

The result of processing the x-values sampled in time that make up the audio signal is shown as result block <NUM>, which can be plotted as a displayed waveform <NUM> on the display device <NUM>. In this example, a user can edit the waveform <NUM> via the interactive user interface <NUM>.

Turning to example waveforms represented in <FIG>, it is seen that the cubic mapping function described herein provides more distinct information in the plot <NUM> (<FIG>) relative to the linear plot <NUM> (<FIG>) or the logarithmic plot <NUM> (<FIG>). Note that <FIG> shows both the power quantities waveform exemplified by the light gray signal <NUM> mapped via equation (<NUM>) and the field quantities waveform exemplified by the dark gray signal <NUM> mapped via equation (<NUM>).

<FIG> shows an example editing interface <NUM>, which in this example allows for the aligning of audio, e.g., new speech displayed in box <NUM>, with respect to an existing displayed waveform <NUM>. Time labels <NUM> can extend across the time axis. An example use of the editing interface is the synchronization of audio and video events; (this is shown as optional in <FIG>, with the size of the video frame(s) <NUM> not necessarily shown to any scale or intended to convey relative size with respect to the audio waveform). Another example use is modifying audio content in general, which can be independent of video content.

In the example of <FIG>, a user moves (e.g., drags or clicks right cursor keyboard arrows or interactive arrows, not shown) to align the new speech box <NUM> in time with the existing waveform, e.g., by adjusting the timecodes associated with the new speech. It is also straightforward to more directly edit timecodes associated with the new speech to match the timing data of the displayed waveform. Editing tools such as reset / cancel / undo / redo and the like are not explicitly shown, but are understood to be present in one or more implementations.

Other, non-limiting ways to edit audio include replacing an existing audio waveform with new waveform data, which is then saved to a larger audio file. Another straightforward way to modify an audio signal is to simply re-record the audio as desired. Editing can be used to change the time codes associated with an audio signal in the underlying data, e.g., to cut out a portion of the waveform <NUM> displayed in <FIG>, move a portion, insert a new portion, and so on. A waveform also may be compressed or expanded in time, amplified or attenuated, and so on, which can be recombined in some way with the original audio data, e.g., and saved to a new audio data file.

Although not explicitly shown in <FIG>, it is understood that concepts such as color, vertical scale adjustment, horizontal scale adjustment (zooming in or out of a time window) and the like are straightforward to implement. Labels, hash marks, legends and so forth may be selectively displayed or selectively removed from being displayed. Fast forward, rewind, jump ahead or back, and the like, whether by interacting to fast forward audio and/or video (if present) is another capability that can be provided in a straightforward manner.

<FIG> is a flow diagram showing example operations of an editor (e.g., the audio editor user interface control logic <NUM> of <FIG> and <FIG>). It is understood that these operations are only some possible, non-limiting examples, and that in a given interface configuration, different operations may be present, less than those operations exemplified in <FIG> may be present, and/or additional operations may be present. Further note that the exemplified ordering of many of the operations can be different.

Operation <NUM> represents selecting an audio signal, e.g., a relevant portion of a larger set (file) of audio data; (although as mentioned above, the entire audio data can be selected). This can be by listening, scrubbing, entering timing data and so forth to obtain an audio signal corresponding to a desired time range.

Operation <NUM> evaluates whether the user wants to view the power quantities waveform. If so, operation <NUM> maps the selected audio signal portion to the power mapping function. Note that this can be a higher degree polynomial than the cubic mapping function of Equation (<NUM>), but in any event the coefficients can be predetermined as described herein providing for highly efficient reshaping of the audio signal data into the desired waveform. Operation <NUM> is directed towards adjusting the visible properties of the reshaped output waveform, e.g., color, shading, contrast, brightness and so on so as to differentiate the waveform from a waveform generated by the sound field mapping function if the user elects to view both simultaneously. Note that the visible properties can be user configurable, and indeed, can be changed dynamically during editing.

Operation <NUM> evaluates whether the user wants to view the sound field quantities waveform. If so, operation <NUM> maps the selected audio signal portion to the sound field mapping function. Again, this can be a higher degree polynomial than the cubic mapping function of Equation (<NUM>), but in any event the coefficients can be predetermined as described herein providing for highly efficient reshaping of the audio signal data into the desired waveform. Operation <NUM> is similarly directed towards adjusting the visible properties of the reshaped output waveform, e.g., color, shading, contrast, brightness and so on so as to differentiate the sound field quantities waveform from the power quantities waveform if both are being displayed. Again, such visible properties can be user configurable.

Operation <NUM> displays the waveform or waveforms. At this time the user can edit the audio data by manipulation or other editing operations with respect to the displayed waveform(s) as described herein.

One or more aspects, summarized in <FIG>, are directed towards an audio signal processing component (block <NUM>) that reshapes an audio signal via a polynomial function of at least degree three into audio waveform data, wherein the polynomial function comprises predetermined coefficients. An output component (block <NUM>), is coupled to the audio signal processing component, to output a visible representation of the audio waveform. An editing component (block <NUM>) is provided that manipulates audio information based on the audio waveform data.

The polynomial function can be a degree three (cubic) polynomial function. The predetermined coefficients can sum to a value that corresponds to a range; e.g., the predetermined coefficients can sum to one. The value of a trailing coefficient of the predetermined coefficients can be based on a predetermined slope.

The predetermined coefficients can be determined based on mapping field quantities to the audio waveform data. The predetermined coefficients can be determined based on mapping power quantities to the audio waveform data.

One or more aspects, summarized in <FIG>, are directed towards selecting (operation <NUM>) an audio signal from audio data. Operation <NUM> represents mapping the audio signal to a reshaped audio waveform via a polynomial mapping function of at least degree three. Operation <NUM> represents outputting a visible representation of the reshaped audio waveform. Operation <NUM> represents receiving editing instructions associated with the reshaped audio waveform.

Other aspects can include precomputing coefficients for the polynomial mapping function based on constraints corresponding to slope information and range information, and a value corresponding to plotting power quantities. Still other aspects can include precomputing coefficients for the polynomial mapping function based on constraints corresponding to slope information and range information, and a value corresponding to plotting field quantities.

Mapping the audio signal to the reshaped audio waveform via the polynomial mapping function can comprise selecting the polynomial mapping function with coefficients corresponding to plotting power quantities. The reshaped audio waveform can be a first reshaped audio waveform, and aspects can comprise secondarily mapping the audio signal to a second reshaped audio waveform via the polynomial mapping function using coefficients corresponding to plotting field quantities, and outputting a visible representation of the second reshaped audio waveform in conjunction with the outputting the visible representation of the first reshaped audio waveform.

Mapping the audio signal to the reshaped audio waveform via the polynomial mapping function can comprise selecting the polynomial mapping function with coefficients corresponding to plotting field quantities. The reshaped audio waveform can be a first reshaped audio waveform, and aspects can comprise secondarily mapping the audio signal to a second reshaped audio waveform via the polynomial mapping function using coefficients corresponding to plotting power quantities, and outputting a visible representation of the second reshaped audio waveform in conjunction with the outputting the visible representation of the first reshaped audio waveform.

Receiving the editing instructions associated with the reshaped audio waveform can comprise time-aligning other audio data or video data with audio information represented in the reshaped waveform.

Other aspects are summarized with reference to <FIG>, and, for example, can correspond to operations, such as performed on a machine-readable storage medium, comprising executable instructions that, when executed by a processor facilitate performance of the operations. Operations can comprise processing (operation <NUM>) an audio signal comprising at least a portion of audio data into reshaped audio waveform data via a cubic polynomial mapping function, wherein the cubic polynomial mapping function comprises predetermined coefficients. Operation <NUM> represents outputting a visible representation of the reshaped audio waveform in conjunction with first timing information related to the reshaped audio waveform. Operation <NUM> represents receiving editing information corresponding to second timing information that relates to the first timing information.

Receiving the editing information corresponding to the second timing information that relates to the first timing information can comprise time-aligning other audio signal data or time-aligning video signal data based on the first timing information related to the reshaped audio waveform.

Processing the audio signal via the cubic polynomial mapping function can comprise selecting a first set of coefficients for the cubic polynomial mapping function corresponding to plotting power quantities, or selecting a second set of coefficients for cubic polynomial mapping function corresponding to plotting field quantities.

As can be seen, a polynomial mapping function of at least degree three (cubic) reshapes audio data into a displayable waveform with more prominent, recognizable differences between different types of sounds (when compared to a linear or logarithmic display). Indeed, as one example sound effects and speech can be easily visualized and differentiated. The audio waveform display thus makes it easy to see speech, for example while not clipping the louder sounds such as music and sound effects. The result allows users to better see the features of speech and music, which creates a more visually telling representation and makes audio waveforms easier to work with. This is beneficial because many of editing fixes require the alignment of speech elements to video or other audio, which is simplified and sped up via the reshaped waveform described herein.

The techniques described herein can be applied to any device or set of devices (machines) capable of running programs and processes. It can be understood, therefore, that personal computers, laptops, handheld, portable and other computing devices and computing objects of all kinds including cell phones, tablet / slate computers, gaming / entertainment consoles and the like are contemplated for use in connection with various implementations including those exemplified herein. Accordingly, the general purpose computing mechanism described below in FIG. <NUM> is but one example of a computing device.

Implementations can partly be implemented via an operating system, for use by a developer of services for a device or object, and/or included within application software that operates to perform one or more functional aspects of the various implementations described herein. Software may be described in the general context of computer executable instructions, such as program modules, being executed by one or more computers, such as client workstations, servers or other devices. Those skilled in the art will appreciate that computer systems have a variety of configurations and protocols that can be used to communicate data, and thus, no particular configuration or protocol is considered limiting.

<FIG> thus illustrates an example of a suitable computing system environment <NUM> in which one or aspects of the implementations described herein can be implemented, although as made clear above, the computing system environment <NUM> is only one example of a suitable computing environment and is not intended to suggest any limitation as to scope of use or functionality. In addition, the computing system environment <NUM> is not intended to be interpreted as having any dependency relating to any one or combination of components illustrated in the example computing system environment <NUM>.

With reference to <FIG>, an example device for implementing one or more implementations includes a general purpose computing device in the form of a computer <NUM>. Components of computer <NUM> may include, but are not limited to, a processing unit <NUM>, a system memory <NUM>, and a system bus <NUM> that couples various system components including the system memory to the processing unit <NUM>.

Computer <NUM> typically includes a variety of machine (e.g., computer) readable media and can be any available media that can be accessed by a machine such as the computer <NUM>. The system memory <NUM> may include computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) and/or random access memory (RAM), and hard drive media, optical storage media, flash media, and so forth. By way of example, and not limitation, system memory <NUM> may also include an operating system, application programs, other program modules, and program data.

A user can enter commands and information into the computer <NUM> through one or more input devices <NUM>. A monitor or other type of display device is also connected to the system bus <NUM> via an interface, such as output interface <NUM>. In addition to a monitor, computers can also include other peripheral output devices such as speakers and a printer, which may be connected through output interface <NUM>.

The computer <NUM> may operate in a networked or distributed environment using logical connections to one or more other remote computers, such as remote computer <NUM>. The remote computer <NUM> may be a personal computer, a server, a router, a network PC, a peer device or other common network node, or any other remote media consumption or transmission device, and may include any or all of the elements described above relative to the computer <NUM>. The logical connections depicted in <FIG> include a network <NUM>, such as a local area network (LAN) or a wide area network (WAN), but may also include other networks/buses. Such networking environments are commonplace in homes, offices, enterprise-wide computer networks, intranets and the Internet.

As mentioned above, while example implementations have been described in connection with various computing devices and network architectures, the underlying concepts may be applied to any network system and any computing device or system in which it is desirable to implement such technology.

Also, there are multiple ways to implement the same or similar functionality, e.g., an appropriate API, tool kit, driver code, operating system, control, standalone or downloadable software object, etc., which enables applications and services to take advantage of the techniques provided herein. Thus, implementations herein are contemplated from the standpoint of an API (or other software object), as well as from a software or hardware object that implements one or more implementations as described herein. Thus, various implementations described herein can have aspects that are wholly in hardware, partly in hardware and partly in software, as well as wholly in software.

The word "example" is used herein to mean serving as an example, instance, or illustration. In addition, any aspect or design described herein as "example" is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent example structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms "includes," "has," "contains," and other similar words are used, for the avoidance of doubt, such terms are intended to be inclusive in a manner similar to the term "comprising" as an open transition word without precluding any additional or other elements when employed in a claim.

As mentioned, the various techniques described herein may be implemented in connection with hardware or software or, where appropriate, with a combination of both. As used herein, the terms "component," "module," "system" and the like are likewise intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a computer and the computer can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.

The aforementioned systems have been described with respect to interaction between several components. It can be appreciated that such systems and components can include those components or specified sub-components, some of the specified components or sub-components, and/or additional components, and according to various permutations and combinations of the foregoing. Sub-components can also be implemented as components communicatively coupled to other components rather than included within parent components (hierarchical). Additionally, it can be noted that one or more components may be combined into a single component providing aggregate functionality or divided into several separate sub-components, and that any one or more middle layers, such as a management layer, may be provided to communicatively couple to such sub-components in order to provide integrated functionality. Any components described herein may also interact with one or more other components not specifically described herein but generally known by those of skill in the art.

In view of the example systems described herein, methodologies that may be implemented in accordance with the described subject matter can also be appreciated with reference to the flowcharts / flow diagrams of the various figures. While for purposes of simplicity of explanation, the methodologies are shown and described as a series of blocks, it is to be understood and appreciated that the various implementations are not limited by the order of the blocks, as some blocks may occur in different orders and/or concurrently with other blocks from what is depicted and described herein. Where non-sequential, or branched, flow is illustrated via flowcharts / flow diagrams, it can be appreciated that various other branches, flow paths, and orders of the blocks, may be implemented which achieve the same or a similar result. Moreover, some illustrated blocks are optional in implementing the methodologies described herein.

Claim 1:
A system, comprising:
an audio signal processing component that reshapes an audio signal via a polynomial function into audio waveform data, wherein the polynomial function comprises predetermined coefficients;
an output component, coupled to the audio signal processing component, that outputs a visible representation of the audio waveform; and
an editing component that manipulates audio information based on the audio waveform data;
wherein the polynomial function is represented as Ax<NUM> + Bx<NUM> + Cx, wherein the predetermined coefficients comprise coefficient A equal to approximately <NUM>, coefficient B equal to approximately -<NUM>, and coefficient C equal to approximately <NUM>.