Patent Description:
A digital audio workstation (DAW) is an electronic device or software application for recording, editing and producing audio files such as musical pieces, speech or sound effects. DAWs typically provide a user interface that allows the user to record, edit and mix multiple recordings and tracks into a final produced piece.

Music production involves the processes of recording, mixing and mastering. A computer-based DAW typically allows for multitrack recording of audio and provides controls for playing, recording and editing audio tracks.

Modern computer-based DAWs support software plug-ins, each having its own functionality, which can expand the sound processing capabilities of the DAW. There exist for example software plug-ins for equalization, limiting, and compression. There also exist software plug-ins which provide audio effects such as reverb and echo. And there exist software plug-ins which provide sound sources to a DAW such as virtual instruments and samplers.

There exist hardware effect machines and software plug-ins for DAWs that allow to manipulate audio obtained from human voices based on pitch and formant shifting.

For example, Ref. [Unfilter] is a real-time plug-in that removes filtering effects, such as comb filtering, resonance, or excessive equalization - effectively linearizing the frequency response of a signal automatically. [Unfilter] can also apply a detected filter response to another signal, or export it to disk as an impulse response, and can even perform mastering grade adaptive, free-form, and graphic equalization.

The perception of frequencies by humans depends on the overall loudness of the audio content; so does the relative loudness of frequency ranges, and therefore the perception and detection of formants. In the field of acoustics, a formant is a range of frequencies in which there is an absolute or relative maximum in the sound spectrum. Manipulation of audio obtained from human voices may include the detection and modification of the formant amplitude (either to boost or attenuate them), while conserving the overall spectral profile. Human detection of formants is performed by assessing the relative loudness of frequency ranges, which depends on the audio's overall loudness.

<CIT> relates to a device comprising a first signal weighting unit that outputs a signal obtained by weighting a target signal or noise feature, from an input signal in which the target signal and noise are mixed together, a neural network arithmetic operation unit that uses a coupling coefficient to output an enhanced signal of the target signal, a second signal weighting unit that outputs a signal obtained by weighting the target signal or noise feature, in respect to a teacher signal, and an error evaluation unit that outputs a coupling coefficient so as to cause a learning error between the signal weighted by the second signal weighting unit and the output signal of the neural network arithmetic operation unit to become a value not greater than a set value.

<CIT> relates to an apparatus for processing an audio signal to obtain control information for a speech enhancement filter that has a feature extractor for extracting at least one feature per frequency band of a plurality of frequency bands of a short-time spectral representation of a plurality of short-time spectral representations, where the at least one feature represents a spectral shape of the short-time spectral representation in the frequency band.

<CIT> relates to a system which performs voice signal enhancement by filtering and expanding the voice signal with a transfer function that approximates an inverse of equal loudness contours for tones in a frontal sound field for humans of average hearing acuity.

<CIT> relates to a system for increasing loudness of an audio signal to present a perceived loudness to a listener that is greater than a loudness provided natively by a loudspeaker. There is a general need for providing computer-implemented aid to a user in the process of recording, mixing and mastering.

According to a first aspect the disclosure provides a method as defined in claim <NUM>.

According to a further aspect the disclosure provides an electronic device according to claim <NUM>.

Further aspects are set forth in the dependent claims, the following description and the drawings.

The embodiments described below in more detail provide a method comprising determining features of an input audio window and determining a formant attenuation/amplification coefficient for the input audio window based on the processing of the feature values by a neural network.

The input audio window may be obtained by windowing from an input audio file, or the input audio window may be a complete input audio file. Windowing may be done according to a standard procedure in signal processing. For example, windowing may be performed by defining a length of each window and by defining a hop size. The term audio window as used in the description of the embodiments below should also comprise using only a single window, the length of the window being equal to the length of an input audio file, i.e. the case where a single window covers a whole input file.

A formant attenuation/amplification coefficient may for example be an attenuation ratio. For example, values of an attenuation ratio greater than <NUM> may indicate amplification so that the formants are emphasized, values lower than <NUM> may indicate attenuation so that the formants are reduced, and a value of <NUM> may indicate that there is neither attenuation nor amplification so that the formants remain unchanged. There are other methods to express a formant attenuation/amplification coefficient. The formant attenuation/amplification coefficient may be restricted in a way so that effectively only formant attenuation is performed. Alternatively, the formant attenuation/amplification coefficient may be restricted in a way so that effectively only formant amplification is performed. That is, the embodiments can be easily restricted to amplification or attenuation only.

The method further comprises determining formants of the input audio window and multiplying the formants with the formant attenuation/amplification coefficient. Determining the formants may comprise any known methods of determining formants of an audio file.

The input audio may be analysed. The result of the analysis may define formants. The formants may be amplified or attenuated in a proportion derived from a previous experiment, to produce the output audio. According to the invention, the attenuation/amplification ratio is determined by means of a neural network that has been trained in advance.

According to the methods disclosed here, the formants is automatically set to an optimal value for a given loudness. The optimal value is determined in advance by training a neural network.

According to the method, multiplying the formants with the formant attenuation/amplification coefficient may conserve the input audio file's overall spectral profile.

Determining formants of the input audio window may comprise determining the difference of two power spectra, one smoothed power spectrum and another smoothed power spectrum, one power spectrum being smoothed more than the other power spectrum. The two power spectra may for example be expressed on a logarithmic amplitude scale.

For example, determining formants of the input audio window may comprise determining a first power spectrum and a second power spectrum using a different number of bands for the first power spectrum and the second power spectrum.

The method may further comprise determining a weighted spectrum from the input audio window and multiplying the weighted spectrum with a multiplier that depends on the formant attenuation/amplification coefficient. Here, the weighted spectrum may be expressed on a linear amplitude scale. According to an alternative embodiment, the weighted spectrum may be expressed on a log amplitude scale. In this case the multiplier can be expressed as a gain, not a multiplier, and the gain would be added, not multiplied (Log(a*b) = log(a)+log(b)). Determining a weighted spectrum from the input audio window may comprise weighting the input audio window with an equal-loudness-level contour. The equal-loudness-level contour may for example be an ISO226-<NUM> contour.

The method may further comprise selecting the equal-loudness-level contour based on a target monitoring loudness.

Weighting the input audio window with an equal-loudness-level contour may comprise transforming the input audio window to the spectral domain and multiplying the obtained spectrum with a processed equal-loudness-level contour. According to an alternative embodiment, in the log Y domain for both terms of the operation, multiplying may be replaced by adding the obtained spectrum and a processed equal-loudness-level contour.

According to an embodiment, the features may comprise the amplitude of formants of the input audio window.

According to a further embodiment, the features may comprise the spectral flatness or Wiener entropy of the power spectrum of the input audio window.

According to a further embodiment, the features may comprise values of the power spectrum of the input audio window.

According to a further embodiment, the features may comprise a crest factor of the input audio window.

The features mentioned here are given only for exemplifying the process. Due to the nature of neural networks there can be many combinations of features that may be used in the context of the present disclosure.

The neural network may be trained in advance with a collection of input audio windows by manually setting, for each window, the formant attenuation/amplification coefficient so that the processed audio window appears the best sounding possible. That is, the neural network is trained using, as an input, the feature values, and as an output, the formant attenuation/amplification coefficient determined by humans, so that the processed audio window appears the best sounding possible.

The methods as described above may for example be applied in an automatic audio mixing framework. For example, the solution may be deployed in a DAW, e.g. in a real-time audio plug-in that thus does automatic profile equalization.

The methods may be computer-implemented methods. For example, the methods may be implemented as a software application, a digital audio workstation (DAW) software application, or the like. The methods may also be implemented as a software plug-in, e.g. for use in a digital audio workstation software.

The embodiments further provide an electronic device comprising circuitry configured to perform the methods. The methods may for example be implemented in an electronic device comprising circuitry configured to perform the methods described above and below in more detail. The electronic device may for example be a computer, a desktop computer, a workstation, a digital audio workstation (DAW), or the like. The electronic device may also be a laptop, a tablet computer, a smartphone or the like. Circuitry of the electronic device may include one or more processors, one or more microprocessors, dedicated circuits, logic circuits, a memory (RAM, ROM, or the like), a storage, output means (display, e.g. liquid crystal, (organic) light emitting diode, etc.), loud speaker, an interface (e.g. touch screen, a wireless interface such as Bluetooth, infrared, audio interface, etc.), etc..

According to the embodiments described below, the target monitoring loudness is the median loudness at which the result will be monitored.

Given a result, different target monitoring loudness values may provide a different handling of the formants. The embodiments described below provide ways to extract and process properties of the input audio file so that, given a target monitoring loudness, the amplitude of the formants is optimized for a given target monitoring loudness. Accordingly, the audio processing chain of an automatic mixing framework presented in the embodiments below integrates the monitoring level as a parameter (see e.g. <NUM> in <FIG>).

In an audio processing chain, e.g. in the context of an automated mixing framework, the target monitoring level may be set by the user in advance. Also, the target monitoring level may be derived from configurations of a main channel output level, settings of an audio interface and/or from settings of a speaker system that is used to output audio. An automated mixing framework may for example be configured so that, if a user does not provide a specific setting for the target loudness, by default, mixes are produced for medium listening levels.

Still further, on low-grade systems, the bass frequencies are attenuated, and tracks rich in low frequencies are perceived as less loud. Therefore, the principle of awareness of the target loudness awareness may be extended to a concept "mixed at the same loudness at a given monitoring level, on a given range of speakers". Embodiments may thus exploit the knowledge of the co-linearity of loudness measurement distortion brought by monitoring level and monitoring grade. The modification of the mix balance resulting from the grade of the monitoring system is comparable to the modification of the mix balance resulting from the monitoring level. The two dimensions are co-linear and can be reduced as one. In view of this, the exemplifying processes described below take account of only one parameter which may account for by monitoring level and/or monitoring grade. As an example, the resulting combination of the monitoring level and the speaker range may be set to <NUM> phon as default.

<FIG> shows normal equal-loudness-level contours for pure tones under free-field listening conditions as defined in International Standard [ISO226-<NUM>]. In the following, theses contours are called ISO226-<NUM> contours. International Standard [ISO226-<NUM>] specifies combinations of sound pressure levels and frequencies of pure continuous tones which are perceived as equally loud by human listeners. An ISO226-<NUM> contour relates to a specific target monitoring loudness (expressed in phon) and defines a sound pressure level (in dB) for each frequency (in Hz).

<FIG> schematically describes a process of selecting an equal-loudness-level contour, e.g. an ISO226-<NUM> contour, based on a given target monitoring loudness. A target monitoring loudness <NUM> is provided in advance.

Let Cl be the ISO226-<NUM> contour at loudness l, interpolated so that its number of elements is Nwhole. This target monitoring loudness may be noted and expressed in phon.

In <FIG>, at <NUM> an equal-loudness-level contour is chosen based on the given target monitoring loudness <NUM>. The respective equal-loudness-level contour may for example be obtained from International Standard ISO226-<NUM> described above. If, for example, the target monitoring loudness is <NUM> phon, the <NUM>-phon contour will be chosen. ISO226-<NUM> provides in section <NUM> equations for deriving sound pressure levels from a loudness level, these sound pressure levels defining the resulting ISO226-<NUM> contour. Selecting an appropriate equal-loudness-level contour may for example be realized by adequately setting the loudness level parameter in these equations. Alternatively, multiple equal-loudness-level contours for a set of given loudness levels may be stored in a memory and selecting the equal-loudness-level contour may be realized by choosing the appropriate equal-loudness-level contour from the set of multiple equal-loudness-level contours based on the given loudness level.

The skilled person will readily appreciate that the embodiments described below do not necessarily have to rely on equal-loudness-level contours according to ISO226-<NUM>. Alternative embodiments may use other equal-loudness-level contours such as Fletcher-Munson contours or Robinson-Dadson contours.

<FIG> schematically describes a first process of attenuating the formants in an input audio file to produce a processed audio file.

According to this embodiment the input file is mono, so that a mono version embodiment of the process will be used. If the input file is stereo, a stereo version of the process will be used which is described in section "Stereo file" in more detail.

The input of the process is a mono audio file <NUM>. the process starts from a mono input audio file.

The output of the process is a processed mono audio file <NUM>.

Let S be the input audio file. Let fs be its sampling frequency.

Let Nwhole be the number of samples on the audio file.

At <NUM>, the input audio file <NUM> is windowed, resulting into a sequence <NUM> of possibly overlapping windows containing audio. Windowing is standard procedure in signal processing (see e.g. [Lartillot <NUM>]). In the embodiment described here, the windowing process is performed as follows:.

For the audio in each window <NUM>, the procedure described at <NUM>, <NUM> and <NUM> is applied.

At <NUM>, the formants are detected in the input audio file and attenuated/amplified (see <FIG> and corresponding description for more details) by the formant attenuation/amplification coefficient provided by a neural network <NUM> from feature values <NUM> described in more detail in section "Features for inputting to the neural network "below. An example process of determining a weighted spectrum of the audio window is described with regard to <FIG> and the corresponding description. An example process of detecting the formants is described in more detail in <FIG> and the corresponding description below. An example process of attenuating/amplifying the formants is described in more detail in <FIG> and the corresponding description below.

The process <NUM> of detecting formants in the input audio file <NUM> and attenuating/amplifying these formants depends on the choice of an equal-loudness-level contour such as an ISO226-<NUM> contour <NUM> that is derived from the given loudness parameter (<NUM> in <FIG>) as described with regard to <FIG> above. For example, if the target monitoring loudness is <NUM> phon, the <NUM>-phon contour will be chosen.

At <NUM>, features <NUM> are evaluated from the audio in each window <NUM>. The features <NUM> are described in more detail in section "Features for inputting to the neural network" below. The process <NUM> of evaluating the features <NUM> depends on the selected ISO226-<NUM> Contour Cl, i. e on the given monitoring loudness (see <FIG>).

At <NUM>, for each window, the features (e.g. the values representing these features) are fed to a neural network <NUM>. For example, one forward pass of the neural network <NUM> produces for each audio window <NUM> a respective attenuation ratio <NUM> that is suited to the audio this audio window. As described in more detail with regard to <FIG> and in section "Training the neural network" below, the neural network <NUM> has been trained in advance for this task of evaluating attenuation ratios <NUM> from input features <NUM>.

At <NUM>, the output audio file <NUM> is reconstructed from each window <NUM> of audio generated according to the process of <NUM>.

In the output audio file, Wproc(n) (<NUM> in <FIG>) is set as the same position as Wsource(n) (<NUM> in <FIG>) was in the input file.

In case of overlapping windows, a linear crossfade is used. Linear crossfading is standard procedure in signal processing.

In case hwindow < Nwindow, the windows are overlapping (see <NUM> in <FIG> and corresponding description).

In this case, when setting, Wproc(n) (<NUM> in <FIG>) at its position in the output audio file, there exists a section of the output audio file in which non-zero audio samples are already present from a previous Wproc(n). The length of such an overlapped section is Noverlap , where Noverlap = Nwindow - hwindow.

In this case, the kth sample in the overlapped section corresponding to the nth window, S(n), is defined by: <MAT>.

<FIG> schematically describes a process of determining a weighted spectrum of an audio window.

The weighted spectrum <NUM> is evaluated as follows.

Let "FFT" be the Fast Fourier Transform.

Let "cat" denote the concatenation of two vectors. Let ∘ be the Hadamard (also called "term-by-term" product).

At <NUM>, the Fast Fourier Transform FFT(Wsource(n)) of the audio window Wsource(n) is computed.

At <NUM>, the contour Cl is interpolated so that its number of elements is <MAT>.

At <NUM>, the contour Cl is expressed on a linear scale, with <MAT>.

At <NUM>, the contour Cl is symmetrized, i.e. <MAT>.

At <NUM>, the nth weighted spectrum Xweighted(n) is determined by multiplication as Xweighted(n) = FFT(Wsource(n)) ° Cl.

<FIG> schematically describes a process of determining the formants from the weighted spectrum.

At <NUM>, from the weighted spectrum <NUM> as obtained according to the process of <FIG>, the power spectrum <NUM> is evaluated.

The nth power spectrum Xpower(n) is defined as the elements <NUM> to Nwindow/<NUM> of (Xweighted(n))<NUM>.

At <NUM>, the power spectrum is expressed twice on a logarithmic frequency scale and a logarithmic amplitude scale, each time using a different number of bands. The identification of the formants <NUM> is derived from the difference between one smoothed power spectrum <NUM> and another smoothed power spectrum <NUM>, the latter being smoothed more than the former, and both being expressed on a logarithmic frequency scale and a logarithmic amplitude scale.

There may be several methods to perform such an operation. The process described here in more detail relies on a solution according to which the spectra are expressed on a logarithmic frequency scale and a logarithmic amplitude scale using a number of discrete bands, with the first spectrum <NUM> being expressed with less bands than the second spectrum <NUM>. For example, in an exemplary real-time implementation, a first spectrum <NUM> with <NUM> bands, and a second spectrum <NUM> derived from the first with a low-pass filter may be used. In the embodiment described below in more detail, however, for illustrative purpose, a specification using two spectra <NUM>, <NUM> with bands of different size are used.

The nth power spectrum is expressed in logarithmic amplitude scale as <MAT>.

The following procedure is performed twice to obtain a first power spectrum <NUM> and a second power spectrum <NUM>, with two different values of Nbands.

Expression of the nth power spectrum in logarithmic frequency scale is performed as:.

The power spectrum as expressed on a logarithmic frequency scale and a logarithmic amplitude scale has Nbands elements, and is expressed in dB.

This results into two power spectra, Xp<NUM>(n) and Xp<NUM>(n).

An exemplary number of bands is <NUM> for the first power spectrum <NUM>, and <NUM> for the second spectrum <NUM>. That is, a typical size for Xp<NUM>(n) may be <NUM> and a typical size for Xp<NUM>(n) may be <NUM>. These values may be predefined as two configuration parameters of the process.

At <NUM>, the first spectrum is subtracted from the second spectrum. This results into the measured formants <NUM>.

Let φ(n) be the formant vector for the nth window.

Like Xp<NUM>(n) and Xp<NUM>, φ(n) is expressed on a logarithmic frequency scale and a logarithmic amplitude scale.

<FIG> schematically describes the process of detecting the formants and attenuating/amplifying the formants in each audio window.

At <NUM>, the formants are measured as described in more detail with regard to <FIG> above. Let φ(n) be the formant vector for the nth window as obtained according to the process described with regard to <FIG>.

At <NUM>, the measured formants are multiplied by the formant attenuation/amplification coefficient <NUM> evaluated in <NUM> of <FIG>. This results into the gain values <NUM>.

Let a(n) be the formant attenuation/amplification coefficient <NUM> for the nth window, with a(n) ≥ <NUM>. Here, the formant attenuation/amplification coefficient <NUM> is an attenuation/amplification ratio. Values of a(n) greater than <NUM> indicate amplification so that the formants are emphasized, values lower than <NUM> indicate attenuation so that the formants are reduced, and a value of <NUM> indicates that there is neither attenuation nor amplification so that the formants remain unchanged.

If the attenuation/ amplification was set for the whole file in (A7), then a(n) is constant, doesn't depend on n.

Let G(n) be the gain vector <NUM> for the nth window.

As there is one single formant attenuation/amplification coefficient <NUM> for each window, the process conserves the input audio file's overall profile.

At <NUM>, the gain values <NUM> are converted to the linear frequency scale and linear amplitude scale, symmetrized. The result is inverted to obtain a multiplier <NUM>.

Let this "multiplier" <NUM> for the nth window be noted M(n).

M(n) is defined as being the interpolation of the gain vector G(n) on a linear frequency scale, using <MAT> elements.

The multiplier M(n) is expressed on a linear amplitude scale, with <MAT>.

The multiplier M(n) is symmetrized, i.e. M(n) = <MAT>.

The multiplier M(n) has now Nwindow elements.

The multiplier M(n) is inverted, with <MAT>.

Due to the nature of the process in <NUM> of <FIG>, G(n) evolves between ca. +15dB and ca.

This means the denominator in <MAT> is never close to zero, and therefore the result never diverges.

At <NUM>, the complex spectrum <NUM> for the window obtained according to the process described with regard to <FIG> is multiplied by the inverse <MAT> of the multiplier M(n). This results into the processed spectrum <NUM>.

Let Xproc(n) be the processed spectrum <NUM> for the nth window.

Xproc(n) is defined by Xproc(n) = M(n) ∘ FFT(Wsourc(n)).

At <NUM>, the processed spectrum <NUM> is transformed back into the time domain using an inverse discrete Fourier transform. This results into the processed audio <NUM>.

Let iFFT be the inverse fast Fourier transform.

Let Wproc(n) be the processed audio content <NUM> for the nth window.

Wproc(n) is defined as Wproc(n) = iFFT(Xproc(n))).

If some imaginary residue remains in Wproc(n), then Wproc(n) = real(Wproc(n)).

In the following, a stereo version of the processes is described.

The stereo version of the process evaluates the mean between the spectra for the two channels and uses this mean to evaluate the formants. This avoids the damaging of the stereo image done by the processing of each channel by the mono version.

The process starts from a stereo input audio file and results into a stereo input audio file.

Let SL and SR be the input audio file. Let fs be its sampling frequency.

The choice of an equal-loudness-level contour such as an ISO226-<NUM> contour is derived from the given loudness as described with regard to <FIG>. As with regard to the mono version of the processes, let Cl be the contour at loudness l.

Both channels of the stereo input file are windowed, resulting into a sequence of possibly overlapping windows containing audio.

Let the nth windows be written WL(n) and WR(n).

Nwindow is the length of each window and hwindow is the hop size, with hwindow ≤ Nwindow, as defined in the mono version of the process.

The nth windows WL(n) and WR(n) contain the audio samples <NUM> + ((n - <NUM>) × hwindow) to Nwindow + ((n - <NUM>) × hwindow) from SL and SR respectively.

For the audio in each window, the procedure described with regard to <FIG> are applied, taking into account the modifications for a stereo file as described below.

Features (<NUM> in <FIG>) as described in section "Features for inputting to the neural network" below are evaluated from the audio in each window. The values for these features are fed to the neural network (<NUM> in <FIG>). For example, one forward pass of the neural network may produce the attenuation ratio (<NUM> in <FIG>) that is suited to the audio according to the training performed as described in section "Training the neural network" below.

The weighted spectrum is evaluated for both channels.

The nth weighted spectrum XWL(n) is defined as XWL(n) = FFT(WL(n)) ∘ Cl.

The nth weighted spectrum XwR(n) is defined as XwR(n) = FFT(WR(n)) ∘ Cl.

From the weighted spectra, the power spectra are evaluated.

The nth power spectrum XpL(n) is defined as the elements <NUM> to Nwindow/<NUM> of (XwL(n))<NUM>.

The nth power spectrum XpR(n) is defined as the elements <NUM> to Nwindow/<NUM> of (XwR(n))<NUM>.

The mean of the two power spectra in the linear domain is evaluated.

The nth power spectrum Xpower(n) is defined as Xp(n) = <NUM> × (XpL(n) + XpR(n)).

The identification of the formants is derived from the difference between one smoothed power spectrum and another smoothed power spectrum, the latter being smoothed more than the former, and both being expressed on a logarithmic frequency scale and a logarithmic amplitude scale. This process is identical to the respective process in the mono version described with regard to <FIG>, resulting into two power spectra, Xp<NUM>(n) and Xp2(n).

The first spectrum is subtracted from the second spectrum. This results into the measured formants φ(n). The measured formants are multiplied by the formant attenuation/amplification coefficient evaluated in <NUM> of <FIG>. This results into the gain values G(n). The gain values are converted to the linear frequency scale and linear amplitude scale, symmetrized. The result is inverted. This results in the multiplier M(n). These processes are again identical to the respective processes in the mono version.

The complex spectra for the left and right window are multiplied by the inverse of the multiplier. This results into the processed spectrum.

Let XprocL(n) and let XprocR(n) be the processed spectra for the nth window.

The nth left processed spectrum XprocL(n) is defined as XprocL(n) = FFT(WL(n)) ∘ M(n).

The nth right processed spectrum XprocR(n) is defined as XprocR(n) = FFT(WR(n)) ∘ M(n).

The processed spectrum is transformed back into the time domain using an inverse discrete Fourier transform. This results into the processed audio.

Let WprocL(n) and WprocR(n) be the processed audio contents for the nth window.

WprocL(n) is defined as WprocL(n) = iFFT (XprocL(n))).

WprocR(n) is defined as WprocR(n) = iFFT (XprocR(n))).

If some imaginary residue remains in WprocL(n), then WprocL(n) = real(WprocL(n)).

If some imaginary residue remains in WprocR(n), then WprocR(n) = real(WprocR(n)).

As described with regard to <NUM> of <FIG>, the output audio file is reconstructed from each window of audio generated in <NUM> of <FIG>.

In the output audio file, WprocL(n) is set as the same position as WL(n) was in the input file.

In case of overlapping windows, a linear crossfade is used for each channel, as it is described with regard to the mono version of the process.

<FIG> schematically describes an exemplifying process of training a neural network on the basis of a dataset of audio files.

The process of training the neural network as described with regard to <FIG> corresponds to some extent to the process described with regard to <FIG> and the corresponding description, so that, here, only the differences are explained in more detail.

A dataset of audio files is gathered and provided as basis for the training process. The training process described below is performed with each audio file <NUM> from the gathered dataset of audio files.

At <NUM>, features <NUM> are extracted from each audio file <NUM> in the dataset. An example set of features is detailed in section "Features" below. Other sets of features are possible.

For each input audio file, the features in obtained at <NUM> may be evaluated either on the entire file, or on the windowed file.

In the embodiment of <FIG>, windowing is performed at <NUM>. The windowing process may for example be performed as set out with regard to <NUM> in <FIG>.

At <NUM>, each audio window (or file) <NUM> is fed into an audio process that detects and attenuates/amplifies its spectral formants. The process possesses one accessible parameter, the formant attenuation/amplification coefficient <NUM> and corresponds to the process described with regard to <NUM> in <FIG>. An example process of determining a weighted spectrum of the audio window/ file is described with regard to <FIG> and the corresponding description. An example process of detecting the formants is described in more detail in <FIG> and the corresponding description. An example process of attenuating/amplifying the formants is described in more detail in <FIG> and the corresponding description below.

For each audio file, given a target loudness and corresponding equal-loudness-level contour <NUM> (see <FIG> and the corresponding description).

For each window/file, the formant attenuation/amplification coefficient <NUM> is manually set by a human subject <NUM> so that the result, the processed audio file <NUM>, appears the best sounding possible to the subject <NUM>. The ensemble of such results (attenuation/amplification values for audio windows <NUM>) is referred to as the "ground truth". In order to allow the human subject <NUM> to evaluate the quality of the result <NUM>, the processed audio file <NUM> is output, at <NUM>, to the human subject <NUM>, e.g. by a headphone unit or loudspeaker.

For each audio file, the parameters may be set either for the entire audio file, or may evolve dynamically during the course of the audio file.

At <NUM>, given an equal-loudness-level contour <NUM> for a predetermined target loudness (<NUM> in <FIG>), a neural network <NUM> is trained with the feature values <NUM> obtained in <NUM> as an input, and the ground truth <NUM> evaluated by the human operator <NUM> as an output.

One possible configuration for a neural network <NUM> trained in <NUM> is a three-layer network with the following characteristics. The two first layers use ReLU as an activation function, the last layer uses a sigmoid as an activation function. If the number of input descriptors is Nin, then the hidden layer has <NUM> × Nin inputs and Nin outputs. The loss function is the mean square error. According to an example, the gradient descent may be stochastic, using a batch size of <NUM>. The learning rate may be <NUM>. The model may be trained for <NUM> epochs.

Given an equal-loudness-level contour (<NUM> in <FIG>) for a predetermined target loudness (<NUM> in <FIG>), once trained, the neural network <NUM> is able to generate an attenuation/amplification ratio (<NUM> in <FIG>), so that the attenuation/amplification of the formants of an input audio file (<NUM> in <FIG>) performed with the process of <FIG> results in an optimal-sounding audio file (<NUM> in <FIG>) according to the training by the human subject <NUM>. That is, the trained neural network may be used as the neural network (<NUM> in <FIG>) of the process described with regard to <FIG>.

In the following, some example for features that may be used as input for a neural network are described in more detail. These features are derived from an input audio file (<NUM> in <FIG>, <NUM> in <FIG>) as described with regard to the features (<NUM> in <FIG>, and features <NUM> in <FIG>) used in the processes described in <FIG> and <FIG>.

Given the nature of neural networks, using different features may provide a similar result.

Each feature described below may be one input of the neural network. The features may also be combined to generate be one input of the neural network.

If the feature is windowed, then each window is an input vector for the neural network.

According to a first embodiment, the measure of the amplitude of the formants, as measured 'by the process of <FIG> is used as features for inputting to the neural network. That is the formant vector φ(n) as obtained by process steps <NUM>, <NUM> and <NUM> of <FIG> may be used as features for inputting to the neural network, or the formants expressed on a logarithmic amplitude scale and on a logarithmic frequency scale may be fed to the neural network φ(n) = <NUM> × log<NUM>(φ(n)).

According to a further embodiment, the measure of spectral flatness or Wiener entropy is used as feature for inputting to the neural network. It consists in the geometric mean of the power spectrum, divided by the arithmetic mean of the power spectrum. This is a one-dimension feature. In case of a stereo file, the result is the mean of the two flatness values.

The following provides the measure for one window, one channel.

Let Nwindow be the number of elements in Wsource.

The spectrum X is defined as X = FFT(Wsource).

The power spectrum Xpower is defined as the elements <NUM> to Nwindw/<NUM> of (Xweighted)<NUM>.

The spectral flatness is F, where <MAT>.

It may be useful to include the values of the power spectrum, expressed on a logarithmic frequency scale and a logarithmic amplitude scale. The measure can be windowed or global.

The power spectrum Xpower as described with regard to <NUM> in <FIG> or the power spectrum expressed on a logarithmic amplitude scale as Xpower = <NUM> × log<NUM>(Xpower) may be bused as feature.

According to a further embodiment, a measure which can be used for feeding the neural network is the crest factor (a feature related to dynamics). It is defined, for a window of ca. <NUM>, as the ratio between the root mean square of the signal and its peak.

The crest factor "CF" is defined as <MAT>, with more details <MAT>.

<FIG> provide examples of results of the formant detection and attenuation processes described above (see <NUM> in <FIG>) for three illustrative formant attenuation/amplification coefficients, <NUM>, <NUM>, and <NUM>.

<FIG> provides an example of a weighted original spectrum on a linear amplitude scale and a logarithmic frequency scale (upper graph) and on a logarithmic amplitude scale and a logarithmic frequency scale (lower graph). The weighted original spectrum as displayed in <FIG> corresponds to weighted spectrum Xweighted(n) (<NUM> in <FIG>) as described in the process description above.

<FIG> provides the result of the formant measurement process applied to the example spectrum displayed in <FIG> on a linear amplitude scale (upper graph) and on a logarithmic amplitude scale (lower graph). The result of the formant measurement process in <FIG> corresponds to the the measured formants φ(n) (<NUM> in <FIG>) as obtained from the weighted spectrum Xweighted(n) (<NUM> in <FIG>) according to the process described above.

<FIG> provides the attenuation obtained from the example spectrum displayed in <FIG> for three different formant attenuation/amplification coefficients, <NUM>, <NUM>, and <NUM>. The attenuation is shown on the y-axis as the multiplier M(n) (<NUM> in <FIG>) which is obtained by multiplying the measured formants according to <FIG> by the formant attenuation/amplification coefficient, here <NUM>, <NUM>, and, respectively, <NUM>.

<FIG> provides the processed spectrum obtained from the example spectrum displayed in <FIG> for three different formant attenuation/amplification coefficients, <NUM>, <NUM>, and <NUM>. The processed spectrum displayed in <FIG> corresponds to processed spectrum Xproc(n) (<NUM> of <FIG>) which is obtained by multiplying the weighted spectrum for the window by the inverse of the multiplier displayed in <FIG>. Formant attenuation/amplification coefficient <NUM> (transparent) results in the spectrum being not attenuated/amplified, so that the processed spectrum is identical to the original spectrum.

In the following, an embodiment of an electronic device <NUM> is described under reference of <FIG>. The electronic device, here a computer <NUM>, can be implemented such that it can basically function as any type of audio processing apparatus or audio processing entity described herein. The computer has components <NUM> to <NUM>, which can form a circuitry, such as any one of the circuitries of an audio processing device.

Embodiments which use software, firmware, programs, plugins or the like for performing the processes as described herein can be installed on computer <NUM>, which is then configured to be suitable for the embodiment.

The computer <NUM> has a CPU <NUM> (Central Processing Unit), which can execute various types of procedures and methods as described herein, for example, in accordance with programs stored in a read-only memory (ROM) <NUM>, stored in a storage <NUM> and loaded into a random access memory (RAM) <NUM>, stored on a medium <NUM>, which can be inserted in a respective drive <NUM>, etc..

The CPU <NUM>, the ROM <NUM> and the RAM <NUM> are connected with a bus <NUM>, which in turn is connected to an input/output interface <NUM>. The number of CPUs, memories and storages is only exemplary, and the skilled person will appreciate that the computer <NUM> can be adapted and configured accordingly for meeting specific requirements which arise when it functions as a base station, and user equipment.

At the input/output interface <NUM>, several components are connected: an input <NUM>, an output <NUM>, the storage <NUM>, a communication interface <NUM> and the drive <NUM>, into which a medium <NUM> (compact disc, digital video disc, compact flash memory, or the like) can be inserted.

The input <NUM> can be a pointer device (mouse, graphic table, or the like), a keyboard, a microphone, a camera, a touchscreen, etc..

The output <NUM> can have a display (liquid crystal display, cathode ray tube display, light emittance diode display, etc.), loudspeakers, etc..

The storage <NUM> can have a hard disk, a solid state drive and the like.

The communication interface <NUM> can be adapted to communicate, for example, via a local area network (LAN), wireless local area network (WLAN), mobile telecommunications system (GSM, UMTS, LTE, etc.), Bluetooth, infrared, etc..

It should be noted that the description above only pertains to an example configuration of computer <NUM>. Alternative configurations may be implemented with additional or other sensors, storage devices, interfaces or the like. For example, the communication interface <NUM> may support other radio access technologies than the mentioned WLAN, GSM, UMTS and LTE.

The methods as described herein are also implemented in some embodiments as a computer program causing a computer and/or a processor and/or a circuitry to perform the method, when being carried out on the computer and/or processor and/or circuitry. In some embodiments, also a non-transitory computer-readable recording medium is provided that stores therein a computer program product, which, when executed by a processor/circuitry, such as the processor/circuitry described above, causes the methods described herein to be performed.

It should be recognized that the embodiments describe methods with an exemplary ordering of method steps. The specific ordering of method steps is, however, given for illustrative purposes only and should not be construed as binding. For example, in the process of <FIG>, first the source audio file <NUM> is windowed at <NUM>, resulting into a sequence of windows <NUM> containing audio, and then each window is weighted at <NUM> using the ISO226-<NUM> contour. The skilled person will readily appreciate that the order of these steps can be reversed. That is, in an alternative embodiment the source audio file <NUM> is first is weighted using the ISO226-<NUM> contour and then the resulting weighted source audio file is windowed.

It should also be noted that the division of the control or circuitry of <FIG> into units <NUM> to <NUM> is only made for illustration purposes and that the present disclosure is not limited to any specific division of functions in specific units. For instance, at least parts of the circuitry could be implemented by a respective programmed processor, field programmable gate array (FPGA), dedicated circuits, and the like.

All units and entities described in this specification and claimed in the appended claims can, if not stated otherwise, be implemented as integrated circuit logic, for example on a chip, and functionality provided by such units and entities can, if not stated otherwise, be implemented by software.

Claim 1:
A method comprising:
determining (<NUM>) feature values (<NUM>) of an input audio window (<NUM>) of an input audio file (<NUM>),
determining a single formant attenuation/amplification coefficient (<NUM>) for the input audio window (<NUM>) based on the processing of the feature values (<NUM>) by a neural network (<NUM>);
determining (<NUM>, <NUM>, <NUM>) formants (<NUM>) of the input audio window (<NUM>) and multiplying (<NUM>) the formants (<NUM>) with the single formant attenuation/amplification coefficient (<NUM>), in which the formants (<NUM>) are automatically set to a predetermined optimal value for a given loudness, wherein the optimal value for a given loudness is predetermined by training of the neural network.