Re: [linux-audio-dev] using SB Live (emu 10K1) for realtime sample rate conversion?

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] using SB Live (emu 10K1) for realtime sample rate conversion?
From: torben hohn (torbenh_AT_gmx.de)
Date: Thu Aug 08 2002 - 08:39:00 EEST


On 06 Aug 2002 14:54:44 +0200, olaf_AT_expansions.nl wrote:
>
> yes they should be changed independently. The fact is that we want to use an
> embedded PC for the hardware, so the less CPU usage we have the better,
> that's why we prefer a hardware solution.
>
> > Some hardware supports changing the DAC pitch, but most does not. Also
> > most hardware probably uses the same clock for all inputs/outputs. Note
> > that changing the DAC pitch this changes I/O latency since it is constant
> in
> > samples.
> >
>
> oops...i didnt think about that but your prolly right in that when changing
> sample rates on a multi out soundcard it will change for all the outputs at
> once...

The DSP in the emu10k1 is sample locked... it executes its code once for
every sample.
so we have one fixed samplerate for both streams...

>
> > > For our proof-of-concept prototype we were looking at using a simple
> > > Creative SB Live 1024 card with the emu 10K1 chipset on it. The specs of
> > > this chip show us 2 independent stereo outs and on-chip sample rate
> > > conversion including anti aliasing filters. Does any of you know if it's
> > > possible under Linux/FreeBSD to do this? Ie use 2 stereo outputs
> > > independently, and/or do sample rate conversion on the chip in steps of
> > 0,1%
> > > (base rate will be 44.1 KHz i think, so the sample rate should be able
> to
> > > increment or decrement around this 44.1KHz)
> >
> > I'm not familiar with this hardware, but although it may be capable of
> doing
> > what you
> > want I doubt that is what it was designed for.
> >
>
> the Emu 10k1 was designed for this kind of things, there is an interesting
> white paper on it, but i am afraid Creative implemented the chip in a
> restricted way on their SB Live soundcard...

i have a paper called hog63.ps which describes the DSPcore (FX8000) in
the chip...
do you have another one ??? i would like to have it...

>
> > I'd say changing the pitch in software is the better approach for this
> > application.
>
> it might be a good approach (there is plenty of source-code around that
> shows how to change pitch of audio in realtime) but as said above we want to
> do as much in hardware as possible to keep the CPU free for other tasks. I
> guess it's a payoff between coding it in software and finding an embedded PC
> board with enough juice to do pitch-changes for 2 independent audio streams
> plus mp3 decoding plus all the other tasks without interruption and running
> to hot, or designing our own 2 stereo out DA hardware with samplerate
> convertors and anti-aliasing filters....

if you do simple samplerate conversion like out[i] = in[i*factor] in
software you could imlement the aliasing fiter in the emu10k1. But it
would be better to pass two signals into the dsp like
out1[i] = in[i*factor]
out2[i] = in[i*factor+1]
so you would not lose samples when shifting pitch up.

but on the other hand... the mp3 signal is in spectral form and has to
be rendered
into the time-domain. It would be natural to change the samplerate at
this point.
i dont know if you would lose performance because we cant use FFT for
the decoding
anymore but it seems fast to me.

-- 
Torben Hohn
http://galan.sourceforge.net


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Thu Aug 08 2002 - 08:43:01 EEST