|
|||||||
![]() |
|
|
Thread Tools |
|
|
#1 |
|
DriverHeaven Newbie
Join Date: Jun 2003
Location: Wuppertal, germany
Posts: 18
Rep Power: 0 ![]() |
Sampling rate and bit depth
Hi,
Can KX project operate the A/D-DSP-D/A chain of Audigy and Audigy 2 in true 24bit/96KHz mode, i.e. free of resampling and 16bit truncations? I once heard that Emu10K2 is limited to 48KHz, but how and why? Normally, DSPs are not limited in this regard. How great is the over-all latency? Is it just the delays of the converters plus a few samples for the DSP I/O, or are there significant buffers involved? Uli |
|
|
|
|
|
#2 | |
|
HardwareHeaven Lover
Join Date: Feb 2003
Posts: 213
Rep Power: 0 ![]() |
Re: Sampling rate and bit depth
Quote:
and there is the answer on latency too... 2.33 ms when you strike a note, 2.33 ms later, it will be audiable through the output of the card (if you have set it up correctly that is) |
|
|
|
|
|
|
|
|
DriverHeaven Newbie
Join Date: Jun 2003
Location: Wuppertal, germany
Posts: 18
Rep Power: 0 ![]() |
2.33ms is a number for the MIDI synth, isn´t it? What I am interested in is not the MIDI synth but the A/D-DSP-D/A chain, for example you connect a microphone to the soundcard, process with chorus and output the result to an amplifier with speakers.
Furthermore, your reference to the cheapness of Creative Labs soundcards does not safisfy me, because KX project was found in order to hack the stuff and overcome the limitations, as I darkly recall its motto.... |
|
|
|
|
|
#4 |
|
DriverHeaven Senior Member
Join Date: Dec 2002
Location: Brazil
Posts: 1,137
Rep Power: 0 ![]() |
2.33 is a number for a/d-dsp=d/a. And there are hardware limitations that cannot be overcome.
__________________
www.palcomp3.com.br/ed |
|
|
|
|
|
#5 |
|
HardwareHeaven Lover
Join Date: Feb 2003
Posts: 213
Rep Power: 0 ![]() |
The limitions of the driver of creative, not the hardware...
How could a piece of sofrware (a driver) overcome a limitation of hardware?? (everything the software driver drives, automaticly becomes no more limitation of the hardware even) kX gives you 2.33 latency, dsp effects, all in and output channels seperate... the creative drivers does not... That is the power of kX and what it is made for, to use the hardware to the fullest... which creative does not. But you can not push more out of (relativly) cheap hardware, then there is in it. with more expensive dsp's, you can do more things... the EMU10k1/2 chips are cheap, becaue they are limited in their abilities. Last edited by Mata Hari; Jun 7, 2003 at 11:47 PM. |
|
|
|
|
|
|
|
DriverHeaven Newbie
Join Date: Jun 2003
Location: Wuppertal, germany
Posts: 18
Rep Power: 0 ![]() |
Let me sort it out:
2.33ms is not bad, but from my experience with other DSP platforms I can say that it could be at least one millisecond better. I don´t know how much of the delay is caused by the oversampling and buffering inside A/D and D/A chips and how much due to buffers inside Emu10Kx. If the former is the main source of delay, a doubled sampling rate could possibly lower the over-all value. Then, A/Ds and D/As would operate at 96KHz but Emu10Kx would still resample to 48KHz. Did anyone try that? What I can hardly believe is that input ports of EMU10Kx were limited to 48KHz/16bit. Even formats as old as SP-DIF can transmit 24bit, I2S 32bit. I bet my pants that EMU10Kx can indeed read 96KHz/24bit, but this mode is a corporate secret: KX project people don´t know which registers to turn on. By the way, can CreativeLabs´ default ASIO drivers read 24bit data? No? Shrug. Normally a DSP does not know at all what sampling rate the signal has. Fetching a sample datum from the input port is either triggered by an internal clock (quartz clock down-divided) or by an external interrupt, e.g. I2S frame clock. In the time of one sampling period, the new datum and possibly older data are processed by program and coefficients data which are fetched in reference to the quartz clock of the DSP. My idea was to use an Audigy bulk on a cheap, quiet VIA Eden or similar PC in order to build a crossover and EQ for loudspeakers. I do not just play around but want to use it professionally and in the end also sell it. DSP kits by Motorola, Ti, Analog et al. are either very expensive, hard to get (in small quantities and in Germany where I live) or contain too cheap A/Ds and D/As. Even Chameleon (http://www.soundart-hot.com/english/index.htm) is limited to 48KHz and 97dB S/N. Shrug. Uli |
|
|
|
|
|
#7 | ||||||
|
HardwareHeaven Lover
Join Date: Feb 2003
Posts: 213
Rep Power: 0 ![]() |
Quote:
IF you have the system, you can get lower probably... but IF you want lower, try buying one of the dsp's you're talking about, but don't complain about the price of those then. Quote:
There is no output resampler, the dsp outputs spdif signals, wich go out the card unprocessed... there are only input resamplers, wich resample everything to 48000 khz, because that is the ONLY samplerate the emu10k1/2 handles. (for live cards, 16 bits only, for audigy, maybe 24 bits as well) Quote:
about the kX people not knowing wich registers are on the chip... trust me, they know exactly what is possible with the chip... The things you give the creative driver credit for, are not 10Kx issues (see below) Quote:
Quote:
for starters, they MUST know it, to even start to be able to output to spdif... secondly, they must know in what format the audio is (16 bit, stereo, etc) to apply correct AUDIO effects on the audio dat a stream... DSP (Digital SOUND Processor) chips are more then data haulers... DSP chips PROCESS audio data, they do not simply take data from your computer, and turn that in spdif out streams. Quote:
If you are so convinced in your own ability's to program the emu10Kx chips, and turn them into something wich they are not, then start ldownloading the microsoft driver SDK or the driver SDK's of the OS of your choice, and do it yourself... I will start with telling you, that you will fail, cause the hardware is limited by things that you have no knowlegde on. |
||||||
|
|
|
|
|
|
|
DriverHeaven Newbie
Join Date: Jun 2003
Location: Wuppertal, germany
Posts: 18
Rep Power: 0 ![]() |
Mata Hari,
let me tell you that I know quite well what a typical DSP chip does. Not very long ago, I programmed a Motolora 56001 and dived quite deep into that stuff, less into the soft side of DSP, i.e. algorithms, but more the hardware. That is why I come up with all those questions. It seems to me that you feel offended, as if you were a women on the street whom I had pulled down her skirt in a second. But I did not pull down your skirt, I just mentioned a few technical things. Uli |
|
|
|
|
|
#9 |
|
HardwareHeaven Lover
Join Date: Feb 2003
Posts: 213
Rep Power: 0 ![]() |
I'm not offended, sorry to give that impresion.
And I'm not questioning you about all the knowlage you have on DSP's, but I am trying to tell you how the EMU10kx handles the things. (I might be a bit pursuavig though in that, sorry :-) kX and the team wokrs hard to take the card for all it has, but it is limited though in certain aspects. The idea's you have (although very good, the resampling bit is a smart thing) don't work on this thing though, because of those limitations, wich ofcource is too bad. |
|
|
|
|
|
|
|
DriverHeaven Newbie
Join Date: Jun 2003
Location: Wuppertal, germany
Posts: 18
Rep Power: 0 ![]() |
O.k., Mata. By the way, do you have a source for Emu10Kx internals? Why is it 128 samples? If you don´t teach me, you cannot expect me to know.
Uli the Grasso |
|
|
|
|
|
#11 |
|
HardwareHeaven Lover
Join Date: Feb 2003
Posts: 213
Rep Power: 0 ![]() |
It is 128 samples because that is the lowest the driver is made to go...
If I recall correctly, you can set it lower, but at the cost of that some of the plugins stop functioning (I might be mistaken here, but I think it was something like that) (And, ofcource, you would need to have a very, very fast pc to achieve lower latency's) |
|
|
|
|
|
#12 |
|
DriverHeaven Senior Member
Join Date: Dec 2002
Location: Brazil
Posts: 1,137
Rep Power: 0 ![]() |
Grasso, if you know as much as you say you know, why don't you just take the time and program what you want done yourself? If you can do that, fine. If you can't, remember you bet your pants.....
__________________
www.palcomp3.com.br/ed |
|
|
|
|
|
|
|
DriverHeaven Newbie
Join Date: Jun 2003
Location: Wuppertal, germany
Posts: 18
Rep Power: 0 ![]() |
>It is 128 samples because that is the lowest the driver is made to go...
But why? What is/are the buffer/s used for? By the way, if that 128 samples buffer really is in place, overall (A/D-DSP-D/A) latency surely is higher than 128/48000 s because A/D and D/A converters add one ms or two. >(And, ofcource, you would need to have a very, very fast pc to achieve lower latency's) You speak of ASIO latency or of soundcard latency? What I am interested in, to make it clear, is the signal chain on the soundcard, i.e. the Emu10Kx but not any ASIO DSP!!! Shrug. |
|
|
|
|
|
#14 |
|
kX Project Lead Programmer and Coordinator
Join Date: Dec 2002
Posts: 3,119
Rep Power: 75 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
so, guys, let's cross all the t's and dot the i's
![]() 1. why 2.33 ms? (128 samples) this is the closest power of 2 (128 bytes) one can try to set it manually to 64 or even 32 (in the registry: Software\kX\ASIO\...) but these settings were never tested moreover, the driver relies on the OS ability to trigger certain events, which are timer-specific windows cannot support timer events smaller than 1ms, and because of double buffering, the lowest applicable value was choosen to be '2.33ms' 2. why 16/48? 10k1/10k2 can handle only 16/48 transfers between PCI bus & the chip, even if the external DAC/ADCs have higher resolution... that is, all inputs that get into the DSP are truncated to 16 bit (wave, midi, spdif-in, ...) (probably except ac97 codecs...) the sound data is processed with a mixed 24/32 bit accuracy at a fixed 48000 sampling rate the output codecs can (theoretically) receive the data at 24/48000 (on 10k2-based boards) this has sense since multiple 16-bit streams are mixed in 24/32 bit (and most effects are processed in 24/32 bit mode by the DSP) however this option isn't tweakable and we don't know if it is 'on' or 'off' the kX driver configures the output codecs the same way as Creative driver does (most i2s codecs don't require any 'initialization' because they operate in a single mode) now, the last thing: 'direct spdif recording' -- review our web page for details in brief: there's a possibility to bypass the 10k2 DSP and process incoming spdif data directly note: only -incoming- data and, finally: audigy2 (10k2 revision 4) has an additional chip supposed to handle 24/96 operations it's a 'black box' -- we cannot program it at the moment but it is not related to the 10k2 chip at all, has a separate I/O and memory space and configuration registers however, some of its outputs and inputs are connected to the 10k2 chip /Eugene p.s.: there was a discussion concerning latency in this forum -- use the 'search' feature ![]() (DAC/ADC latencies, DSP latency, DirectX latency etc...) |
|
|
|
|
|
|
||||||
|
DriverHeaven Newbie
Join Date: Jun 2003
Location: Wuppertal, germany
Posts: 18
Rep Power: 0 ![]() |
Quote:
Anyway, I don´t need ASIO but just the A/D-Emu10Kx-D/A chain. I guess I can expect a latency of 1-2ms. Quote:
Quote:
I find it very strange that Audigy 2 has another chip for 96KHz operation. Are you sure that this chip is indeed for 96KHz, that it switches A/D and D/A I2S lines either to EMU10Kx ports or to its own data received from / put out to the PCI bus? On the other hand, I admit that I would not be surprised. What is common sense and good practice is not necessarily what CreativeLabs will design. Quote:
Quote:
Quote:
I am glad that you replied. Have a nice day! |
||||||
|
|
|
|
|
#16 |
|
kX Project Lead Programmer and Coordinator
Join Date: Dec 2002
Posts: 3,119
Rep Power: 75 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
well, Grasso, the 'theory' and the 'practice' are two completely different things...
>> You need the timer for MIDI, don´t you? Audio needs only the interrupts generated by the soundcard timer is required for directx (by m$ design), not for MIDI (MIDI doesn't need timers) moreover, asio requires timer, too, because hardware can generate interrupt only on 'full buffer' event (and we cannot afford buffer copying) >> so you may be forced to put all functions (MIDI, audio, control) into one thread there are no kernel-level threads the driver is using we use only -one- thread for ASIO, that's it >> I don´t need ASIO but just the A/D-Emu10Kx-D/A chain. so, what interface will you use instead?.. >> Is it not possible to split the 24/96 data of the MAC core yes, but not for recording moreover, implementing this for playback requires unmodified digital data, but 10k1 board performs interpolation which cannot be turned off... so, 24-bit playback is implemented for audigy-based boards only [via this 'splitting' trick] >> buy the claim that all parts of EMU10Kx were limited to 48KHz probably, you simply don't know the technical details -- review the 'documentation' section on our site the chip is hard-locked @ 48000 -- no way /Eugene |
|
|
|
|
|
#17 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,639
Rep Power: 69 ![]() ![]() ![]() ![]() ![]() ![]() |
>> I don´t need ASIO but just the A/D-Emu10Kx-D/A chain.
>so, what interface will you use instead?.. He said: "AD->Emu10Kx->DA" - that's it... Actually you don't understand each other... Grasso means just hardware latency (which could be less then 2.66ms od course - noone did measured though)... Also, actually it is not correct to compare Emu10kx with "conventional" processors like M's 56K or AD's 21xx.... They are designed for different things and while emu10kx cannot do something other DSP do, but it DOES something the others (at least in single instance) can't emu10kx - is not just single dsp - it is more like complex "AUDIO" controller - it includes at least TWO different signal processors, TONS of samplerate convertors and quite complex I/O engine to deal with all that spdifs, ac97, PCI, i2s etc...
__________________
Last edited by Max M.; Jun 9, 2003 at 03:00 PM. |
|
|
|
|
|
|
|
DriverHeaven Newbie
Join Date: Jun 2003
Location: Wuppertal, germany
Posts: 18
Rep Power: 0 ![]() |
Thanks for the clarifications. I find it rather sad that such a powerful hardware cannot do better than 48/16. For comparison, a Turtle Beach Pinnacle from 1997 can do more than 16bits easily because I2S is 32 bits wide and the ports of 56K have no limitations in word length. The Cirrus converters with 18bits A/D and 20bits D/A really shift the quality level above 16bits. Furthermore, one can probably set sampling rate higher than 48KHz, 55KHz should be possible.
By the way, do you have a balanced input and output KX DSP module? By connecting a balanced, symmetrical source, one normally gains 3dB dynamic range because both (L and R) converters are logically connected in series, summing the correlated signal by 6dB and uncorrelated noise by only 3dB. And then, has anyone tried to exchange the quartz of Audigy for a faster one? Uli |
|
|
|
|
|
#19 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,639
Rep Power: 69 ![]() ![]() ![]() ![]() ![]() ![]() |
Pinnacle was a cool card... although the prices of 97/98 were:
Live ~ $100 Pinnacle ~ $600 (in order to be fair i have to say that less expensive Fuji has 56001 dsp on-board too) (btw... 56001 is a 24bit processor with 56bit accumulators while fx8010 is 32bit processor with 67bit accumlator ;) But why to remember the old days? No you can buy true 24/96 card for about $200 and enjoy (i doubt though if you can use it as DSP)...
__________________
Last edited by Max M.; Jun 9, 2003 at 11:01 PM. |
|
|
|
|
|
|
|
|
DriverHeaven Newbie
Join Date: Jun 2003
Location: Wuppertal, germany
Posts: 18
Rep Power: 0 ![]() |
Rather 450$ for Pinnacle and 300$ for Fiji - in autumn 1998 when SB live became available.
And of what use are 32bit registers and a 67bit accumulator if all ports are resticted to 16bit? No sensible IIR filter needs that much headroom. Ts ts ts! Quote:
|
|
|
|
|
|
|
#21 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,639
Rep Power: 69 ![]() ![]() ![]() ![]() ![]() ![]() |
>Rather 450$ for Pinnacle and 300$ for Fiji - in autumn 1998
Right, just because noone wanted to pay $600 for an ISA soundcard in autumn 1998 - ok, i'm just joking, never mind...>No sensible IIR filter needs that much headroom well, questionable... there's another position: bit depth can never be enough for IIR... >For my part, I need a DSP platform with less than 3ms basis latency (A/D-DSP-D/A) Then if you need "cheap" solution then Audigy would make sense - yep, the input is still 16bit but 'DSP->DA' path is 24 bit... (btw. what DSP Hamerfall has and is it easy to access it there?)
__________________
|
|
|
|
|
|
|
|
DriverHeaven Newbie
Join Date: Jun 2003
Location: Wuppertal, germany
Posts: 18
Rep Power: 0 ![]() |
You´re right. Pinnacle and Fiji were already out of date when they were released. Tahiti should have been a Fiji (except for the older converter technology, of course), and for the MIDI synths I don´t care.
What is fine about Audigy are the six outputs, just what you need a for a stereo three-way crossover. But 16bit means only 95dB (when dither is added). Some analogue lowpasses will be applied after the DSP, so noise will decrease by some dB. Furthermore one can probably gain 3dB by connecting left in and right in series (e.g. just using them as a balanced mono input), but then one needed two Audigy cards. About RME Hammerfall: It does not have a DSP chip (well, it has, but it is not much used for typical DSP) but normally serves "native" DSP (ASIO etc). It is probably the best soundcard for ASIO, but yet a cool DSP chip is better than a CPU. Uli |
|
|
|
|
|
#23 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,639
Rep Power: 69 ![]() ![]() ![]() ![]() ![]() ![]() |
i see, thanks...
__________________
|
|
|
|
![]() |
| Thread Tools | |
|
|