MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Possible bug in WAV export

  • To: mathgroup at smc.vnet.net
  • Subject: [mg87838] Re: Possible bug in WAV export
  • From: m.r at inbox.ru
  • Date: Fri, 18 Apr 2008 02:41:17 -0400 (EDT)
  • References: <ftsd0o$ba7$1@smc.vnet.net> <ftv8on$7kv$1@smc.vnet.net>

On Apr 15, 4:51 am, Szabolcs <szhor... at gmail.com> wrote:
> On Apr 14, 11:39 am, Jerry <Jer75... at yahoo.com> wrote:
>
> > The sound in Mathematica and the sound from the exported WAV file
> > (using some unknown player) seem the same to me. I'm using
> > V6.02 on a XP box.
>
> I experimented some more and it turns out that the problem is not
> limited to WAV (it is present with FLAC and AIFF too).  However, the
> problem only appears randomly, and not in each evaluation. The
> following command does not always give the same result:
>
> ImportString[
>  ExportString[
>   Play[Sum[Sin[2 Pi 440 k t], {k, 1, 4}], {t, 0, 1},
>    SampleRate -> 44100, SampleDepth -> 16], "WAV"], "WAV"]
>
> In about 20 or so evaluations I always get a few incorrect results.
> It is not even necessary to play the sound---it is possible to see the
> difference by looking at the spectra:
>
> Table[ImportString[
>   ExportString[
>    Play[Sum[Sin[2 Pi 440 k t], {k, 1, 4}], {t, 0, 1},
>     SampleRate -> 44100, SampleDepth -> 16], "WAV"], "WAV"],
>  {20}]
>
> Can anyone else reproduce this problem?  It is very strange that the
> result is not deterministic.  Any ideas why this might happen?
>
> To demonstrate that this unbelievable thing really happens, here's an
> another example, together with the result.  Note that the very same
> command returns different results in subsequent evaluations:
>
> In[1]:=
> Table[
>  Total[#[[1, 1, 1]]] &@
>   ImportString[
>    ExportString[
>     Play[Sum[Sin[2 Pi 440 k t], {k, 1, 4}], {t, 0, 1},
>      SampleRate -> 44100, SampleDepth -> 16], "WAV"], "WAV"],
>  {20}]
>
> Out[1]= {0., 268.745, -0.752563, -0.756226, -0.756226, -2.99866, 0., \
> 0., -2.98279, 0., 0.756226, 341.993, 0., -0.752563, 0., 268.017, \
> -0.752563, 0., -2.2522, 0.}
>
> The small fluctuations could be explained by dithering, but any
> reasonably precise result cannot have a sum of 342!  The sound
> function was constructed in such a way that the sum should be 0.

A workaround is to use PlayRange -> All.

Maxim Rytin
m.r at inbox.ru


  • Prev by Date: Re: Fourier Trasform of a Bessel Function
  • Next by Date: Re: Extending Integrate[]
  • Previous by thread: Re: Possible bug in WAV export
  • Next by thread: Re: Possible bug in WAV export