[linux-audio-user] SPDIF - jack or ecasound

Mark Knecht markknecht at gmail.com
Thu Oct 21 18:17:09 EDT 2004


On Thu, 21 Oct 2004 19:45:10 -0300, Martin Rocamora
<mrocamora at adinet.com.uy> wrote:
> Hi Mark! Thank you very much for your answer.
> I'll try to explain the situation.
> 
> With some friends we're going to record a simple live performance. We don't
> have multiple channel sound cards, so we plan to use several sound cards (
> Digidesign AUDIOMEDIA 3 and Sound Blaster Live). As there are no GNU/Linux
> drivers for the AUDIOMEDIA we're forced to use a Window$ system with it, and
> a GNU/Linux system with the SBLive. We plan to record in the Session software
> recieving the SBlive through the SPDIF port (you can tell Session to
> syncronise to the SPDIF input). That's why we need to use SPDIF in GNU/Linux.

OK, this sounds *very* complicated to me. I understand the motivation,
but I still don't see the eact hardware picture in my mind. You might
have to draw a better picture. We can decide that later. Firs a few
questions and points:

1) You say you are going to use multiple sound cards. Are you thinking
these will  be in the same computer? Or in separate computers?

2) Jack will not work, TTBOMK, with multiple sound cards. It will work
with something called a virtual sound card which can be created
(somehow, with help from Clemens and Jaroslav) input .asoundrc file.
That is beyond me. However, it will only work if the cards can be
reliably synced with each other.

3) The bad news - I think - is that these two sound cards probably
cannot be synced to each other. They both have onboard hard wired
crystal oscillators I believe. To sync a card it must accept a clock
from an outside source. I'm pretty sure that the Audiomedia cannot do
this. I doubt the SB can either. These are just guesses, but normally
low end sound cards do not support external clock sources.

On the other hand, if the two cards were in *separate* computers then
you could, in theory, record separate streams in each machine. this
would work, but unfortunately, since the two cards are running on
differnet crystals, the streams are going to be drifting from each
other. To sync them back together you'd have to resample one or both
which is going to cause degradation of the digital signal.

Over all, and I hate to say this, I think you'd be better off to use
an inexpensive external mixer and then record a single stereo stream.


> 
> You say there's no difference in using an audio port or using SPDIF (in a
> SBLive), but SPDIF port is not present in qjack. May be I'm terribly wrong,
> but the qjack ports I have are:
> readable clients / output ports : alsapcm capture 1 y 2
> writeable clients / input ports : alsapcm playback 1 y 2

Humm...possibly the Alsa driver doesn't support spdif on this card? 

I did spend some time looking at the Alsa page for the SB Live and ran
across an entry that points here:

http://alsa.opensrc.org/index.php?page=SurroundSound

Typically spdif on these cards is used to output 5.1 type audio from a
DVD. Possibly you can get some clues from this page? On the other
hand, you haven't said whether this is Optical spdif which (I think)
is only 2 channel)

When I said that 'spdif is no different...' I may have spoken a bit
fast. On my cards the spdif ports are supported in the main driver and
the spdif ports jsut show up in QJC like any other port. I send data
there, or receive data from there, exactly like other ports.

I suspect that when you do get it working that Jack and WJC will treat
it like any other port.

Be forewarned. On many lower end cards, if you are going to use spdif
you have to run at 48K. If you started Jack at 44.1K that port might
not show up, or might show up but you will be doing resampling either
in software or hardware. It's messy.

> ¿How can I send the speakers to the SPDIF?

You would need an external D/A, such as an Apogee:

http://www.apogeedigital.com/support/documents.php?show=minidac

The input would be your spdif output. The D/A output would go to an
amp and then on to the speakers. This is typical of mid to high end
recording studios. You can do the same thing with ADAT or other
digital interfaces. (I use ADAT mostly.)


> 
> It would be great if you could explain how to syncronise diferent systems
> through the SPDIF in GNU/Linux.

It's completely beyond 'Alsa' and dependant on other applications.
WIth the RME cards there is a support app called hdspconf which tells
the card where to get their clock. I can sync to any ADAT input, any
spdif input, Word Clock, or an internal crystal. Alsa doesn't know I'm
doing it.

I sync Windows/Pro Tools and Gentoo/RME systems together using these
interfaces, but as I say, it's completely beyond Alsa.
> 
> Thanks a lot!

Well, I hope I've helped. I'm not sure there's much positive info up there.

> 
> Martín.
>




More information about the Linux-audio-user mailing list