V3.0.11 B652: IEnvelope problems

This kind of follows on from the envelope issues I originally reported here:
… but I decided to open a new topic for it.

My experiments with IEnvelope are progressing well, but there are still some problems which make it difficult to write a ‘universal’ script for envelope handling.

My ‘test’ PC for mAirList is my ‘old’ PC, which has a Terratec EWX 24/96 card in it. This card has both a WDM driver (Terratec call this the ‘WavePlay Analog’ output) and an ASIO driver.

My test script is setting a envelope which starts the track (i.e. at position zero) ‘faded down’ by -24, which is -11dB down on each stereo channel. I have a second point set 500mS before Ramp1 (also at -24 = -11dB), and a third point set at Ramp1, with a level of zero (i.e. at ‘full volume’).

If I route all mAirList Players to use the WDM driver (my normal settings), I have two problems:

  1. I still have a ~2s delay in processing each envelope point. My BASS.DLL settings in Config use a 2000mS Buffer—and I don’t think this is a coincidence (see below).
  2. The ‘faded down’ track starts with a digital ‘screech’ which lasts ~2s. Again, I don’t think this is a coincidence. I think what I’m hearing is a corrupted buffer. Note that I am changing mAirList from ASSIST to AUTO mode before playing any tracks, so that isn’t the cause. :wink:

If I instead route all mAirList Players to use the ASIO driver:

  1. There is no delay in processing the envelope points: they all work perfectly at the correct positions.
  2. There is no digital ‘screech’ when the ‘faded down’ track starts.

It therefore seems that the problems (delay of processing envelope points, and the ugly ‘screech’ at the start of the track) only happen when BASS is ‘talking’ to a WDM driver and not when BASS is ‘talking to’ an ASIO driver.

I don’t really want to use the ASIO driver; I only tried it to see if it made any difference. And I didn’t change the BASS buffer length either: it’s 2000mS in both cases (WDM and ASIO).

As I said above, it’s somewhat frustrating not to be able to do fades in and out (using envelopes) which will work on any possible audio device. My script code does include a ‘processing delay’ constant, but that doesn’t cure the ‘screech’ problem wiht the WDM driver; and the ‘delay’ constant doesn’t seem to be needed at all if I use my ASIO driver instead of the WDM driver.

So, Torben: does this information give you any clues as to what might be causing these problems?

Thanks in advance.


Ok, seems like there’s still some trouble with the envelope processing. Could you please send me a short audio file that demonstrates the problem, along with an MMD file containing the envelope data? That would help me alot.

By the way, the envelopes are implemented by modifying the sample data as it is processed by BASS (using BASS’ “DSP function” feature). A slow PC shouldn’t cause any delays in the processing - however, CPU load will of course be higher.

Never mind. Already found out what the problem is and now looking for a good solution.

I’m uploading Build 653… You also need an updated bass_fx.dll: http://www.mairlist.com/download/tmp/bass_fx.dll

Let me know if this works for you.

Dear Torben,

I will download and try these shortly, but I wasn’t aware that envelope data was stored in MMD files?

I have been saving MLPs with envelope data in them, but find it a bit scary that MMDs can contain envelope data as well! Why would you want a ‘fixed’ envelope stored in a file’s MMD? >shrug< I guess someone specifically asked you for that.


I see no reason why it shouldn’t. It’s just another property of the items, like artist and title, cue points, or ampliciation. You can store default values in your MMD files as needed, and modify them on playlist/desktop level. What’s the point?

Well, first of all, let me say a BIG ‘thank you’ for fixing the envelope problems: it’s working WONDERFULLY well!

As to storing envelope data in MMD files: I hear what you say, but I’d be nervous about haiving ‘permanent’ envelope values stored for any item. That’s fine if all you ever do is voicetracking, but let’s say you have an item with a ‘fade in’ envelope (up to its Ramp1 cue point) and you then want to play the whole item from the start at ‘full level.’ What do you do?

You don’t (currently! ;)) have any way to change or remove the envelope points, other than by manually editing the MMD. Unless I’m missing something (?), there is no page in the Item Properties dialog which allows the user to display or edit the Envelope points. THAT was my point. ;D


No, it’s not possible to modify the envelope through the GUI in any way yet. That’s planned for the Great Properties Dialog Redesign :wink:

Oh, and glad to hear that its ok now. Thanks to Ian from BASS for pointing me into the right direction. Rather than implementing the envelope myself, I’m not using the envelope mechanisms provided by bass_fx.dll (this is why you need a newer version, the previous one didn’t support it yet).