Signal Generator Needed
Mar 17, 2013 at 1:55 PM Thread Starter Post #1 of 9

shrimants

1000+ Head-Fier
Joined
Nov 8, 2006
Posts
1,176
Likes
81
I need to generate a 5.1 channel signal. It doesnt really matter what format it is, it can be FLAC output, AAC, or w/e as long as it has a full 20hz-20khz capability (so no mp3 64kbps).

my soundcard has DTS-connect, so I can take a 5.1 channel (3F2R/LFE) signal and compress it using DTS, and send it to my reciever. the reciever can then decompress it and send the sound to the proper channels.

I need to be able to play a 3 second signal and specify the frequency. I dont care if they are pre-set musical notes or if I have to manually type in the frequency or if I have to dial it in with a slider or some kind.

As an example, the closest thing I have found is this: http://www.tropicalcoder.com/ASIOTestSigGen.htm

The problem with this program is that since it is ASIO, it bypasses all the DTS capabilities of my sound card. This means that in order to use the program for anything except front left/right, I have to connect via analog on my sound card, and I dont want to buy those cables or disconnect my entire cable setup from the blu-ray player downstairs. If this program was multichannel PCM (or flac, or wav, or mp3, or whatever) but didnt use the ASIO driver and instead used "windows default sound driver", that would be exactly what I need.
 
Mar 17, 2013 at 2:11 PM Post #2 of 9
free Audactiy sound editor will let you make multi-channel .wav and has tone generator
 
but whether it can be exported, recognized by the rest of the system is up to too many drivers to guess
 
Mar 17, 2013 at 2:28 PM Post #3 of 9
Audacity is a too cumbersome for what I was going for. I would have to make 6 seperate files for each tone I want to generate, andthere would be no way to control the length of the tone if I want it to play for slightly longer or shorter. I opened a multichannel FLAC file, which consisted of 6 mono tracks. So to do this with audacity, I would have to create 6 mono tracks, do tone gen on one for a 30hz tone, save it and presumably that is when I would assign channels to everything, and then double click to play it. That is exactly one channel tested with exactly one frequency. I need to test 6 seperate channels and be able to select the various frequencies. I wouldnt mind having to write some sort of command line script/loop (even in linux) to get through this process automatically, but to do this with point and click is not an option I'm willing to attempt until everything else fails.
 
Mar 17, 2013 at 2:41 PM Post #4 of 9
There are many audio programming languages, both with command line and graphical user interface, that can be used to generate any complex signal. Some of these support multichannel audio, and also real-time playback.
For creating basic test tones as a WAV file, you could also try 'testgen' from the third link in my signature. It has a simple syntax, but can only write stereo files, which would need to be combined with another program into a multichannel file.
 
Mar 17, 2013 at 2:55 PM Post #5 of 9
I have made complicated stepped frequency test tone .wav in LTspice - but because I already know it well - its behavioral source math amounts to a primitive scripting language
 
SciLab is a free MatLab workalike so heavy duty math scripting is its forte - just doesn't have the memory for really long .wav files - but should be enough for a few minutes - pretty similar to MatLab if you've used it in classes you'll have no trouble with SciLab syntax
 
either could create the multichannel .wav(s) - how you play them is another matter
 
wanting "live" control of time, frequency is asking for a lot more
 
Mar 17, 2013 at 3:14 PM Post #6 of 9
Maybe I'm attacking this from the wrong angle. All of the signal generators I find are either mono or stereo. The asio one is analog only, but the ASIO junk is just an added layer of complexity. It shouldnt be that hard to simply send that signal to a windows primary sound driver instead of an asio driver specifically. Yet, every time I find a multichannel signal generator, they are pieces of software in the 200+ dollars range.

How do home theater calibration people do it? Is there a test tone disk with a bunch of test tones pre-made? There must be some way other than trial and error using a pre-set chunk of test files and sweeps.

The way I have currently set up my speaker/subwoofer crossover is to turn off the subwoofer, play tones from 100hz and downwards until the speakre wasnt as loud (not really scientific, but whatever, im working with what i've got at the moment). Then I turned on the subwoofer and set the crossover to around that frequency where the speakers just barely started getting softer. I played tones from bottom up and made little adjustments to the subwoofer gain and crossover until going from 30-110 hz in 3-5 hz increments there was no audible change in volume. My subwoofer is connected as a L/R pass-through, so this is the ideal setup for my situation as it stands. I have the speakers using their full range of capabilities and the subwoofer filling in where the speakers give out.

SIDE NOTE: This, however, was not the way to go about it. The speakers have terrible bass impulse response and do a bad job with bass drums, guitar strumming, and bass guitar strumming (for example), in the 60-90hz range, and should have ideally been only taking care of stuff above 90, with the subwoofer set to do what it can below 90. If I try this in the current setup, I get a bit of added thump and character in the low frequencies, but the very low frequencies, like 30-50hz, are all sacrificed because the subwoofer needs to be turned down to match the speaker volume. The sub is currently crossed over at 80, speakers begin drop off at 70.


Back on topic: This is dandy for left/right+subwoofer configuration, even on a system with a reciever that has a dedicated subwoofer/LFE channel (mine currently doesnt). But what about when I get into 5.1? How do I figure out where to set a per-channel crossover if I have no idea where the speakers actually drop in volume? That is what I'm trying to figure out, without extensive and constant rewiring of my system.

In short, I want to run a bunch of sweeps and tones to test each channel of my system individually. I know it can be done, I just dont know how. Ideally, i'd like a signal generator, as I've already linked to one so obviously that is not a huge step up for me to expect a non-ASIO version of the same program, but one that outputs to the windows driver.

What does a person use (and Yes, i'm looking into roomeq wizard but that only gets you so far) to run extensive measurements on a speaker, regardless of the channel it is hooked up to? I'm about to buy a microphone but if I cant even do something so simple as play the frequency i want outof rear left, why bother?
 
Mar 17, 2013 at 3:30 PM Post #7 of 9
I'm not trying or wanting to create files. I'm wanting to avoid doing that. I dont want hundreds of files sitting around to hunt through and figure out "ah yes, here's rear left, 30hz. now where did I put that pesky rear left 33 hz?" All the way from 15hz up through 20khz.

I also want to avoid downloading a test tone CD/DVD, as that gives me a significantly smaller amount of control over my environment and testing proceedures.

I have a method to play a multichannel PCM 3F2R/LFE signal. If I send that signal to whatever the windows primary sound device is, it will come out. That is not a problem. The problem is, I have nothing to create a PCM 3F2R/LFE signal on the fly. I can do it with the asio tone generator, if you've clicked that link. its not an installable program, and you can see a screenshot of it right on the website. You simply pick a frequency, pick a channel, and boom. done. Its meant for analog connections from the sound card to the reciever/speaker. I have optical. that is a problem. I purposely bought a crappy soundcard just because I didnt care what the analog outputs sounded like. I needed optical output and DTS-connect, and thats it.

So is there not a single signal generator in existence? Every single one is mono or stereo? that seems to be what the internet is telling me, and that is a possibility I refuse to believe.

Alternatively, there is a method that home theater installation experts and audio engineers who set up studios use to level match all speakers, adjust crossovers, and ensure proper frequency spectrum coverage. Those 3 exact things, nothing more, nothing less. If there is no signal generator but instead only a test disk that I must fast forward and rewind my way through, what is this method? Do they simply dump thousands of dollars into a measurement equipment setup, run a sweep or two, calibrate, run the sweep again, and verify? My ears cannot tell what frequency the speakers start roll off at just from a sweep. A microphone can, and I'm willing to work with that, but I would still need a way to get a multichannel sweep. THAT i can generate. but that exists as a dvd download or a regular download somewhere already, I'm sure.

No one uses their ears to set up a system? Everyone can magically afford a 100 dollar microphone and some measurement software?
 
Mar 17, 2013 at 3:51 PM Post #8 of 9
Quote:
I purposely bought a crappy soundcard just because I didnt care what the analog outputs sounded like. I needed optical output and DTS-connect, and thats it.

 
What is that crappy sound card exactly ? For the purpose of measuring speakers, it could very well be plenty good enough.
 
Mar 17, 2013 at 4:00 PM Post #9 of 9
Asus xonar DSX. Its not crappy for measuring the sound card. I figured I can feed it an audio input signal from my dac/amp (which I know to have a good flat output signal) and use that to calibrate and correct the line input. The problem I have is with its analog outputs. In order to get this to work, I would have to unhook my entire reciever, set it on the floor, unhook my entire blu-ray/HT setup from downstairs, grab those cables (im not about to buy a random set of RCA-3.5mm cables that I dont need) and then hook the sound card up to analog input of the reciever. And then reset the entire reciever, along with its current db correction settings (which i'm trying to measure in the first place) to the current values. And then i can generate those signals. and every time I wanted to make a measurement i'd need to do this.

I have no HDMI input on the reciever (YET) but I think that would also solve my problem. However, I still wouldnt have the signal to begin with. Generating the signal I need is the problem, not my hardware. Wether its pre-encoded DD/DTS, LPCM from a video game, or a 3F2R/LFE 5.1 FLAC file, I can get any of that to play out of my speakers. I'm just looking for a signal generator that can generate a multichannel file, otherwise I'll have to rely entirely on frequency sweeps and measurements. Not necessarily a problem, but not ideal either.

A test disk or set of test files is not an option that is lost on me. I would have simply prefered to have the signal generator rather than plug a mic in and rely entirely on that. Some stuff a mic will pick up and some stuff the ears will pick up. If I calibrate and it measures perfect but sounds like trash unpreferable, what am I left with?

EDIT: I do have matlab, but convince me that every home theater calibration professional knows how to program signal generation tones in matlab before I try to relearn that. That is not the way they do things. I know they play a setup disk, that disk plays some tones and sweeps and you have to level match those tones first, then see if the sweeps are at the right volume through and through.

What if they are not at the right volume at the crossover point? How do you EQ a subwoofer without knowing its measured response? How do you tell the reciever which channel crosses over at which point without knowing when the speaker starts its roll off?
 

Users who are viewing this thread

Back
Top