Of course, a lot of visually different waveshapes sound the same, as soon as the phase relationship between neighboring partials is shifted by the same amount.

That doesn't mean it's always the case and I've once posted here examples of how shifting the phase of 1 harmonic of a sawtooth sounded very different.
I think you were even part of the debate.
Pretty easy to check the obvious difference between a pure low sawtooth, and the same sawtooth with all partials starting at random phases.





-----Message d'origine----- From: robert bristow-johnson
Sent: Tuesday, February 10, 2015 6:11 PM
To: music-dsp@music.columbia.edu
Subject: Re: [music-dsp] Dither video and articles

On 2/10/15 8:49 AM, Didier Dambrin wrote:
What are you talking about - why would phase not matter? It's extremely important (well, phase relationship between neighboring partials).



well, it's unlikely you'll be able to hear the difference between this:

    x(t) = cos(wt) - 1/3*cos(3wt) + 1/5*cos(5wt) - 1/7*cos(7wt)

and this:

    x(t) = cos(wt) + 1/3*cos(3wt) + 1/5*cos(5wt) + 1/7*cos(7wt)

yet the waveshapes are much different.

so if you have MATLAB or Octave, try this file out and see what you can
hear.  look at the waveforms and see how different they are.

%
%   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 r...@audioimagination.com <mailto:r...@audioimagination.com>
%

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

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

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

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

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

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

if ~exist('outFile', 'var')
     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




16 bits is just barely enough for high-quality audio.

So to you, that Pono player isn't snake oil?

well, Vicki is the high-res guru here.

i certainly don't think we need 24-bit and 192 kHz just for listening to
music in our living room.  but for intermediate nodes (or intermediate
files), 24-bit is not a bad idea.  and if you have space or bandwidth to
burn, why not, say, 96 kHz.  then people can't complain about the
scrunching of the bell curve near Nyquist they get with "cookbook EQ".

for a high-quality audio and music signal processor, i think that 16-bit
pre-emphasized files (for sampled sounds or waveforms) is the minimum i
want, 16-bit or more ADC and DAC, and 24-bit internal nodes for
processing is the minimum i would want to not feel "cheap" about it.  if
i were to use an ADI Blackfin (i never have) to process music and
better-than-voice audio, i would end up doing a lot of double-precision
math.

BTW, at this:
http://www.aes.org/events/125/tutorials/session.cfm?code=T19 i
demonstrated how good 7-bit audio sounds in a variety of different
formats, including fixed, float (with 3 exponent bits and 4 mantissa
bits), and block floating point (actually that was 7.001 bits per
sample), dithered and not, noise-shaped and not.  but i still wouldn't
want to listen to 7-bit audio if i had CD.

well dithered and noise-shaped 16-bits at 44.1 kHz is good enough for
me.  i might not be able to hear much wrong with 128 kbit/sec MP3, but i
still like CD audio better.



Besides, if it had mattered so much, non-linear (mu/A-law) encoding could have applied to 16bit as well..


naw, then you get a sorta noise amplitude modulation with a signal of
roughly constant amplitude.  and there are much better ways to do
optimal bit reduction than companding.  companding is a quick and easy
way they did it back in the old Bell System days.  and, even in
companding, arcsinh() and sinh() would be smoother mapping than either
mu or A-law.


--

r b-j                  r...@audioimagination.com

"Imagination is more important than knowledge."



--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


-----
Aucun virus trouve dans ce message.
Analyse effectuee par AVG - www.avg.fr
Version: 2015.0.5645 / Base de donnees virale: 4284/9088 - Date: 10/02/2015
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp

Reply via email to