1
$\begingroup$

I've been thinking about additive synthesis and I'm wondering if all sounds begin at (theoretically) phase 0?

$\endgroup$
6
  • $\begingroup$ What do you mean by begin? $\endgroup$
    – gsmafra
    Jul 31 '15 at 23:41
  • $\begingroup$ What do you mean by "sounds"? Do you mean individual audio tones that have different frequencies? $\endgroup$ Aug 1 '15 at 2:20
  • $\begingroup$ by 'begin' I mean at the start of the sound, for example, assume a bird could chirp a square wave, when the sound starts would the harmonics start from a relative base of zero? $\endgroup$
    – cixelsyd
    Aug 1 '15 at 10:03
  • $\begingroup$ by sounds, I mean any periodic and harmonic sound. $\endgroup$
    – cixelsyd
    Aug 1 '15 at 10:03
  • $\begingroup$ @RichardLyons enjoying my copy of understanding digital signal processing. $\endgroup$
    – cixelsyd
    Aug 1 '15 at 20:52
2
$\begingroup$

It's common to not start all harmonically related sinusoids with a phase of 0 at some initial time point. Varying the phase relationships helps reduce the peak-to-average power ratio, which allows a higher average volume without clipping or otherwise exceeding some peak limit.

$\endgroup$
1
  • $\begingroup$ but doesn't this alter the wave shape? or do you mean maintaining a the fourier series ratios but starting at a different overall phase? $\endgroup$
    – cixelsyd
    Aug 1 '15 at 10:00
1
$\begingroup$

I'm not knowledgeable enough to comment on "all sounds" found in nature. But here's an interesting experiment. Use software to generate an audio square wave containing a fundamental freq and the next higher five odd harmonics (each with appropriate peak amplitudes). Play that signal through a speaker. Then have each of the five odd harmonics start at random initial phases. The resultant signal will have a drastically different wave shape, BUT the sound of the random-phase signal will sound VERY similar to your original square wave! It's an experiment to show that the human ear/brain combination is very tolerant of phase distortion.

$\endgroup$
1
$\begingroup$

i would say that is is not common that all harmonics start with a phase of zero w.r.t. any single, specific time (like MIDI NoteOn). BTW, to add to Rick Lyons answer, here is a MATLAB program that sorta demonstrates what you can and cannot hear regarding phase alignment of harmonics. give it a try. see what you can hear (or not).

%
%   square_phase.m
%
%   a test to see if we can really hear phase changes
%   in the harmonics of a Nyquist limited square wave.
%
%   (c) 2004 rbj@audioimagination.com
%

if ~exist('Fs')
    Fs = 44100                      % sample rate, Hz
end

if ~exist('f0')
    f0 = 110.25                     % fundamental freq, Hz
end

if ~exist('tone_duration')
    tone_duration = 2.0             % seconds
end

if ~exist('change_rate')
    change_rate = 1.0               % Hz
end

if ~exist('max_harmonic')
    max_harmonic = floor((Fs/2)/f0) - 1
end  

if ~exist('amplitude_factor')
    amplitude_factor = 0.25         % this just keeps things from clipping
end

if ~exist('outFile')
    outFile = 'square_phase.wav'
end


                                  % make sure we don't uber-Nyquist anything
max_harmonic = min(max_harmonic, floor((Fs/2)/f0)-1);

t = linspace((-1/4)/f0, tone_duration-(1/4)/f0, Fs*tone_duration+1);

detune = change_rate;

x = cos(2*pi*f0*t);                  % start with 1st harmonic

n = 3;                               % continue with 3rd harmonic
while (n <= max_harmonic)
    if ((n-1) == 4*floor((n-1)/4))   % lessee if it's an "even" or "odd" term
        x = x + (1/n)*cos(2*pi*n*f0*t);
     else
        x = x - (1/n)*cos(2*pi*(n*f0+detune)*t);
        detune = -detune;       % comment this line in an see some
    end                          % funky intermediate waveforms
    n = n + 2;                   % continue with next odd harmonic
end

x = amplitude_factor*x;

% x = sin((pi/2)*x);               % toss in a little soft clipping

plot(t, x);                      % see
sound(x, Fs);                    % hear
wavwrite(x, Fs, outFile);        % remember
$\endgroup$
1
  • $\begingroup$ Thanks @Robert Bristow-Johnson. While I don't have Matlab. I've performed a similar experiment using C++. I can't hear the difference. I guess this also means that if I choose to start a periodic sound from a zero phase base in order to make it look like an expected waveform (square or saw) then it wouldn't really matter either. Thanks for the responses. $\endgroup$
    – cixelsyd
    Aug 3 '15 at 21:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.