Go Back   Home > Forums > >
Home Forums Rules Articles diyAudio Store Blogs Gallery Wiki Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

Equipment & Tools From test equipment to hand tools

E-MU 0404 and Linux (also issues with REW at 96 kHz)
E-MU 0404 and Linux (also issues with REW at 96 kHz)
Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 11th June 2019, 02:49 PM   #11
phofman is offline phofman  Czech Republic
diyAudio Member
 
Join Date: Apr 2005
Location: Pilsen
The card has arrived, I could not help but do my hobby instead of work. I think I will have to fire myself :-)

The device seems to behave OK. It offers quite a few altsettings (param combinations):

Code:
cat /proc/asound/card2/stream0
E-MU Systems, Inc. E-MU 0404 | USB at usb-0000:00:1a.7-4, high speed : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S24_3LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100
    Data packet interval: 1000 us
  Interface 1
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100
    Data packet interval: 500 us
  Interface 1
    Altset 3
    Format: S24_3LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 48000
    Data packet interval: 1000 us
  Interface 1
    Altset 4
    Format: S24_3LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 48000
    Data packet interval: 500 us
  Interface 1
    Altset 5
    Format: S24_3LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 88200
    Data packet interval: 1000 us
  Interface 1
    Altset 6
    Format: S24_3LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 88200
    Data packet interval: 500 us
  Interface 1
    Altset 7
    Format: S24_3LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 96000
    Data packet interval: 1000 us
  Interface 1
    Altset 8
    Format: S24_3LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 96000
    Data packet interval: 500 us
  Interface 1
    Altset 9
    Format: S24_3LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 176400
    Data packet interval: 500 us
  Interface 1
    Altset 10
    Format: S24_3LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 192000
    Data packet interval: 500 us
  Interface 1
    Altset 11
    Format: S24_3LE
    Channels: 4
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100
    Data packet interval: 1000 us
  Interface 1
    Altset 12
    Format: S24_3LE
    Channels: 4
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100
    Data packet interval: 500 us
  Interface 1
    Altset 13
    Format: S24_3LE
    Channels: 4
    Endpoint: 1 OUT (ASYNC)
    Rates: 48000
    Data packet interval: 1000 us
  Interface 1
    Altset 14
    Format: S24_3LE
    Channels: 4
    Endpoint: 1 OUT (ASYNC)
    Rates: 48000
    Data packet interval: 500 us
  Interface 1
    Altset 15
    Format: S24_3LE
    Channels: 4
    Endpoint: 1 OUT (ASYNC)
    Rates: 88200
    Data packet interval: 500 us
  Interface 1
    Altset 16
    Format: S24_3LE
    Channels: 4
    Endpoint: 1 OUT (ASYNC)
    Rates: 96000
    Data packet interval: 500 us

Capture:
  Status: Stop
  Interface 2
    Altset 1
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ASYNC)
    Rates: 44100
    Data packet interval: 1000 us
  Interface 2
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ASYNC)
    Rates: 44100
    Data packet interval: 500 us
  Interface 2
    Altset 3
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ASYNC)
    Rates: 48000
    Data packet interval: 1000 us
  Interface 2
    Altset 4
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ASYNC)
    Rates: 48000
    Data packet interval: 500 us
  Interface 2
    Altset 5
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ASYNC)
    Rates: 88200
    Data packet interval: 1000 us
  Interface 2
    Altset 6
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ASYNC)
    Rates: 88200
    Data packet interval: 500 us
  Interface 2
    Altset 7
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ASYNC)
    Rates: 96000
    Data packet interval: 1000 us
  Interface 2
    Altset 8
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ASYNC)
    Rates: 96000
    Data packet interval: 500 us
  Interface 2
    Altset 9
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ASYNC)
    Rates: 176400
    Data packet interval: 500 us
  Interface 2
    Altset 10
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ASYNC)
    Rates: 192000
    Data packet interval: 500 us
  Interface 2
    Altset 11
    Format: S24_3LE
    Channels: 4
    Endpoint: 2 IN (ASYNC)
    Rates: 44100
    Data packet interval: 1000 us
  Interface 2
    Altset 12
    Format: S24_3LE
    Channels: 4
    Endpoint: 2 IN (ASYNC)
    Rates: 44100
    Data packet interval: 500 us
  Interface 2
    Altset 13
    Format: S24_3LE
    Channels: 4
    Endpoint: 2 IN (ASYNC)
    Rates: 48000
    Data packet interval: 1000 us
  Interface 2
    Altset 14
    Format: S24_3LE
    Channels: 4
    Endpoint: 2 IN (ASYNC)
    Rates: 48000
    Data packet interval: 500 us
  Interface 2
    Altset 15
    Format: S24_3LE
    Channels: 4
    Endpoint: 2 IN (ASYNC)
    Rates: 88200
    Data packet interval: 500 us
  Interface 2
    Altset 16
    Format: S24_3LE
    Channels: 4
    Endpoint: 2 IN (ASYNC)
    Rates: 96000
    Data packet interval: 500 us
As listed - for 2 channels the samplerates go from 44100 to 192000. For 4 channels from 44100 to 96000 only.

I will test spectrum quality at home.
  Reply With Quote
Old 11th June 2019, 02:52 PM   #12
phofman is offline phofman  Czech Republic
diyAudio Member
 
Join Date: Apr 2005
Location: Pilsen
Quote:
Originally Posted by audio_tony View Post
Have a look at this bash shell script

It'll give you a detailed list of devices and their capabilities.
You can do it very simple:

Code:
aplay --dump-hw-params -D hw:2,0 /dev/zero 
Playing raw data '/dev/zero' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "hw:2,0":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S24_3LE
SUBFORMAT:  STD
SAMPLE_BITS: 24
FRAME_BITS: [48 96]
CHANNELS: [2 4]
RATE: [44100 192000]
PERIOD_TIME: [500 1981429)
PERIOD_SIZE: [23 87381]
PERIOD_BYTES: [138 524288]
PERIODS: [2 1024]
BUFFER_TIME: (239 3962858)
BUFFER_SIZE: [46 174762]
BUFFER_BYTES: [276 1048576]
TICK_TIME: ALL
--------------------
aplay: set_params:1233: Sample format non available
Available formats:
- S24_3LE

arecord --dump-hw-params -D hw:2,0 /dev/null
Recording WAVE '/dev/null' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "hw:2,0":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S24_3LE
SUBFORMAT:  STD
SAMPLE_BITS: 24
FRAME_BITS: [48 96]
CHANNELS: [2 4]
RATE: [44100 192000]
PERIOD_TIME: [500 1981429)
PERIOD_SIZE: [23 87381]
PERIOD_BYTES: [138 524288]
PERIODS: [2 1024]
BUFFER_TIME: (239 3962858)
BUFFER_SIZE: [46 174762]
BUFFER_BYTES: [276 1048576]
TICK_TIME: ALL
--------------------
arecord: set_params:1233: Sample format non available
Available formats:
- S24_3LE
  Reply With Quote
Old 11th June 2019, 02:56 PM   #13
voltwide is offline voltwide  Ireland
diyAudio Member
 
Join Date: Jan 2010
I use two of these EMUs for some time using Linux LMDE, ARTA and wine. Pulseaudio is installed and active.
The contents of my .asoundrc are


pcm.!default front:CODEC
ctl.!default {
type hw
card CODEC
}


hope that helps.
__________________
tuby or not tuby, that is here the question!
  Reply With Quote
Old 11th June 2019, 06:39 PM   #14
phofman is offline phofman  Czech Republic
diyAudio Member
 
Join Date: Apr 2005
Location: Pilsen
I do not see any driver problem with the soundcard. All freqs seem to work OK for both analog channels (1st, 2nd). The 3rd+4th channels are for SPDIF output/input.

But left channel has some USB/processing noise, much higher than the right one. I have joint-compensated all harmonics of 1211Hz fundamental (chosen not to be multiple of 1kHz) with my tool Digital Distortion Compensation for Measurement Setup - the spectra without the harmonics show the difference between left and right channels clearly. The tool screen lists all the removed harmonics.

The results are not bad but comparable to my PCI Infrasonic Quartet soundcard. I did not expect the USB artefacts. Honestly, I am a bit disappointed.
Attached Images
File Type: png EMU-left.png (16.9 KB, 122 views)
File Type: png EMU-right.png (16.7 KB, 124 views)
File Type: png compen-tool.png (89.9 KB, 127 views)

Last edited by phofman; 11th June 2019 at 06:52 PM.
  Reply With Quote
Old 12th June 2019, 01:44 AM   #15
Interference is offline Interference  Italy
diyAudio Member
 
Join Date: Jan 2013
Location: Padua
Thanks for the feedback @phofman. Could you try to do a 4ch capture at 96 kHz? In the end that's the only combination that was giving me problems.


A file will correctly be recorded, but you should immediately see that's something wrong with the channel content.

Last edited by Interference; 12th June 2019 at 01:49 AM.
  Reply With Quote
Old 12th June 2019, 01:48 AM   #16
Interference is offline Interference  Italy
diyAudio Member
 
Join Date: Jan 2013
Location: Padua
Quote:
Originally Posted by phofman View Post
The results are not bad but comparable to my PCI Infrasonic Quartet soundcard. I did not expect the USB artefacts. Honestly, I am a bit disappointed.

This is a known issue, due to some sub-optimal routing of some lines. I agree it's disappointing, it could have been easy to avoid it.



On the other hand I cannot think of another USB interface providing similar performance without going up to several hundreds of euros.
  Reply With Quote
Old 12th June 2019, 08:09 AM   #17
phofman is offline phofman  Czech Republic
diyAudio Member
 
Join Date: Apr 2005
Location: Pilsen
Quote:
Originally Posted by Interference View Post
Could you try to do a 4ch capture at 96 kHz? In the end that's the only combination that was giving me problems.
The two other channels are for SPDIF (in/out), playback/recording requires looping back with a digital cable (coax/toslink). Did you have it connected? It is possible the recording does not work correctly when no SPDIF signal is present at the digital input, corrupting the whole frame (analog + digital channels)

I will test it.
  Reply With Quote
Old 12th June 2019, 08:36 AM   #18
phofman is offline phofman  Czech Republic
diyAudio Member
 
Join Date: Apr 2005
Location: Pilsen
Quote:
Originally Posted by Interference View Post
This is a known issue, due to some sub-optimal routing of some lines. I agree it's disappointing, it could have been easy to avoid it.
Unfortunately all the USB soundcards I have seen have the 1kHz artefact. It looks like avoiding it requires an extra effort (QA401 seems OK). Most measurements are at 1kHz which hides the artefact.

But measuring with the E-MU right channel should be OK when using non-1kHz signal. Most precision measurements require only one capture channel anyway.
  Reply With Quote
Old 12th June 2019, 09:38 AM   #19
Interference is offline Interference  Italy
diyAudio Member
 
Join Date: Jan 2013
Location: Padua
Quote:
Originally Posted by phofman View Post
The two other channels are for SPDIF (in/out), playback/recording requires looping back with a digital cable (coax/toslink). Did you have it connected? It is possible the recording does not work correctly when no SPDIF signal is present at the digital input, corrupting the whole frame (analog + digital channels)

This does not happen at 4 x 48 kHz where the digital channels simply read zero. Also, 4 x 96 kHz in Windows works fine.


I have not tried at 4 x 96 kHz with a digital loopback in Linux (I won't be able to put my hands again on it for another ~1.5 week).



My specific problem under Linux is that Java/REW access the board at 4ch x 96 kHz, so even if you analyse only one channel the capture is screwed up. As a workaround, I should try a way to force the access in 2ch mode (or veto the 4 x 96).


Thanks for taking interest in this!
  Reply With Quote
Old 12th June 2019, 09:54 AM   #20
phofman is offline phofman  Czech Republic
diyAudio Member
 
Join Date: Apr 2005
Location: Pilsen
Quote:
Originally Posted by Interference View Post
This does not happen at 4 x 48 kHz where the digital channels simply read zero. Also, 4 x 96 kHz in Windows works fine.


I have not tried at 4 x 96 kHz with a digital loopback in Linux (I won't be able to put my hands again on it for another ~1.5 week).
I will try it this week.


Quote:
My specific problem under Linux is that Java/REW access the board at 4ch x 96 kHz, so even if you analyse only one channel the capture is screwed up. As a workaround, I should try a way to force the access in 2ch mode (or veto the 4 x 96).
Try this in your .asoundrc and use the newly configured PCM device emu2ch in java. It should force 2-channel mode, thus making the USB-audio driver use the 2-channel usb altsettings, instead of the 4ch ones.


Code:
pcm.emu2ch {
  type hw
  card "USB"
  device 0
  format S24_3LE
  channels 2
}

Quote:
Thanks for taking interest in this!
It is my interest too :-) I need a decent usb device for my project.
  Reply With Quote

Reply


E-MU 0404 and Linux (also issues with REW at 96 kHz)Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
E-MU 0404 USB Modification? lumanauw Digital Line Level 241 28th December 2018 08:52 PM
Issues using E-MU 0404 USB for measurements (ARTA and RMAA) maxw Equipment & Tools 102 23rd September 2018 06:17 PM
emu 0404 usb Nikitas Swap Meet 6 9th October 2013 09:55 AM
E-mu 0404 problem tonyptony Digital Line Level 2 25th August 2012 02:00 AM
EMU 0404 PCI - Needs a fixin' first, but... jbeckva Digital Line Level 1 28th December 2010 03:53 PM


New To Site? Need Help?

All times are GMT. The time now is 11:09 AM.


Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 15.00%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
Copyright ©1999-2019 diyAudio
Wiki