ASIO Audacity and M-Audio devices

Rightly or wrongly, I want to be able to transcribe vinyl and tape with an initial bit-depth of 24 bits, so as to provide as much headroom as possible for any subsequent processing to get its teeth into before I convert to 16-bit final form. On Win7 both MME and Direct Sound truncate to 16 bits. So I turn to ASIO. I want to congratulate whoever wrote the instructions on how to create an ASIO-enabled version of Audacity, because for me following those instructions produced a working ASIO-enabled version at the very first attempt.

Now for the issues. First, what I think is an Audacity issue, which is that in the setting up of devices I see only an entire ASIO device listed for either input or output, whereas I would expect to see each separate input or output (as the case may be), probably with the inpute offered as L/R, L and R. So for my M-Audio Delta Audiophile 2496 card I would expect nine choices of input device (Line, SPDIF and Mixer, each ×3), and this is what I get with Sound Forge Audio Studio. But with Audacity I only get the one. The good news is that it does pick up the incoming digitised signal from the line inputs, and examination of the exported but unedited 24-bit WAV file shows that I do have 24 bits of data there (how much of that is garbage is another matter, of course) whereas doing this with MME or Direct Sound gives 16 bits padded with zeroes. On the output side, I am getting line output, have not checked whether there is SPDIF output as well. So the first question is why am I not seeing the full range of inputs and outputs?

The second issue seems to me to be more likley a driver issue with another device, an M-Audio Audiophile USB. With this device, attempting to start recording (with only the line input to the device enabled) causes Audacity to complain of a mismatch between sample rates even when they are set the same. This does not happen with SFAS, which records quite happily from this device. A possible explanation is that Audacity is interrogating the device and not getting a sensible answer, whereas SFAS isn’t asking the question. If that is right, then the M-Audio ASIO driver would seem to be the problem. The device works fine via MME or Direct Sound – but then, of course, I am limited to 16 bits.

So why not just use SFAS? Well, I am using a trial version for these tests, and there are two reasons why I would not particularly wish to spend the modest amount of money for a licensed copy. First, like some other Sony software, it does not provide software pass-through to allow listening during recording. The 2496 has a hardware mixer that allows monitoring, the USB does not. Secondly, it does not allow different devices for input and output, and I would like to be able to use the USB for input only and listen through the 2496.

I can’t help with the driver issues, but regarding other software have you tried Reaper for recording (you can still use Audacity for editing).

Where did you find the instructions you followed?

I found them in the win/compile.txt file in the source code. compile.txt is also available online.
I too followed them to the letter and managed to create an ASIO-enabled Audacity with my first try.


Ragnar

To find the ASIO instructions, start with

http://wiki.audacityteam.org/index.php?title=ASIO_Audio_Interface

and then use the compile.txt file included with the source code.

Since my initial post, I have (for completeness) successfully added Direct Sound. For ease of setting up the source code, I used Tortoise to grab the 2.0.1-alpha code. Works fine, but I did notice three compilation warnings

ExportFFmpegDialogs.cpp
c:auxiliaryaudacitybuildlib-srcffmpeglibavutilcommon.h(155) : warning C4244: ‘return’ : conversion from ‘int64_t’ to ‘int32_t’, possible loss of data
ExportFFmpeg.cpp
c:auxiliaryaudacitybuildlib-srcffmpeglibavutilcommon.h(155) : warning C4244: ‘return’ : conversion from ‘int64_t’ to ‘int32_t’, possible loss of data
FFmpeg.cpp
c:auxiliaryaudacitybuildlib-srcffmpeglibavutilcommon.h(155) : warning C4244: ‘return’ : conversion from ‘int64_t’ to ‘int32_t’, possible loss of data

I trust that this is actually a non-problem, but at some stage someone might like to tidy it up.

I have also discovered that my “driver” problem was actually the result of attempting to mix-and-match ASIO devices. I can send both input and output through either one of the 2496 or USB devices, but I cannot take input from one and send output through the other, despite Audacity not preventing me from trying. OK, I’ll live with that and probably use the USB device for both (slightly higher spec converters and it is outside the analogue-unfriendly environment of the PC case, but input and output at 24/44100 may be pushing the envelope of USB 1.1).

Steve, thanks (a) for responding so promptly, and (b) for the useful suggestion about Reaper. I installed it to have a look, but for my purposes it adds nothing to what I now understand how to do with my ASIO version of Audacity (and neither does Sound Forge Audio Studio add anything that I need).