A good sound cards for linux, has a fully working supported official driver
.... ha ha ha ha ... good one!
But seriously, most onboard sound should work for a start. Phil, have you not got any audio built into the motherboard?
In terms of better / pro-audio cards, two pages worth looking at are the ALSA soundcard matrix
and the Linux Musicians hardware page
Interesting to note that the Echo Mia should be supported, but does require its firmware to be installed - have you installed the linux-firmware package from the Ubuntu repo. You'll notice here
that the firmware for lots of Echo soundcards are listed. Mind you, has Mia but not Mia MIDI - not sure if that's an issue. You'll also probably want the alsa-tools-gui package which gives you echomixer to control the thing.
In terms of other soundcards, anything that's USB 1.1 audio class compliant (ie. doesn't require a driver on Windows) should also work out of the box on Linux. USB 2 interfaces are a bit more hit and miss.
I use a separate 1x1 MIDI interface (Edirol UM-1ex) - again look for something that's USB class compliant and you shouldn't have an issue.
I haven't used a desktop for years, so less sure about the PCI options. The M-Audio range should be pretty solid, as with anything else that uses an ice1712 chip internally - I had a DSP2000 years ago. RME cards are also meant to be well supported.
I have a FireWire card (Edirol FA-101) for my laptop that works great. However, FireWire cards are JACK only, so although there is a PulseAudio to JACK bridge it's not ideal for working with JavaSound or other non-pro-audio software. You could also use (shameless plug!
) my JAudioLibs' JNAJack bindings to work directly with JACK from Java.
Speaking of JACK, it's also possible to use it on Windows, which together with JNAJack would allow you to interact with any ASIO software (presume Sonar can do ASIO?).