0
0

Hi,

I am getting a strange pop at the beginning of a few of our music on iPhone. It doesn’t happen on all of them (3/5). We are using fmod 4.36.00 but it was happening before as well.

The only thing I do is
_eventSystem->getGroup("ibm2/music", false, &_groupMusic);
_groupMusic->loadEventData();
eventSystem->getEventBySystemID(systemId, FMOD_EVENT_DEFAULT, &_eventMusic);
if( _eventMusic )
{
_eventMusic->start();
}

Anybody has seen this issue?

Edit: Here is the log while this is happening

FMOD: SoundBank::createStreamInstance : ev=0x10801408 evmode=0 mode=1572936
FMOD: SystemI::createSoundInternal : filename = /Users/molekimoleki/Library/Application Support/iPhone Simulator/4.1/Applications/BAB8DAA2-0799-4D05-8568-2586F307FE27/iBlastMoki2.app/ibm2_music.fsb : mode 081800ca
FMOD: SystemI::createSoundInternal : exinfo->cbsize = 136
FMOD: SystemI::createSoundInternal : exinfo->suggestedsoundtype = 7
FMOD: SystemI::createSoundInternal : 17 codecs found. Scan all until one succeeds
FMOD: CodecFSB::openInternal : attempting to open as FSB..
FMOD: CodecFSB::openInternal : found FSB4
FMOD: CodecFSB::openInternal : FSB contains 5 sounds
FMOD: CodecFSB::openInternal : done.
FMOD: SystemI::createSoundInternal : Format has 5 subsounds.
FMOD: SystemI::createSoundInternal : Create as FMOD_CREATESTREAM
FMOD: System::createSoundInternal : decode buffersize = 17408 : blocksize = 256 : format = 2
FMOD: SystemI::createSample : mode 080000ca length 17408 samples, lengthbytes 3096240
FMOD: SystemI::createSample : subsamples = 1, channels = 2
FMOD: SystemI::createSample : subsample 0. output = 0x9287378
FMOD: SystemI::createSample : mSoftware = 0x9287378
FMOD: OutputSoftware::createSample : lengthpcm 17408, lengthbytes 3096240, channels 2, format 2, mode 080000ca
FMOD: OutputSoftware::createSample : done
FMOD: SystemI::createSample : done
FMOD: System::createSoundInternal : 5 subsounds detected.
FMOD: System::createSoundInternal : Seek stream to start
FMOD: CodecFSB::setPositionInternal : subsound 0 position 0 postype 2
FMOD: CodecFSB::setPositionInternal : done
FMOD: System::createSoundInternal : flush stream buffer
FMOD: System::createSoundInternal : flush successful.
FMOD: System::createSoundInternal : switch file handle from small blocking single buffered to large nonblocking doublebuffered.
FMOD: SystemI::createSoundInternal : done. OpenState now = FMOD_OPENSTATE_READY.

FMOD: EventI::stopInternal : 0x10801408 1
FMOD: EventGroupI::loadEventDataInternal : m_flags: 00000000
FMOD: EventI::start : 0x10801408
FMOD: SoundI::getSubSound : sound 0x1528d5f8. Subsound index 1 / 5
FMOD: CodecFSB::setPositionInternal : subsound 1 position 0 postype 2
FMOD: CodecFSB::setPositionInternal : done

  • You must to post comments
0
0

Have you checked the source wavs? Are there any artifacts at the start?
Did you have looping set in Designer when the source doesn’t loop seamlessly?

  • You must to post comments
0
0

The wavs are fine.

The music are set to loop (repeating loop), but the problem is audible the first time it plays and when it loops it doesn’t have that pop.

  • You must to post comments
0
0

It could be that the loop points (start and end) are not at a zero crossing causing a DC offset pop at the start.

  • You must to post comments
0
0

What does zero crossing means? And what would be the solution for this?

  • You must to post comments
0
0

Take a look at the waveform for your music, the center line of the waveform is 0, generally when you have looping music the point at which the ends join is on the center line.

If your music starts offset from the center line you may hear a pop on playback.

  • You must to post comments
0
0

[quote="mathew":3832m75v]Take a look at the waveform for your music, the center line of the waveform is 0, generally when you have looping music the point at which the ends join is on the center line.

If your music starts offset from the center line you may hear a pop on playback.[/quote:3832m75v]

Hello Mathew,

I’m the composer for this project.
All music starts gently from 0 with an intro, the looping part is further into the music (we use loop points). So I doubt that’s where our problem comes from. Also, it doesn’t sound like the usual pop or click you can hear when a wavform goes abruptly from one value to distant value, it’s a tiny bit longer than that (I’d say about between 50 and 100 ms?). It sounds like the engine starts to play at high volume and then stops right away to start playing the correct music.

This might be somewhat connected to loops though, because Moleki tells me that if the music is set as "Oneshot" instead of "Repeating Loop" (they’re simple events), then the problem disappears. But then the music doesn’t loop anymore. :)

Thanks for your help, we’re a bit lost here. :)

  • You must to post comments
0
0

When you encode with looping enabled we prime the encoder with the end of the file to make the start loop cleanly. If your piece of music is not intended to be looped from end to start (i.e. you are using loop points) this trick will not work. We don’t have a setting for you to disable the loop encoding as Designer doesn’t differentiate between loop points from the source wav or end to end looping.

I do however have a trick that might work for you:
Try creating a dummy simple event set to oneshot and put any music wav files you are having trouble with in the playlist.
What this will do is force the music files to be encoded as oneshot, but played as looping.

  • You must to post comments
0
0

Thanks a lot for the trick, I will try that tomorrow!

[quote:1epdk5w1]We don’t have a setting for you to disable the loop encoding as Designer doesn’t differentiate between loop points from the source wav or end to end looping.[/quote:1epdk5w1]

Sounds like a useful update in the next version. :)

Thanks again!

Romain

  • You must to post comments
0
0

No problems, I’ve logged a bug report with the Designer team to see if something can be done.

  • You must to post comments
Showing 9 results
Your Answer

Please first to submit.