Playback stuttering on start

Hi,

I have a problem with playback where the track does not start cleanly. When I press play, the very first nanosecond of audio is played twice so it begins with a slight stutter - after this it plays fine and performs as you’d expect. This only seems to be a problem with tracks which have absolutely no “silence” at the start of them. I’ve tried testing with various soundcards and it happens both in the players, cartwall and PFL. Any ideas what I can do to stop this?

Cheers,
Sven

What type of sound card are you using?

Usually, this kind of problem occurs with low-end cards, and it can be cured by trying to change some of the BASS options in the mAirList WDM output configuration (BASS_SAMPLE_SOFTWARE, BASS_SAMPLE_FLOAT, buffer size, update period).

I’ve experienced a similar issue with version 2 and 3. I’m using a MAudio Delta 1010.

The Delta 1010 is known to be problematic when used with mAirList and/or BASS.DLL. Probably some driver issues.

Which is very sad, because it’s a card which seems to be very popular for playout purposes. I will try to contact the manufacturer, perhaps we can track the problem down and solve the issues.

I have tried using a couple of soundcards and I’m not trying to do anything to complex so it doesnt “feel” like a buffer type error.

It is also very repeatable - i.e. it always happens in exactly the same way and only on certain files - the ones with no trailing silence at all. It happens when I hit play, or PFL. However, once in PFL mode, if I hit “Test” then it starts fine. So it feels to me something about the way the first frames of audio are initially processed when they are played by the software…

For the record I have only tried with an Alesis io2 and my laptop internal soundcard - both of which are not expensive but I’m sure should be fine for such a basic operation!

Does this shed any light on the situation?

So does this happen with all of the soundcards you have tried?

Here’s a few things to try (separately):

  1. Enable BASS_SAMPLE_SOFTWARE in WDM module config for that sound card.

  2. Disable file management in mAirListConfig.

  3. Download the latest BASS 2.4 update from www.un4seen.com and use the DLL from that archive.

  4. In the BASS archive, there’s a folder named “C”, and inside another one named “bin”. There’s a small program called “basstest.exe”. Copy that one to your mAirList folder, run it and check if the stutter is noticable as well.

From past experience (though with mobo sound ‘cards’ and not M-Audio), I’d say that 1) or 2) (or maybe both together) will solve the problem.

And personally, I’d rather have a Creative card than an M-Audio card (yes, really!). Though M-Audio make reasonable hardware, I’ve had problems in the past with their Mixer randomly ‘losing’ its gain settings.

At home, I use a Terratec EWX 24/96 for all my ‘serious’ audio work and it’s always performed flawlessly. Though admittedly, it only has one stereo in and one stereo out (which is fine for my use) and I believe it’s also obsolete. :smiley:

BFN
CAD

Regarding the M-Audio card, I found the following document which might be helpful: http://m-pulse.m-audio.com/articles/february2003/optimization2.html

[quote=“Torben, post:4, topic:6185”]The Delta 1010 is known to be problematic when used with mAirList and/or BASS.DLL. Probably some driver issues.

Which is very sad, because it’s a card which seems to be very popular for playout purposes. I will try to contact the manufacturer, perhaps we can track the problem down and solve the issues.[/quote]

I had experiencing the same problem than described above with my 1010 LT.
You would probably have a better english than myself to explain us this problem…
As you made mairList, you’ll probably help them to solve this problem…
I’m waiting for new drivers from M-Audio.

Have you tried to set the infamous “independent” option in the M-Audio Control Panel? This should solve the problems in most cases.

I have the latest version of M-audio control panel but I haven’t seen the “infamous independant option”…
Do you have more details or illustrations about this ?
Thanks

I don’t own an M-Audio card myself, but if I recall correctly, the option is called “sync” or so, and it must be set to “independent”.

Here is a snapshot of the control panel of M-audio.
There’s nothing in the last driver to set to “independant”. It was only in previous control pannel.

Hm - so where did it go? What does the M-Audio documentation and/or support say?

Any other Delta owner who can answer this question?

I admit this is a guess, but to me, the phrase ‘independent sync’ means ‘I am providing my own sync,’ which would be the same as ‘Sync source: internal’ as shown on Guilllou’s illustration.

(The alternative would be ‘I want my sync. to be “slaved” to an external sync source, provided down my SPDIF input.’)

BFN
CAD

MULTITRACK DRIVER DEVICES: Delta 1010 has several different methods of ensuring that its inputs and outputs record and playback your audio in sync. These options are as follows: [...] • Independent: This option allows each input and output to be clocked independently. This does not guarantee sample-accurate sync but may place lower demands on your host processor, depending on the number of physical audio channels currently in use.

http://www.m-audio.com/images/global/manuals/070208_Delta1010_UG_EN01.pdf

If the option has disappeared in the more recent Control Panel versions, you should ask M-Audio support where it has gone.

Hi Torben,

I posted the original request for this and appreciated your suggestions. I have tried them all now and unfortunately they havent fixed the problem but I have spent more time testing it. Maybe now I have more info you can help?

I use the BASS_AAC.DLL plugin to enable me to play files from iTunes and on further inspection, the problem only occurs with AAC files, not MP3s. In Config/Modules/WDM Audio I have everything unticked except “Use Floating Point Data…” In this configuration, if I load a .aac file into a player and hit play, it stutters before starting. If I then hit stop, and then restart the track, it starts perfectly. I’ve tried this lots of times now and it only seems to stutter the first time you hit play after loading into the player.

I have tried adjusting the Config/Modules/WDM Audio settings and have not found a configuration that fixes it. However, If I also check the option “Pitch & Tempo Adjustment using BASS_FX.DLL”, then the stutter gets slightly better (less noticeable), but it happens everytime you play the track.

I know this is weird, and is possibly a problem with BASS_AAC, but can you shed any light on it? I was wondering since it only seems to happen the first time when an AAC file is loaded into the player, whether it is something in your code in the way you are accessing BASS_AAC. Any thoughts?

Cheers, Sven

The plug-ins for additional file formats are handled internally by BASS. There is no extra code involved on my side (other than looking for *.dll files in the plugins\bass folder and telling BASS to load them).

Can you reproduce the problem with the “plugins.exe” example from the BASS archive (found in the “c\bin” folder?). Just create a new folder, and copy plugins.exe and bass.dll and all plugins into it.

Hmmm - not sure then. I’ve tried to reproduce the problem with plugins.exe as you suggest and using the same audio file, but it plays fine doing that. The problem only occurs in mAirList. This could be a tricky one to track down!

Does is also happen when another file is already playing on the same soundcard, e.g. in the other player?

Perhaps it’s some sort of timing problem. One difference I see between the plugins example and mAirList is that mAirList would only open the device in the moment the file is loaded into the player, and close it again when the player is closed (and no other player is active on the same device). The plugins example opens the devices immediately when you launch the application, so there’s plenty of time for the device to settle while the user loads a file.

The upcoming version/snapshot will have a new option in the WDM configuration, “keep device open” which will let the device remain open even when you close the player, so it will not be re-initialized when you load the second file. I needed this for something else, but it might also work here. Although it’s just a shot in the dark.

Oh, and according to the source code, the plugins example has both floating point data and software mixing turned off, so you should use the same combination of flags in mAirList when comparing results.