• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
iOS AUSampler pitch jumps
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

iOS AUSampler pitch jumps


  • Subject: iOS AUSampler pitch jumps
  • From: Andreas Gustafsson <email@hidden>
  • Date: Sun, 04 Jan 2015 17:44:28 +0200

Hi all,

I'm having a strange problem with the AUSampler on iOS.  When I use
it to play a long sample of a sustained note (without looping), it
suddenly goes out of tune in the middle of a note.

To verify that I'm not imagining this, I created a test case
using a soundfont containing a single sample of 10 seconds of
440 Hz sine wave, mapped to MIDI note 69 (A).  When I load this
soundfont into the AUSampler and play MIDI note 64 (F), the output has
the correct pitch at first, but about 2 seconds into the note it
suddenly jumps to about 6 cents sharp, and about 8 seconds into the
note it jumps to about 26 cents (!) flat.

This happens both in the iOS simulator and on the device.
I have captured the output from this test digitally using the
simulator and SoundFlower; you can listen to it here:

  http://www.gson.org/bugs/apple/ausampler/AUSampler-pitch-jumps.wav

The soundfont I used, with the sine wave as bank 0 patch 0 is here:

  http://www.gson.org/bugs/apple/ausampler/Sine.sf2

Is anyone else seeing/hearing this?  Is there anything that can be
done about it?

I suspect this may be caused by a loss of floating point precision
somewhere inside AUSampler, because I once made the mistake of trying
to generate a sine wave using naive C code like this:

  float t = 0;
  float dt = 1.0 / fs;
  for (;;) {
      output(sinf(w * t));
      t += dt;
  }

where the "t += dt" progressively loses precision as "t" grows, and
the output exhibited jumps in pitch quite similar to the ones I'm now
hearing from AUSampler.
--
Andreas Gustafsson, email@hidden
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


  • Prev by Date: Re: Inter App Audio : error -66748 from registration server (bis)
  • Next by Date: Re: Inter App Audio : error -66748 from registration server (bis) (Steph Ohara) Thank you!
  • Previous by thread: Re: Inter App Audio : error -66748 from registration server (bis)
  • Next by thread: Re: Inter App Audio : error -66748 from registration server (bis) (Steph Ohara) Thank you!
  • Index(es):
    • Date
    • Thread