MLS measurement with Speaker Workshop and Creative USB sound card: not working

I've bitten the bullet, after more than a year of guidance from seniors at DIYaudio and Gooroo Angshoo. I've decided to learn how to use a software program to measure driver parameters, optimise a passive xo, and design my own speakers. And as expected, I'm stuck pretty early in the process.

I'm using MS Windows XP Home and Speaker Workshop on a 2GHz laptop. My sound card is the Creative Digital Music MP3+ USB. It has RCA line ins, RCA line outs, plus a mono mic in (with phantom power) and headphones out. It works in full duplex.

I've built a loop cable, and tested it with a DMM to ensure that the signal from the left lineout actually is directly connected to the line ins (left and right). I've read the Unofficial Speaker Workshop Manual v1.0 (first part on calibration and config), and I've successfully done a "Record" through Speaker Workshop with sine waves. When I do a "Loop Record" and play with the mixer's volume settings, I get to set the amplitude correctly such that there's no clipping. See the screen shot here:

[IMGDEAD]http://www.starcomsoftware.com/tmp/personal/photos/sine.gif[/IMGDEAD]

Therefore I'm certain that my loop cable is working, and also that Speaker Workshop works smoothly with my sound card to play and record signals. When I try to do a "Record" using MLS, I get a strange graph:

[IMGDEAD]http://www.starcomsoftware.com/tmp/personal/photos/mls.gif[/IMGDEAD]

As you can see in the bottom left of the image, the VU meter is showing very large amplitude signals. (I subsequently cut the volume in the mixer and got the MLS signal to stay within reasonable limits --- i.e. no clipping.) However, I can't see any trace of the signal in the graph. Where is the signal? What am I doing wrong?

And when I try to use the impedance jig to measure a test resistor, it doesn't give me any reading at all.... it just shows me no reading, i.e. zero impedance.

Angshu told me to try changing the latency settings. I've tried all latencies from -20 to +20 or so. No luck.

If the VU meter is reporting high amplitude signals, why can't I see it in the graph? I thought perhaps the high-amplitude pulse is to the left of the origin of the graph, so I changed the min-max range of the X-axis in "Chart Properties" to start the graph from -20msec onwards. I thought zooming in to a small part in the beginning of the time period would help, so I changed the range (X-axis) from -20ms to +50ms. I also switched off all vertical grid lines and tick marks, so that no pulse of the graph would be hidden behind these lines. No luck. The graph is absolutely devoid of any pulses other than that tiny one after about 20ms.

Please help.
 

jomor

Member
2004-02-20 1:36 pm
Athens
open the Recording Mixer of your sound card and enable the viewing of all available potentiometers. If you see a potentiometer named "What you hear" (or something like that) do enable it and try to do an mls signal recording. On some sound cards that have the additional "What you hear" potentiometer, you need to switch to that option for mls recording, while it works with the Line-In for sine recording.

Speaker Workshop is a bit confusing at first, but when you manage to do proper calibrating and settings, it gives very accurate results. Its our best friend for crossover design! and its free !

( do visit Claudio's website, its really heplful to start fast with speaker workshop step by step in an easy way http://paginas.terra.com.br/educacao/claudionegro/english/ )
 
No "What you hear" with the SB DM

jomor said:
open the Recording Mixer of your sound card and enable the viewing of all available potentiometers. If you see a potentiometer named "What you hear" (or something like that) do enable it...
There's no such potentiometer on this SB Digital Music MP3+ :(

( do visit Claudio's website, its really heplful to start fast with speaker workshop step by step in an easy way http://paginas.terra.com.br/educacao/claudionegro/english/ )
Yes, I've seen it, and it's really helpful. However, the problem I'm facing appears very specific and till I lick it, the other guides and manuals won't help, I think.

Thanks for your suggestions. :)
 

jomor

Member
2004-02-20 1:36 pm
Athens
ehm, check the volume control mixer too if you already haven't done so. you could also post a thread at the speakerworkshop forum, if i m not mistaken there are some members there who have the same soundcard with you and perhaps someone could have faced the same problem
 
jomor said:
ehm, check the volume control mixer too if you already haven't done so. you could also post a thread at the speakerworkshop forum, if i m not mistaken there are some members there who have the same soundcard with you and perhaps someone could have faced the same problem
What should I check on the volume control of the mixer? It's set to a value where it doesn't clip. Should I set it lower? And yes, I think I should try the SW forum... that may get me more specific help.

Thanks. :)
 

wintermute

Administrator
Paid Member
2003-08-03 11:43 am
Sydney
If your creative card is anything like my Audigy II ZS then there are a few important things you need to do to get it to work.

You must choose the Analog Mix as your recording source, and in the control panel (ie system one) sound settings you must go to the recording control panel, and click on the advanced button for analog mix, and tick the record without monitoring tick box.

also do not mute the line in control ( I think the unofficial speaker workshop manual says to do this).

see screen print.

Tony.
 

Attachments

  • soundsettings.gif
    soundsettings.gif
    89.3 KB · Views: 477
If you will notice in your first chart, the sinewave doesn't start untill about 24mSec. This is called LATENCY and indicates a delay between the time the signal is generated, then received and processed by your sound card.
If you notice your second chart, it only displays to about 10mSec...therefore you are probably not even seeing the data. Actually, with latency this high it may not even make a measurement correctl at all. Try changing the second chart's properties so that the X AXIS extends out to 40mSec like the first chart.

Also, you will need to correct for this 24mSec delay before you can get good measurements. Here is a quote from the SW Help File:

"Debug tab (Options Preferences dialog)

This tab contains system specific settings. There is a checkbox to let you enter debugging mode (don’t use this unless asked to by Audua personnel), and there is a data entry field to set the Latency value.

Latency:

When Speaker Workshop performs a record operation it synchronizes the input and output signals using capabilities of Windows. This synchronization could be slightly off, depending on the speed of your computer and sound hardware. Set this value to adjust the synchronization to compensate for those effects. A value of 0 uses the standard synchronization. Non-zero values adjust the synch point forward and backward in milliseconds.

To set the value: perform a signal record operation using an MLS signal in loopback mode (just because an MLS is easy to see) and look at the recorded signal. The MLS should start at the left edge of the chart. Expand the left edge to examine the signal closely. If the signal starts before the chart begins (valid data is visible at time 0) you should try shifting the latency using negative values, perhaps –5 to start. If there is blank space and then the signal starts you should adjust the latency forward by the millisecond delay you want to introduce. A delay of <5ms is adequate and will work fine with Speaker Workshop, although you might want to tweak the delay to less than 2ms for slightly better noise results. Perform this operation a few times to make sure your computer system is consistent – the delay doesn’t vary.

Latency is stored in the system registry and will be used for all record operations, including measurements, and with all databases.

MLS Warm up
The sound card you use may very well have startup issues when starting a record operation due to things like capacitors charging up and clocks getting to speed. As an option, Speaker Workshop lets you send a short low-level signal to the card before the actual data is sent. This seriously improves the measurement quality for a single sample and marginally improves multi-sample tests as well. The default of 100 seems to work well. A longer default would help with a card that takes a long time to get to full performance. This can be checked by doing a simple Measure Impedance of a driver with a single MLS sample with different warmup settings."


Ironically, SW actually works better with older PC's...the newer sound cards seem to have much more latency than the old ones, as well as a lot of un-needed software and drivers which cause problems with SpeakerWorkshop. The program was developed back in the day "SoundBlaster 16" cards were common.

Also, there may be some help at the SW soundcard thread:
http://www.speakerworkshop.com/forum/viewtopic.php?t=925
 
wintermute said:
If your creative card is anything like my Audigy II ZS then there are a few important things you need to do to get it to work.
Actually, my sound card is a very simple stereo-in, stereo-out card, and doesn't have the Analog Mix source. Also, I can't afford to keep the line-in muted... that's the only input I'm using. :)

But thanks for the pointers.

kan3 said:
Is MLS measurement the only thing your using speaker workshop for?
Thanks for the pointers. I'll try the first of the two links you gave me --- the other one seems to be too raw: v0.0.1

BTW, will RightMark AA also do such measurements? And I'm using --- or intend to use --- SW for the full speaker designing process, not just MLS measurements. SW is currently the only speaker design software I have, including xo design, box design, and measurements.

BTW, I seem to find that SW's vented box design module does not support SBB4 alignment. Is this correct? I think I saw only BB4 and QB3 and one other alignment. Why is SBB4 not included? Just curious.
 
jbateman said:
If you will notice in your first chart, the sinewave doesn't start untill about 24mSec. This is called LATENCY and indicates a delay between the time the signal is generated, then received and processed by your sound card...
Thanks for the patient and detailed reply. :)

I too had read those portions of the Unofficial SW Manual, and I had sort of guessed that the part about latency controlled what you've mentioned. Just to be sure, I took some fresh recordings with the loop cable, both sine wave, once with the latency set to zero and the next time with latency set to 20ms. Here are the two graphs, and it's very clear that setting the latency to a positive value shifts the entire signal to the left, as you'd explained:

[IMGDEAD]http://www.starcomsoftware.com/tmp/personal/photos/sine2.gif[/IMGDEAD]

The image above had latency = zero. The one below has latency = 20ms.

[IMGDEAD]http://www.starcomsoftware.com/tmp/personal/photos/sine3.gif[/IMGDEAD]

If you notice your second chart, it only displays to about 10mSec...therefore you are probably not even seeing the data. Actually, with latency this high it may not even make a measurement correctl at all. Try changing the second chart's properties so that the X AXIS extends out to 40mSec like the first chart.
After reading your comments, I took some fresh MLS readings, and the graph of the signal remained completely blank, as I'd feared. As you can see now, the X axis extends well beyond the latency point. AND these MLS readings were taken with the latency setting set to 20ms, which means if there was anything in the graph, it would shift left by 20ms.

The first graph below shows the amplitude against time for the MLS recording, with latency set to 20ms:

[IMGDEAD]http://www.starcomsoftware.com/tmp/personal/photos/mls2.gif[/IMGDEAD]

And this one is the FFT of the earlier graph:
[IMGDEAD]http://www.starcomsoftware.com/tmp/personal/photos/mls2-fft.gif[/IMGDEAD]
In this one, you can clearly see the frequency peak at 1KHz... I presume the MLS signal has a 1KHz frequency.

Also, you will need to correct for this 24mSec delay before you can get good measurements.
As you can see, I did the correction and it has amounted to nothing. In fact, if you read the very first posting in this thread, I'd mentioned that I've played around with the latency setting, trying everything from -20ms to +20ms. Didn't help. However, there's certainly some high-amplitude signal somewhere, otherwise the VU meter wouldn't have shown such a magnitude.

Ironically, SW actually works better with older PC's...the newer sound cards seem to have much more latency than the old ones, as well as a lot of un-needed software and drivers which cause problems with SpeakerWorkshop....
I sincerely hope this won't be a show stopper.
 
well, it would still be interesting to know a few of your settings. For example, when you set your test signal properties to MLS IMPULSE, you have to set the sample size of the MLS burst. If this size is smaller than the Sample size under the PREFRENCES/ Measrements/Sample size tab it might not be recorded. Also setting the Repeat Count under this tab to greater than 1 may help.

Good Luck...sorry I don't have any further suggestions.
 

jomor

Member
2004-02-20 1:36 pm
Athens
kan3 said:
Is MLS measurement the only thing your using speaker workshop for?

Is so then try these free and easy to use alternatives:

http://www.wavecapture.com/DOWNLOAD/LL3/LspLAB3Demo.exe

http://sourceforge.net/project/showfiles.php?group_id=125702&package_id=139646&release_id=302959

if anyone uses SW just for mls measuring, he s missing all the fun. What I really find useful in SW, is the crossover simulator. It uses the measured data of both drivers (measured on the final cabin, including phase data !! ) to design/simulate the crossover and see the exact results before building the crossover in a few minutes. You can vary the value of a component and see in real time how it affects the final frequency response. The most useful of all, is changing the crossover parts values while having the tweeter polarity reversed, trying to get the deepest symmetrical cancelation possible around the crossover frequency (which gives perfect phase matching with correct tweeter polarity). Thus you dont have to worry about drivers' acoustic offset etc, and you solve any phase problems before building the crossover and doing listening tests ! And all this in one tool, for free !!!!!!!
 
Re: I posted in the Speaker Workshop forum...

jbateman said:
Did you go through the OPTIONS/CALIBRATE procedure for Amplifier Reference Response and Channel Difference?
I didn't do amp reference calib. (I don't even know such a thing exists.) I did channel difference calib, though. And the MLS problems I'm facing are visible irrespective of whether I use the channel difference data or click on "None" and blank out that data.

I'm not using a power amp, BTW. All my postings here have been WRT a normal loop cable directly connected to the sound card.

What are your settings under the OPTIONS/PREFERENCES tab...particularly the measurements and markers tabs?
In Measurements:
  • Sample rate is 44100 (SW says this is the fastest rate for my card, so I set this.)
  • Sample size is 256k
  • Volume is 100
  • Reverse channels is NO (unchecked)
  • MLS Use preemphasis is unchecked
  • Repeat count is 1
I don't remember what's there in "Markers", but I don't remember doing anything funny with it, or trying any range of settings in it. (I would have told you what I have in that dialog box, but it'll require a complete reboot to Windows and re-reboot back to Linux. I'll give it to you in a separate post.)
 
jbateman said:
well, it would still be interesting to know a few of your settings.
I'm sorry I gave you the impression that I didn't want to respond to you anymore... that was not my intention at all. Our posts crossed. (And the delay from that post to now is because I went to sleep and have just woken up. It's an overcast August morning in Bombay as usual.)

For example, when you set your test signal properties to MLS IMPULSE, you have to set the sample size of the MLS burst. If this size is smaller than the Sample size under the PREFRENCES/ Measrements/Sample size tab it might not be recorded. Also setting the Repeat Count under this tab to greater than 1 may help.
Ok.... I'm beginning to get the idea. Does this mean that with 256k samples at 44.1 Ksamples/sec, we're talking of six full seconds of burst size? I'm currently running my MLS with just 0.5sec duration. Should I set the burst length to something like 7 seconds and see?
 
Re: Re: I posted in the Speaker Workshop forum...

Dear Jbateman,

tcpip said:
I don't remember what's there in "Markers", but I don't remember doing anything funny with it, or trying any range of settings in it. (I would have told you what I have in that dialog box, but it'll require a complete reboot to Windows and re-reboot back to Linux. I'll give it to you in a separate post.)
I think I've solved my problem, and I think you're a genius, but I'll first give you the marker data. (Who knows, there may be some future problems lurking there.)

In the Marker tab, all three "visible" tick-marks are unchecked. For time, the min is 0, max is 10msec. For frequency, the min is 20Hz, max is 1KHz. Impedance min and max are the same as frequency.

Is this what it should be? I don't have a clue about this dialog box, even after reading the help. Will I find more data if I go through the Unofficial Manual?
 
Problem is probably solved

.... and Jbateman somehow, using divination and genius, realised what the problem was. He gave me the right diagnosis. It was sample duration. If I've understood him right, then my sample duration was too short. If I set 256ksamples as sample size, and then set 44.1kHz as sample rate, I'll need a minimum of 6 seconds to get a full sample set. I was using less than 1 second. So I changed the signal playback duration from 0.2 seconds to 7 seconds, and record duration from 0.4 seconds to 9 seconds, and I can now see an MLS spike.

I first tried this with 64Ksamples, and this is what I got:
[IMGDEAD]http://www.starcomsoftware.com/tmp/personal/photos/mlsbig.gif[/IMGDEAD]
The spike came after 1.36 seconds, which means, I guess, that it came at the end of the 64k samples. (44.1kHz and 64ksamples => about 1.48 seconds.)

I then increased the sample size to 256ksamples, and got this graph:
[IMGDEAD]http://www.starcomsoftware.com/tmp/personal/photos/mlsbig256.gif[/IMGDEAD]
In this one, the spike is almost six seconds after the start, as the X axis shows.

So, now that I'd begun to see a spike, and begun to believe that The Holy Grail had been attained, I attached a test resistor of about 25 Ohm to the impedance jig and took an impedance measurement. This is what I got:
[IMGDEAD]http://www.starcomsoftware.com/tmp/personal/photos/testresistor.gif[/IMGDEAD]
(I turned off the chart display for Y2 (phase)). Is this how it is supposed to look? Is there a nice smoothing function which will even out all those squiggles and give me a neat straight line to look at which will tell me what my resistor value is? And why should a resistor reading give me such wide fluctuations at low frequencies? Is it because my sound card is poor at handling low frequencies? (Is it DC-blocked, for instance?)

And will you guys please explain "Markers" to me? Since my frequency markers were set to 20Hz - 1KHz, does this mean that my impedance readings were taken using test signals only in that range? If this is true, am I supposed to ignore the right-hand part of the graph beyond 1KHz in the image above?

Now that I come to think of it, Gooroo Angshoo had told me to keep a small sample size, maybe just 11K or so "or the sampling will take too long." At that time, I had not realised that this is not a convenience issue, it's a fundamental correctness issue.
 
Wow, that's a lot of stuff since yesterday. I can't digest it all, but want to make a couple suggestions.

1)SW uses the start and stop "markers" as a window for the points in time in which to process the data. Even if they are set to invisible, it still needs this info to work. Since your card has high latency, for now, I would set the start to 0msec and the stop to 30msec. If you have corrected for this latency, you can later set the stop number to something lower.

2) For now, also set the SAMPLE SIZE to 16K. This will be adequate for the line level measurements you are making. It will also get rid of a lot of the "fuzz" on your charts. Set REPEAT COUNT to 2.

3) The reason to do the OPTIONS/CALIBRATE/AMPLIFIER REFERENCE RESPONSE is to allow SW to normalize out all the response irregularities of your sound card...even if you don't have an amp at this time. Once you have gotten through this procedure, you should be able to create a "NEW DRIVER" under the RESOURCE tab. Then with your loop cable in place, do MEASURE/PULSE RESPONSE. IF you can get a chart that looks similar to this, you will at least know your soundcard is processing the data reasonably well.
[IMGDEAD]http://members.verizon.net/~pecker/swtest.gif[/IMGDEAD]


4) The impedance measurements will work much better once you can get a small amplifier into your setup. However, there is a specific procedure that must be done to calibrate SW for making impedance measurements. I'm sure the "manual" or Claudio's site will explain it, but under the OPTIONS/PREFERENCES/IMPEDANCE tab you will see some boxes that must be filled in along with some "TEST" buttons. You will need to have a few resistors, and go through this procedure before your impedance graphs look correct.
 

wintermute

Administrator
Paid Member
2003-08-03 11:43 am
Sydney
I actually found that I get the cleanest impedance measurements with the lowest possible levels.... depends on your sound card though. The Audigy II ZS I have is quite capable of driving low impedance loads, and gives very good results without an amp. The two sound cards I had before however needed an amp to get good results.

when doing impedance measurements, try reducing your levels so that what you are recording it is down around the 8K mark rather than closer to 20K. I actually measure down around 2k but my sound card is a very good one for speaker workshop use.

Tony.