RME HDSPe floating point question

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

RME HDSPe floating point question

John Rigg-3
Possibly a stupid question, but will JACK handle floating point
samples direct from a soundcard driver? According to a post
on alsa-devel the PCIe versions of the RME HDSP cards do the
floating point conversion in hardware (but AFAIK the alsa driver
hasn't been updated yet).

John

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Jackit-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jackit-devel
Reply | Threaded
Open this post in threaded view
|

Re: RME HDSPe floating point question

Paul Davis
On Mon, 2007-09-10 at 20:35 +0100, John Rigg wrote:
> Possibly a stupid question, but will JACK handle floating point
> samples direct from a soundcard driver? According to a post
> on alsa-devel the PCIe versions of the RME HDSP cards do the
> floating point conversion in hardware (but AFAIK the alsa driver
> hasn't been updated yet).

JACK doesn't need to know, but probably should if the h/w can do
ieee-754 floats natively. Once the RME driver is updated, we can think
about making JACK ask for float format first, then falling back to 32
bit integer etc.

--p




-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Jackit-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jackit-devel
Reply | Threaded
Open this post in threaded view
|

Re: RME HDSPe floating point question

Ed Wildgoose-2
Paul Davis wrote:
On Mon, 2007-09-10 at 20:35 +0100, John Rigg wrote:
  
Possibly a stupid question, but will JACK handle floating point
samples direct from a soundcard driver? According to a post
on alsa-devel the PCIe versions of the RME HDSP cards do the
floating point conversion in hardware (but AFAIK the alsa driver
hasn't been updated yet).
    

JACK doesn't need to know, but probably should if the h/w can do
ieee-754 floats natively. Once the RME driver is updated, we can think
about making JACK ask for float format first, then falling back to 32
bit integer etc.
  

Don't most of the older cards accept direct floating point also?  I think they are 48bit internal?

I have only ever used mine stuffing float directly into the card - hadn't studied the driver in enough detail to spot a conversion back to something else though?  I *thought* the DMA buffer took floats though?

I have a feeling that Paul is the author of one of more RME drivers though (?) so I will certainly stand corrected!

Ed W

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Jackit-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jackit-devel
Reply | Threaded
Open this post in threaded view
|

Re: RME HDSPe floating point question

Paul Davis
On Tue, 2007-09-11 at 12:00 +0100, Ed W wrote:

> Paul Davis wrote:
> > On Mon, 2007-09-10 at 20:35 +0100, John Rigg wrote:
> >  
> > > Possibly a stupid question, but will JACK handle floating point
> > > samples direct from a soundcard driver? According to a post
> > > on alsa-devel the PCIe versions of the RME HDSP cards do the
> > > floating point conversion in hardware (but AFAIK the alsa driver
> > > hasn't been updated yet).
> > >    
> >
> > JACK doesn't need to know, but probably should if the h/w can do
> > ieee-754 floats natively. Once the RME driver is updated, we can think
> > about making JACK ask for float format first, then falling back to 32
> > bit integer etc.
> >  
>
> Don't most of the older cards accept direct floating point also?  I
> think they are 48bit internal?

No. Its a mistake to think that the "HDSP" cards have a DSP chip on them
at all. They have a Xilinx FPGA for which RME did some clever coding so
that it can do some DSP-like processing. It doesn't make much sense to
talk about the native/internal format of an FPGA.

> I have only ever used mine stuffing float directly into the card -
> hadn't studied the driver in enough detail to spot a conversion back
> to something else though?  I *thought* the DMA buffer took floats
> though?

Absolutely not. 32 bit integers containing 24 bits of sample data in the
3 MS bytes is the only format the older ards accept or provide.

> I have a feeling that Paul is the author of one of more RME drivers
> though (?) so I will certainly stand corrected!

Stand down :)




-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Jackit-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jackit-devel
Reply | Threaded
Open this post in threaded view
|

Re: RME HDSPe floating point question

Didier 'Ptitjes'
In reply to this post by John Rigg-3
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,

(Cross-posting my report - last time i do this)

Great news (almost for me in anyways). RME HDSPe PCI *works as is* with
the current driver. Firmware uploads as well. I had nothing to do to
make it work! (I think the ExpressCard should work as well...)

Maybe the alsa-project wiki page can be updated.

Little by little in the next weeks, I will delve into the driver's code
to identify parts that needs to be enhanced in order to take profit of
the 32bit floating point format that the HDSPe card can provide. When
ready, I'll contact RME to request them for informations about the
activation of this mode.

Didier.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHHcG6VE1mALQL3JsRAjeZAKCJqicClHgy1UDc1YvAywuw1FokyQCeJO2d
BhWpkxL8xLGxKB3zmbWFQpk=
=wpbm
-----END PGP SIGNATURE-----


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Jackit-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jackit-devel
Reply | Threaded
Open this post in threaded view
|

Re: [alsa-devel] RME HDSPe floating point question

Takashi Iwai
At Tue, 23 Oct 2007 11:41:14 +0200,
Didier Villevalois wrote:
>
> Hi all,
>
> (Cross-posting my report - last time i do this)
>
> Great news (almost for me in anyways). RME HDSPe PCI *works as is* with
> the current driver. Firmware uploads as well. I had nothing to do to
> make it work! (I think the ExpressCard should work as well...)

Good to hear.

> Maybe the alsa-project wiki page can be updated.

Yeah, it'd be appreciated if you fix the description there.

thanks,

Takashi

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Jackit-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jackit-devel
Reply | Threaded
Open this post in threaded view
|

Re: RME HDSPe floating point question

Pieter Palmers
In reply to this post by Paul Davis
Paul Davis wrote:

> On Tue, 2007-09-11 at 12:00 +0100, Ed W wrote:
>> Paul Davis wrote:
>>> On Mon, 2007-09-10 at 20:35 +0100, John Rigg wrote:
>>>  
>>>> Possibly a stupid question, but will JACK handle floating point
>>>> samples direct from a soundcard driver? According to a post
>>>> on alsa-devel the PCIe versions of the RME HDSP cards do the
>>>> floating point conversion in hardware (but AFAIK the alsa driver
>>>> hasn't been updated yet).
>>>>    
>>> JACK doesn't need to know, but probably should if the h/w can do
>>> ieee-754 floats natively. Once the RME driver is updated, we can think
>>> about making JACK ask for float format first, then falling back to 32
>>> bit integer etc.
>>>  
>> Don't most of the older cards accept direct floating point also?  I
>> think they are 48bit internal?
>
> No. Its a mistake to think that the "HDSP" cards have a DSP chip on them
> at all. They have a Xilinx FPGA for which RME did some clever coding so
> that it can do some DSP-like processing. It doesn't make much sense to
> talk about the native/internal format of an FPGA.

Reading this as a hardware designer I feel an urge to correct...
Using an FPGA does not rule out a DSP. An FPGA is a configurable gate
array allowing to implement custom digital (semi-)hardware. Hence there
is nothing preventing you to implement a complete DSP on an FPGA.

The question of course is how programmable this DSP would be. If you
make it very programmable, it won't run very fast. However if you limit
the amount of programmability to a minimum, an FPGA implementation of a
DSP can be very fast. E.g. for matrix mixing the only programmability
you need are the coefficients, since the algorithm is fixed.

Another thing is that an FPGA also uses an internal representation of
the signal flow, hence it would be possible that it is floating point.
Hence it does make sense to talk about the internal format of an FPGA.
I'd say that in a way it even makes more sense for an FPGA than for a
DSP. When implementing arithmetic on an FPGA you have to calculate the
bit-width for every operator, while on a things are more or less fixed.

Considering the complexity of hardware implementations of floating point
operations compared to their fixed point counterparts, I don't think a
floating point representation was possible using the FPGA's on the
original HDSP.

Making this message somewhat academic. But I couldn't resist...

Greets,

Pieter


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Jackit-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jackit-devel
Reply | Threaded
Open this post in threaded view
|

Re: RME HDSPe floating point question

Dmitry Baikov
On 10/23/07, Pieter Palmers <[hidden email]> wrote:
> Considering the complexity of hardware implementations of floating point
> operations compared to their fixed point counterparts, I don't think a
> floating point representation was possible using the FPGA's on the
> original HDSP.

I am sure, the floating-point part of HDSP only converts incoming
floating-point sampes into internal fixed point format, and mixing is
done as usual - in a fixed point.


Dmitry.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Jackit-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jackit-devel
Reply | Threaded
Open this post in threaded view
|

Re: RME HDSPe floating point question

Didier 'Ptitjes'
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dmitry Baikov a ├ęcrit :
> On 10/23/07, Pieter Palmers <[hidden email]> wrote:
>> Considering the complexity of hardware implementations of floating point
>> operations compared to their fixed point counterparts, I don't think a
>> floating point representation was possible using the FPGA's on the
>> original HDSP.
>
> I am sure, the floating-point part of HDSP only converts incoming
> floating-point sampes into internal fixed point format, and mixing is
> done as usual - in a fixed point.

Here is what the HDSPe box says:
"TotalMix (tm): Multi-channel DSP supported mixing and routing software
with 42 bit resolution"

I don't know what floating-point format they could use on 42 bit (could
that be a propriatary one however ?). So i would say they use fixed point.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHHfMAVE1mALQL3JsRAspwAJ9eQATxe/iM6u5g4x010MXYnxYImQCcCBpX
vvycsLYoe0VZVeOme5+6fMw=
=zorZ
-----END PGP SIGNATURE-----


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Jackit-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jackit-devel