12.6 Antiquing of Audio Files

In this section we discuss an algorithm to transform audio files to sound very old. The signal modeling approach is taken here, although the basis of many related algorithms lies in the physical principles of the underlying analog systems [VGKP08].

The antiquing methods introduce simulated degradations to audio signals. They can be divided into two general groups: global and localized degradations [GR98]. Global degradations affect all samples of the audio signal and contain effects such as background noise, wow and flutter, and certain types of nonlinear distortion. Localized degradations affect some signal samples, but not all of them. Examples of such a localized degradation would be the ‘clicks’ and ‘pops’ heard on a dusty vinyl record.

Since audio signals are often stereophonic, the first step in audio antiquing is usually to convert the audio signal into the monophonic form. The simplest method, which yields satisfactory results in most cases, is to average the two channels. However, some stereo recordings use special effects, such as time delay or inverted phase between the two channels, and in such cases the simple technique fails. In the worst cases one or more sources in the original signal can be cancelled or be strongly colored, when the channels are added together.

12.6.1 Telephone Line Effect

The telephone sound is a commonly used effect in music production and in film soundtracks. It is used in movies and TV series to process the actor's voice, when she or he is talking on the phone, but the other person is shown listening. Additionally, it is widely applied to vocals in pop music as a special effect. A straightforward yet fairly realistic audio processing algorithm is given next.

The main component in the telephone sound is its severely limited bandwidth. Even today, telephone systems only transmit signal frequencies between 300 Hz and 3400 Hz. Below and above these cut-off frequencies, the signal energy is greatly suppressed. Figure 12.36 shows the magnitude response of an IIR filter which can be used to model this response. This example filter is a 12th-order Chebyshev type 2 design with cut-off frequencies of 234 Hz and 4300 Hz and a stopband rejection of −40 dB. With these parameters, the −6-dB points are at 300 Hz and 3400 Hz. Applying this filter to a wideband audio signal converts it to a low-bandwidth signal. The sound quality of a musical signal is drastically reduced by this filter. However, there will be no extra disturbances, and voice signals processed like this are perfectly intelligible. Nonetheless, this bandpass filter alone can be used as a simulation of a modern phone.

Figure 12.36 Magnitude response of the bandpass filter for telephone sound emulation. The dashed vertical lines indicate the cut-off frequencies 300 Hz and 3400 Hz.

12.36

To obtain a historical telephone sound, it is necessary to add some noise and distortion. For much of the history of the telephone, almost all phone handsets contained a carbon microphone. This is a cheap and robust device, but has problems in sound quality: The output of a carbon microphone is noisy and contains harmonic distortion, which is characterized by a large amount of the second harmonic. This is a consequence of the fact that the resistance of the carbon-button varies in a different manner for positive and negative sound pressures.

The carbon microphone nonlinearity can be modeled with the following asymmetric function [QRO00]:

12.57 12.57

where α determines the amount of nonlinearity when α > 0, x(n) is the input signal assumed to vary between −1.0 and 1.0, and y(n) is the output signal. The following simplified nonlinearity can approximately produce the right kind of distortion:

12.58 12.58

When α is smaller than about 0.4, this nonlinear function can produce a similar asymmetric nonlinear mapping between input and output samples as a physical model of the carbon-button microphone or empirically measured nonlinear functions [QRO00].

To complete the historical telephone sound emulation, a version of the nonlinear sandwich model proposed by Quatieri et al. [QRO00] is proposed in the following. The above instantaneous nonlinearity is placed between two linear filters, as shown in Figure 12.37. The role of the first filter, or pre-filter, is to introduce a wide resonance around 2 kHz [QRO00], and the second filter can be the bandpass filter of Figure 12.36. When the sampling rate of the original signal is 44.1 kHz, the following inverse comb filter can be used as the pre-filter:

12.59 12.59

which introduces an approximately 4-dB amplification at 2 kHz and at its odd multiples (but the peaks at higher frequencies will be suppressed by the post-filter), and 16-dB dips at dc, at 4 kHz, and at its multiples up to 20 kHz.

Figure 12.37 Sandwich model for the old telephone sound including the carbon-microphone nonlinearity and a noise source.

12.37

White or colored noise may be added to the signal to add realism. In Figure 12.37 it is inserted after the nonlinearity. Although white noise is used here, it will still go through the post-filter and will thus turn into colored, bandpass-filtered hiss. M-file 12.10 gives a compact implementation of the full telephone sound model.

M-file 12.10 (phonefx.m)

function [y, ylin] = phonefx(alpha, noise, x)

% Authors: Välimäki, Bilbao, Smith, Abel, Pakarinen, Berners

% function [y, ylin] = phonefx(alpha, noise, x)

%

% Parameters:

% alpha = nonlinearity factor (alpha >= 0)

% noise = noise level (e.g. noise = 0.01)

% x = input signal

fs = 44100;  % Sample rate

u = filter([0.9 zeros(1,10) -0.75],1,x);  % Pre-filter

[B,A] = cheby2(6,40,[234/(fs/2) 4300/(fs/2)]);  % Telephone line filter

w = 2*rand(size(x))-1;  % White noise generation

y1 = (1-alpha)*u + alpha*u.2 ;  % Carbon mic nonlinearity

y2 = y1 + noise*w;    % Add scaled white noise

y = filter(B,A,y2);    % Apply telephone line filter

ylin = filter(B,A,u);  % Linear filtering only (for comparison)

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.17.157.6