A how to for a PC XO.

Status
Not open for further replies.
Re: Re: Re: Any way to route audio to Art Teknica Console using Jack for Windows

Daveis said:



Having trouble figuring out howto use Jack for Windows still.

This URL is really similar to what I'm trying to do...

http://www.eggheadcafe.com/software/aspnet/33315737/looking-for-help-with-a-s.aspx

Connect foobar2000 to Thuneau allocator lite using Jack.

ack_connect foobar2000😱ut1 Allocator:in1
jack_connect foobar2000😱ut2 Allocator:in2
jack_connect Allocator😱ut1 system😛layback_3
jack_connect Allocator😱ut2 system😛layback_4
jack_connect Allocator😱ut3 system😛layback_5
jack_connect Allocator😱ut4 system😛layback_6
jack_connect Allocator😱ut5 system😛layback_7
jack_connect Allocator😱ut6 system😛layback_8


I had trouble scripting the startup sequence originally so that everything falls in place and starts to play music without user interaction. This is for a headless unit that sits in a rack and is accessible through either another PC on the network or IR remote.
With help of upgraded Jack (V 1.9- I struggled with the earlier versions a bit) and some third party apps I now have it all pretty much working correctly.
Next challenge is to get the NetJack part to work right. This way I can send audio to the crossover PC from just about anywhere in the house. For now the playback is Foobar inside the crossover PC set to grab audio from networked storage or from Internet- Last.fm is a decent choice for background music.

Look to my website in the next couple of days for details. I'll post a link here when it's ready.
 
mige0 said:



Shin, I haven't tryed by myself but that's what Mackie says:

http://www.mackie.com/products/400f/download/v3.2.8/400F_328_ReleaseNotes.pdf

RELEASE NOTES Onyx 400F Software Update • July 11, 2007 Version 3.2.8
New Features and Improvements Multi-unit Support
The 400F now supports daisy-chaining of multiple units, to form one large recording device. For example, you could daisy-chain three 400Fs together for a 30 input system, with 12 mic inputs, 12 line inputs, and 6 digital inputs.
On a Windows system, the sum of inputs and outputs will appear as one large ASIO device to your Windows DAW of choice. On an OS X system, you will need to combine the units into one large “aggregate device” in the
“Audio MIDI Setup” application, located in Applications/ Utilities.

For anyone interested in the Onyx, Soundcard there is an amazing thread over there in Harmony central where Anderton and Mackie people discuss simply each and any facet of this piece of gear

http://acapella.harmony-central.com/forums/showthread.php?t=1097071&highlight=asio

This is good news, thanks Michael.

I'm wanting to downsize my expensive and mostly redundant Lynx AES/Aurora setup so as to free up funds for more useful things. I was leaning towards the Echo Audiofire12 but having owned Mackie studio monitors I know they make quality products for sensible money. I'll look further into it and will likely end up going with a pair of 400F.

Ta for the link to discussion also.

BTW - They do the whole internal loopback thing too I presume from your screenshot?

Regarding text configuration of CONVOLVER – I too haven't managed to get it working – and besides that you would loose the main benefits of CONSOLE to have free routing capabilities as text configurtation connects directly to the soundcars in / out AFAIK.

You still have freedom with choice in routing. All the text config does is set more channels on the plugin and assigns the filter I/O within the plugin. You can also set sample rate:

Here's my config for stereo 3.5way filtering and DRC:

An externally hosted image should be here but it was not working when we last tested it.


This scripting software you use to control volume via IR – sounds like a very cool idea - where can I find additional information about that?

I use this software:

http://www.autoitscript.com/autoit3/index.shtml

And IR remote + software from these people:

http://www.soundgraph.com/Eng_/Products/imon25.aspx


Check out the forum for AutoIT:

http://www.autoitscript.com/forum/index.php?act=idx

Lots of help there but its pretty simple to get working and even very complex tasks can be tied to one button press ie. I have one for switching sample rates:

-shut down console and any media player(s)
-load a new session in the mixer application for 96Khz
-load console backup and set for 96Khz
-load 96Khz filters and plugins into Console
 
I use it to control the master output level in the interface mixer app since its 42bit precision attenuation. For my soundcard if you do this in console then you work with less bits than that, might not be the same for you.

On a related note I was thinking about normalising all acourate filters to 0dB peak and doing driver level matching in software AFTER convolution for possible quality improvements but I figure its one of those "the maths say its better but I can't hear any real difference" so I need a slow day before I try that one.
 
Jaco Pastorius said:


Hi Michael

You’re not the alone.. 🙂


Thanks very encouraging – how does your system sound like?
Pretty cool drivers you use – what make are the stripped mid ones?

Thanks for introducing Bidule – seems to be sort of coding platform – wasn't able to get access to an external USB soundcard when I gave it a quick try.

Michael
 
ShinOBIWAN said:

This is good news, thanks Michael.

🙂



ShinOBIWAN said:

BTW - They do the whole internal loopback thing too I presume from your screenshot?


Sure – you have full access to all direct routing capabilities within Onyx itself – if that's what you mean.

onyx_control.GIF





ShinOBIWAN said:

You still have freedom with choice in routing. All the text config does is set more channels on the plugin and assigns the filter I/O within the plugin. You can also set sample rate:

I haven't managed to get it working – have checked back with J. Pavel and he confirmed my file.
Would you be so kind to share one of your working config files?



ShinOBIWAN said:

I use this software:

http://www.autoitscript.com/autoit3/index.shtml

And IR remote + software from these people:

http://www.soundgraph.com/Eng_/Products/imon25.aspx


Check out the forum for AutoIT:

http://www.autoitscript.com/forum/index.php?act=idx

Lots of help there but its pretty simple to get working and even very complex tasks can be tied to one button press ie. I have one for switching sample rates:


Thanks a lot for all the links I will need some time to work through it


Michael
 
Hi Michael

Originally posted by mige0

Thanks very encouraging – how does your system sound like?

Bitte 😉

Regarding sound it’s always difficult to explain by words.. This speaker is clearly inspired by Linkwitz Orion project. There are also four xxls 12 inch subs not shown in pics I’ve posted..

My primary goal is “accuracy” so I’ve looked for low distortion, pretty linear drivers. Bafflè shape was chosen to reduce diffractions and midwoofer is decoupled from baffle with a separate driver mounting frame.

Room is treated with gypsum plaster panels absorbers, glass wool absorbers and Schoreder diffusors placed in a LEDE similar setup. Also DRC is used..

Yes.. LEDE setup and DRC with an open baffle speaker could “sound strange”.. The effort is to “minimize” back radiation contribution from the open baffle speaker preserving constant directivity and absence of internal reflection (boxy sound).

The result is good accuracy with a deeper sound stage compared to the same room treatment / DRC implementation and a “classic speaker” system..

Denis Sbragion, DRC developer and a friend of mine, listened to this setup, in this summer saying the same: “good accuracy with a deeper sound stage”.


Originally posted by mige0

what make are the stripped mid ones

I’m not sure having understand your question.. They are two Seas M15CH002


Originally posted by mige0

wasn't able to get access to an external USB soundcard when I gave it a quick try.

I’ve tried Bibule with a M-AUDIO Fast Track Pro without any problem..
 
Re: Re: Re: Any way to route audio to Art Teknica Console using Jack for Windows

Daveis said:



Having trouble figuring out howto use Jack for Windows still.

This URL is really similar to what I'm trying to do...

http://www.eggheadcafe.com/software/aspnet/33315737/looking-for-help-with-a-s.aspx

Connect foobar2000 to Thuneau allocator lite using Jack.

ack_connect foobar2000😱ut1 Allocator:in1
jack_connect foobar2000😱ut2 Allocator:in2
jack_connect Allocator😱ut1 system😛layback_3
jack_connect Allocator😱ut2 system😛layback_4
jack_connect Allocator😱ut3 system😛layback_5
jack_connect Allocator😱ut4 system😛layback_6
jack_connect Allocator😱ut5 system😛layback_7
jack_connect Allocator😱ut6 system😛layback_8


I wrote a little tutorial on using Jack with Allocator. There are also scripting tips on how to get your system up and running automatically every time you boot your machine.

http://thuneau.com/forum/viewtopic.php?t=168

I will copy it here too, as to not appear that I'm spamming the forum.
 
How to setup Jack for Windows with PC Crossover Software (Allocator used as example)

I have been playing with Jack for Windows, which is now in version 1.9 with 2.0 supposedly just around the corner.
It's open source project that started in Linux and spread to Mac and Windows. It is a virtual sound card/router that lets the users send audio between applications.
The current release is 1.9 and the complete package (binaries for all operating systems and source code) are available from here:
http://www.grame.fr/~letz/jackdmp.html
It's a fairly large package- 20MB+

I extracted the Windows installer and saved it to this website:
www.thuneau.com/jack4win.zip

The program does what it promises, but it requires manual setup of signal flow on every startup. There is a little control app that makes it straight forward, but it takes time every time you restart the computer.
In order to make my life easier I scripted the startup of Jack, Foobar, Allocator and their connections.

Here is how I run it. You will need to edit some commands to match your paths and names of ASIO devices.

1. After installing Jack you need to tell it to create enough channels for your system. This is done by editing JackRouter.ini in the jack install directory (By default C:/Program Files/Jack v1.90).
Open JackRouter.ini in your text editor (Notepad or Wordpad will do just fine) edit it to:

Code:
[IO]
input=2
output=8

[AUTO_CONNECT]
input=0
output=0

and save it.
By default Jack installs with 4 channels input and 4 channels output per application. We need to send stereo audio to Allocator and need up to 8 channels to send to sound card.
Also, by default Jack connects everything it sees as a valid client. We don't want that, as your full range signal will hit the sound card if you leave the default on.

The first time you start Jack you want to use the Jack Control application to set default drivers, buffers and some parameters. After that we will run it in background.
Open Jack Control and hit Setup:

http://img511.imageshack.us/img511/5341/jack1ua7.png


Make sure you select portaudio as Driver type,
Find your ASIO card in Interface menu (click on the > button)
For Allocator use long buffer (called Frames/Period). For Allocator Light, you can do short buffer.
Select sample rate,
make sure Realtime is checked
Click OK.
Close Jack Control



I start Jack with the following command:

jackd.exe -S -R -dportaudio -dASIO::"ASUS Xonar D2 ASIO" -r44100 -p4096

(Replace the name of your ASIO card to match your system you can also start it with different sample rate and buffer size).
Make sure to type the name of your card exactly as it appears in Jack Control- spaces and capital letters are important.

Save the command in your text editor as startjack.bat in your Jack v1.90 directory.
* If you just double click on it Windows will quickly start Jack and then promptly close it. We want it to stay open so that we can use it.

Here is a workaround:
create a shortcut to the startjack.bat (right mouse button drag> create shortcuts here).
Right click on the shortcut you just created and select Properties

in Target box add the following to the beginning:
C:\WINDOWS\system32\cmd.exe /K

The whole line looks like this:
C:\WINDOWS\system32\cmd.exe /K "C:\Program Files\Jack v1.90\startjack19.bat"

(this opens command window, the switch /K makes it not exit when the batch file is done)

Still in Properties, the box "start in" should read: "C:\Program Files\Jack v1.90"
Click OK

http://img167.imageshack.us/img167/7871/jack2yt4.png


Now you can place the shortcut in your Startup Folder.
This will create Jack router every time you reboot your machine.

Now we need to start our media player (I use Foobar because it has ASIO output- but Winamp is good too), Allocator (or Allocator Light) and connect them

So I run a Visual Basic script to do this. In my case it looks like this:

Code:
Option Explicit
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")

WScript.Sleep 5000

WshShell.Run """C:\Program Files\foobar2000\foobar2000.exe"" /command:Open C:/silence.wav", 1, False 

WScript.Sleep 1000

WshShell.Run """C:\Documents and Settings\Jan\Desktop\Allocator1.0.15\Allocator.exe""", 1, False 

WScript.Sleep 3000

WshShell.Run """C:\Documents and Settings\Jan\Desktop\connect""", 1, False

Here is what it does:
1. It waits 5 seconds (5000 milliseconds) for Jack to be in place. (it probably can be shorter, but 5 seconds is safe)
2. It starts Foobar and it plays 10 seconds long silence wave. This is there because Foobar ASIO output is invisible to Jack unless actual audio is playing. It's a bug in the module itself and I will try to contact the author to maybe update the driver. 10 seconds is long enough to establish the Jack connection, which then stays in memory even if playback is stopped. (I created the silence.wav by recording 10 seconds of nothing using Windows Sound Recorder, but it can really be any audio file that Foobar can play)
3. It waits 1 second
4. it starts Allocator
5. It waits 3 seconds for Allocator to be established
6. Runs connect script (*see below) which makes our audio flow the way we want it to.

You can copy the script above and edit it in a text editor to match your machine's paths and file names. Save it as startup.vbs (or any other name of your choice as long as it has the vbs extension) and put it in your Startup folder (C:\Documents and Settings\*user name*\Start Menu\Programs\Startup). Also accessible from Start>All Programs menu.


Before you create and save the connecting bat file, run Jack Control program and select Connect to work out all your desired connections. Something like this:

http://img148.imageshack.us/img148/6061/jack3xy0.png

Below is the actual batch file that makes the actual connections on my machine. Again, you might need to tweak it to connect to your sound card the way you want it to.

Code:
jack_connect "foobar2000:out1" "Allocator:in1"
jack_connect "foobar2000:out2" "Allocator:in2"
jack_connect "Allocator:out1" "system:playback_3"
jack_connect "Allocator:out2" "system:playback_4"
jack_connect "Allocator:out3" "system:playback_1"
jack_connect "Allocator:out4" "system:playback_2"
jack_connect "Allocator:out5" "system:playback_5"
jack_connect "Allocator:out6" "system:playback_6"
jack_connect "Allocator:out7" "system:playback_7"
jack_connect "Allocator:out8" "system:playback_8"

Save this (after possible tweaking of numbers and names) as connect.bat in your Jack v1.90 directory
Create a shortcut to it on your desktop (right mouse button drag) and rename it to connect (skipping the .bat extension). VB Shell doesn't like .bat files for some reason. But it's happy triggering a shortcut to one. So that's why the shortcut has a simple name and is not a .bat file itself.


IMPORTANT:

In order for all this to work, you will need to install ASIO output in your Foobar ( http://www.foobar2000.org/?page=Download ) and set it as default output with JackRouter as the sound card.
Also, set up Allocator (actually VSTShell) with JackRouter as the sound card.
While working out the connections, keep the amps off or way down to protect your precious tweeters

Last little tip to keep things neat is to install Trayit ( http://www.teamcti.com/trayit/trayit.htm ) and teach it to minimize Jack command window and Allocator to tray immediately after they start. Do it after your system starts flawlessly every time. You don't want to keep going back to the tray to close things that don't work yet the way you want them to.
 
after reading the post above, the last bit of info that might not be 100% clear from the get go, is that if you follow the directions, you will end up with fully ready to go audio computer that performs playback of your audio and crossover processing- every time you boot it up. Just point to your music of choice and hit play.


I have a miniITX box that is dedicated to this one task. I try not to browse internet on it or do any other computing on it. This ensures fluid playback with no drop outs due to other apps maxing out the CPU for brief moments.

My computer is based on Intel motherboard with integrated 1.2GHz Celeron 230 processor (based on Core architecture) with Asus Xonar D2 sound card. This combination runs 3 way Allocator with 10-12% CPU load. Allocator light uses about half the CPU time of full Allocator- 5-6%.
Jack adds another 8%. So there is plenty of power in the little processor for audio playback and crossover processing.
Intel has discontinued that particular motherboard/processor in favor of the less powerful (but more power efficient) Atom.
But, I just saw that they introduced dual core Atom, which should be a very nice and capable platform for dedicated audio computer.
Check it out here:
http://www.newegg.com/Product/Product.aspx?Item=N82E16813121359&Tpk=atom 330
 
Re: How to setup Jack for Windows with PC Crossover Software (Allocator used as example)

Thunau said:
In order for all this to work, you will need to install ASIO output in your Foobar ( http://www.foobar2000.org/?page=Download ) and set it as default output with JackRouter as the sound card.
Also, set up Allocator (actually VSTShell) with JackRouter as the sound card.

thanks, this was the info I needed to get going. much appreciated.
 
@BerntR: AudioLense questions

I'll be running (once the speakers and amps are done, just about when hell freezes over) three-way fronts, two-way center and two-way rears. I want to run the fronts with one set of filters and DRC in stereo, and another set for multichannel. That's both to compensate for different listening positions, and to get a more movie friendly sound character in multichannel.

I'll most likely use WinAmp for audio and ZoomPlayer Pro for video, either way it's gonna be separate players. I have a Lynx AES16 that will output to digital amps with their own volume control.

Ideally, I'd want the separate setups active simultanously, so I don't have to make any changes in AudioLense when switching from audio to video.

Is this possible with AudioLense, and what additional plugins/controllers would have to be used? If it can do all of this easily, it's worth the relatively steep price tag, but other options are also of interest.
 
Lars both setups are possible (Audio Lense or Acourate) when using filters within a convolver and a host such as Console.

Both winamp and Zoom pro(these are my choice too) use wave output or WDM sound layer by default. Wave output is mixed in the OS (windows) and that means two primary output channels and many applications sharing these. Problem with different filter setups running concurrently is that the processing picks up its audio from the 2 channels of wave that the OS makes available and has already mixed. Therefore both processing streams shame that same input and are process in parallel then output. Outcome is you will hear both sets of filters working at once. There cannot be no user interaction here, you must either turn one filter process stream on and the other off manually or via some kind of scripting/automation software.

Another possibility is to separate wave output on Zoom from that of winamp. One way to do this is download the ASIO output plugin for winamp and have it use this. That way you could have one chain for WDM input and another for ASIO thus separating the two and allowing simultaneous running with no switching needed.

Things do a get a little complicated because ASIO is a locked sample rate layer so you need a 44.1Khz session for winamp(mp3,CD etc.) and WDM from Zoom when playing DVD is 48Khz but will be automatically downsampled by the OS. Same goes for any 96Khz content. BTW should you play any audio within winamp that is not 44.1Khz then you will need to change the sample rate within the session and this is messy for a plug and play system but shouldn't happen since virtually all audio only content is 44.1Khz presently. Basically ASIO determines the sample rate of the system and WDM can be automatically down or upsampled by the OS.
 
Lars,

With such a complex setup I recommend that you use Convolver to do the runtime filtering. Audiolense generates config files (channel routing) and filterlist files (sampling frequency + channel routing) that Convolver reads to pick the right filters for the task and to route the signal through the right filters and to the right outputs.

ZoomPlayer Pro can host ConvolverFilter and ConvolverWrapper, and both of them can read the filterlist files. I haven't figured out how to configure ZoomPlayer, but that is perhaps beside the point here.

I believe winamp has a dx plugin host that can be used as well.

But the most typical setup is here is probably to use either Bidule or Console. (Bidule and Console is quite similar for this usage) In which case you should get a small connector to enable internal loopback on your sound card.

Then you can run the loop through Bidule in Asio. The only drawback is that will have to make one setup for each sampling frequency you are using. And each time you switch from 44.1k CD to eg. 48k DVD you have to load a new file in Bidule.

The advantage is that this is probably the technically and sonically best alternative, and also that all audio will be filtered regardless of where the playback is initiated.

There are a lot of Console and bidule experts here, so maybe they can supply som additional info.

Edit: I now see that Shinobiwan has already provided som substiantial info on the subject.
 
Status
Not open for further replies.