Jump to content
IGNORED

New OSX Opensource audiophile player : Audirvana


damien78

Recommended Posts

I must confess that I really do not understand why Float and Integer Mode exist as two separate regimes. I always thought of digital audio as being inherently integer (after all, n-bit data is comprised of n-bit integers). So I don't know why it would ever be transformed into floating point format in the first place, let alone transmitted to the DAC in floating point format. As far as I can fathom, floating point data can only complicate things compared to integer, no? Perhaps someone can explain for me?...

 

Link to comment

I am now coming round to the view that there is in fact an increase in resolution with Lion/Float. However, this is coming at the cost of a level of harshness and fatigue that I *personally* cannot live with.

 

You are certainly not the only person experiencing this. I'm curious: Your sig shows BitPerfect and iTunes; this is (mostly) an Audirvana thread. Have you experienced the harshness and fatigue with both? Is Audirvana running in integer mode and iTunes off?

 

One never knows, do one? - Fats Waller

The fairest thing we can experience is the mysterious. It is the fundamental emotion which stands at the cradle of true art and true science. - Einstein

Computer, Audirvana -> optical Ethernet to Fitlet3 -> Fibbr Alpha Optical USB -> iFi NEO iDSD DAC -> Apollon Audio 1ET400A Mini (Purifi based) -> Vandersteen 3A Signature.

Link to comment

Converting back and forth between 12.00000000000000000 and 12 isn't really the issue.

 

The problem is that the typical computer user has audio generated from a multitude of programs. So let's say Audirvana is playing a 24-bit file, and your Mail utility needs to emit the woosh sound that accompanies sending an email. All of this has to go into your 24-bit integer device. Something has to give. So what the OS does is mixes the two audio signals, then puts the sum back into the 24-bit integer device. So the calculation requires what sort of amounts to an averaging operation, but it can't do the operation unless everything is first converted into floating-point decimal, summed, and then prepared for output.

 

In Hog mode, there is no need for all of this. Just take the integer input and output it, bypassing all the conversion and mixing, since there is nothing to mix in Hog mode.

 

However, hog mode isn't something Apple encourages. They consider that breaking the expected behavior of the OS. (Same problem with sample rate switching -- they look at this as a potential for breakage.) I wouldn't be a bit (so to speak) surprised if they take that away from us too at some point.

 

 

 

Link to comment

wgscott: I bet you could have done it without erasing Lion if you had used a non-Apple program, such as Carbon Copy Cloner, to restore Snow Leopard from your bootable backup.

 

HQPlayer (on 3.8 GHz 8-core i7 iMac 2020) > NAA (on 2012 Mac Mini i7) > RME ADI-2 v2 > Benchmark AHB-2 > Thiel 3.7

Link to comment

Thanks for the insights, wgscott. Has anybody ever told you your "spider" makes them want to scratch!...

 

In Hog mode, there is no need for all of this. Just take the integer input and output it, bypassing all the conversion and mixing, since there is nothing to mix in Hog mode.

 

This would imply that Hog mode is always integer mode. I didn't think that was the case. Can you clarify?

 

I'm afraid I'm just not getting this. From what I have been able to gather, the issue of Integer vs Float mode, as it obtains in this thread, relates specifically to the USB interface. Is that correct? Is there an official protocol that transmits digital audio data over USB as floating point PCM? And are the DACs designed to accept and work with it, or does the DAC's USB interface do a Float-to-Integer conversion?

 

Is there an issue of Integer vs Float for people who output their digital data from a sound card via a SPDIF or other such interface? Has anybody heard from such a user about their experiences with Lion?

 

Sorry about all the questions. I'm just trying to get a handle on the beast.

 

And I'm still scratching ... :)

 

 

 

 

 

Link to comment

Yes, I do have a confession to make. I used to use Audirvana, but switched to BitPerfect when I found it to actually sound even better. I suppose I shouldn't be saying that in this thread, but there we are. Also, I really don't like the way I have to import music into Audirvana's playlist. I have nearly 12,000 songs (60% classical) in my library, and rummaging through my NAS to find what I want to play is a significant task for me. BitPerfect uses iTunes to do that task. Now, iTunes is FAR from being perfect in that regard, but it is a lot easier (for me) than importing into Audirvana every time.

 

Whether or not I use Audirvana, this is just a pleasant thread to hang about in!...

 

Have you experienced the harshness and fatigue with both? Is Audirvana running in integer mode and iTunes off?

 

Without bothering to think too hard about it, I have always thought of Audirvana as an Integer-Mode player, so I never bothered to do the comparison you suggest. I will do that tonight and report back.

 

Link to comment

"This would imply that Hog mode is always integer mode. I didn't think that was the case. Can you clarify?"

 

No, it just implies the conversion from integer to float to integer doesn't do anything useful. It also shouldn't do anything harmful, but the suggestion is that it is computationally more efficient to avoid the two unnecessary conversions, and that the greater efficiency translates into better sound quality.

 

Link to comment

Thanks for this, and also apropos logic from wgscott. I read "Beyond Bit Perfect", but it does not answer a key question for me. In "Beyond Bit Perfect"'s figure 3, I don't see where the USB link lies in the chain. Floating point data has to be ultimately converted to Integer data for the DAC to convert it. So where is this conversion done?

 

(i) In the computer, before sending to the USB controller?

(ii) In the computer's USB driver?

(iii) In the DAC's USB receiver? Or

(iv) in the DAC itself?

 

I am tending to assume (iii), but I don't know, and I am hoping somebody can confirm.

 

Link to comment

Streams mixing and floating to integer conversion happen in the Audio driver in the computer (ii).

USB Audio standard is made around PCM integer data, though it allows for raw formats (DD, DTS, ...)

 

MBP 15"/Mac Mini, Audirvana Plus, Audioquest Diamond USB, AMR DP-777, exD DSD DAC (for DSD), Pioneer N-70AE, Audioquest Niagara balanced/Viard Audio Design Silver HD, Accuphase E-560, Cabasse Sumatra MT420

Link to comment

As i understand all the audio drivers in OSX must be write in standard float mode in order to be used by all applications that need audio, so the system can mix these streams and to apply dsp, oversampling, etc, in these mode is possible to ask for hog mode (exclusive access) so all incoming streams are rejected and only one take control of the audio data.

 

There is a special mode called integer mode, only a few drivers are written these way, in where the audio data avoids all that, and permits that the integers read from the audio stream are sent directly to the driver of the audio card (usb or any), these type of mode needs exclusive access to the audio data.

 

At the end every mode you choose, sends the data in integer mode, cause these is the format the chip in the DAC needs.

 

Hackintosh I7 16GB Ram, Roon, HQPlayer, Drobo 8 TB NAS, Raspberry Pi 3 NAA, Gustard X20 ES 9018 Xmos, Audio GD C39 Preamp, The First ONE DIY Amp, Monitor Audio GS20 Speakers, Monitor Audio RSW12 Subwoofer, PI Audio MagikBuss filter.

Link to comment

Gang,

 

Audio Drivers can be written for any format they want, but it must include a float32 virtual input. There are basically virtual formats and physical formats.

 

The virtual formats are the inputs to the drivers and what can be written to at an application level.

 

The physical formats are what the device needs to see to work properly.

 

The problem comes for some hardware when they use their custom drivers is that they use a non-standard protocol. For example many async units that require custom drivers (i.e. not Native supported units) that are USB use bulk mode instead of ISO mode. Sure they both send PCM data but the driver only tells the OS that it supports Float32 in the virtual format.

 

I attached the HAL LAB output of the Proton for you to see.

 

If the virtual format does not support integer or it does not support a subset of integer that the application understands then the application will run in Float32 instead.

 

Thanks

Gordon

 

 

 

Link to comment

Hi, Gordon. You wouldn't happen to have any clue as to why Lion came out without the USB Audio driver able to do integer mode, or when if ever Apple might bring it back, would you?

 

 

 

One never knows, do one? - Fats Waller

The fairest thing we can experience is the mysterious. It is the fundamental emotion which stands at the cradle of true art and true science. - Einstein

Computer, Audirvana -> optical Ethernet to Fitlet3 -> Fibbr Alpha Optical USB -> iFi NEO iDSD DAC -> Apollon Audio 1ET400A Mini (Purifi based) -> Vandersteen 3A Signature.

Link to comment

Without bothering to think too hard about it, I have always thought of Audirvana as an Integer-Mode player, so I never bothered to do the comparison you suggest. I will do that tonight and report back.

 

I have done the comparison, and the answer was that using Lion and Float Mode, there was no significant difference in SQ between Audirvana and BitPerfect. Both exhibited the same harshness in the sonic signature.

 

I hesitated about writing the next bit, since this an Audirvana forum, but here it is anyway, and the community can advise me if you think it is inappropriate. Something really weird happened. Late last night I received an update to BitPerfect. All of a sudden, ALL of the harshness seemed to disappear. The sound went back to as close to SL in Integer Mode as my aural memory will permit. There was not enough time to do any sort of thorough evaluation, and my comments are based on one hour's worth of critical listening, and included one track that I had played in the comparison I mentioned above (which was done the previous night). At this point I cannot be certain that BitPerfect is responsible for this, but I haven't changed anything else that I can think of. I will have to report back in due course.

 

In a separate note from BitPerfect's developer, he told me that the update was intended primarily to address some functionality issues, but there was apparently a minor tweak to the 'sound engine'. He did not expect it to have any significant impact, and did not report hearing the same on his system...

 

Finally, there is an intriguing thread that has started on this forum, which I noticed this morning ... "Lion break-in???" http://www.computeraudiophile.com/content/Lion-Break I guess I should drop a post there...

 

Link to comment

Until Gordon replies, here's my guess. As I understand it, certain recent iMacs have a USB port hardware fault that results in glitchy sound when the Snow Leopard USB Audio driver is used in "integer mode". I think Apple has removed "integer mode" from the Lion USB Audio driver as the simplest way of preventing the problem appearing under Lion. Unfortunately, the result is no "integer mode" for every Mac, not just the relatively few faulty ones.

 

I have no doubt that at least one third party is already developing a USB Audio driver which supports "integer mode" under Lion.

 

 

Link to comment

Jud,

 

Hi, Gordon. You wouldn't happen to have any clue as to why Lion came out without the USB Audio driver able to do integer mode, or when if ever Apple might bring it back, would you?

 

Actually the driver in Lion has changed a bunch. This is not were the problem is as far as integer is concerned. I generated a bug report on the incident and let's see what happens.

 

If I was to gander the problem it maybe that Stephen Booth was asked to submit a bug report about the ticking problem with integer mode and someone pickup and said that should not be a valid virtual interface. But let's see what happens. I did more than I should in this regard and let's see if it pays off.

 

Thanks

Gordon

 

Link to comment

FYI, I opened a bug on this exact issue "Missing non-mixable streams for USB Audio device in OS X 10.7" more than 1.5 month ago.

No reply from Apple so far.

 

Gordon,

Do you know if Stephen Booth has got any reply to his ticking problem report ?

Maybe it has been something like "Integer mode removed" ?

 

Maybe some more people could tell Apple Integer mode is a feature that their customers want.

 

Damien

 

MBP 15"/Mac Mini, Audirvana Plus, Audioquest Diamond USB, AMR DP-777, exD DSD DAC (for DSD), Pioneer N-70AE, Audioquest Niagara balanced/Viard Audio Design Silver HD, Accuphase E-560, Cabasse Sumatra MT420

Link to comment

Damien,

 

Stephen never heard back from Apple on his. I however have had contact with a couple of groups and explained what the market was and who was pissed off that it was gone.

 

That is really all I can say since I have a strict NDA with Apple in this type of matter.

 

Thanks

Gordon

 

Link to comment

Gordon,

 

If you can reach Tomlinson Holman, that might be helpful.

 

(He's the inventor of THX sound at George Lucas Films who Apple hired a few months ago, probably to lead an Apple push into high quality home theater.)

 

HQPlayer (on 3.8 GHz 8-core i7 iMac 2020) > NAA (on 2012 Mac Mini i7) > RME ADI-2 v2 > Benchmark AHB-2 > Thiel 3.7

Link to comment

I however have had contact with a couple of groups and explained what the market was and who was pissed off that it was gone.

 

A bit discouraging that there was no response to your coreaudio-api post on this, Gordon. In contrast, there were several responses to Stephen's post about the ticking.

 

That is really all I can say since I have a strict NDA with Apple in this type of matter.

 

Right, not expecting anything more from you, just noting the lack of a response on the public mailing list so far.

 

One never knows, do one? - Fats Waller

The fairest thing we can experience is the mysterious. It is the fundamental emotion which stands at the cradle of true art and true science. - Einstein

Computer, Audirvana -> optical Ethernet to Fitlet3 -> Fibbr Alpha Optical USB -> iFi NEO iDSD DAC -> Apollon Audio 1ET400A Mini (Purifi based) -> Vandersteen 3A Signature.

Link to comment

First update of Lion is coming out.

 

Are the spezific problems with integer mode repaired in the software-update?

 

Have someone testet it?

 

Thanks and greatings

 

klemi

 

Link to comment

The "clicking" or "popping" seems to have reared its ugly head again in Audirvana.

 

Here is the debug info (below). Let me know if there is any other info you need. Using Lion (latest).

 

Listening to: HDTracks version of Bill Evans, Explorations (88kHz/24bit) (I am not hearing the clicks and pops when using Decibel, Fidelia, etc. - did try Audirvana first, after a restart, to see if those other players were part of the reason for the clicks.)

 

Audirvana rev. 0.9.5 debug information:

 

Currently playing in standard 32bit float mode

Mixable linear PCM Interleaved 32bits little endian Float, 8 bytes per frame @88.2kHz

 

Hog Mode is on

Devices found : 4

 

List of devices:

Device #0: ID 0x54 Built-in Output UID:AppleHDAEngineOutput:1B,0,1,2:0

Device #1: ID 0x70 Musical Fidelity V-Link UID:AppleUSBAudioEngine:Musical Fidelity:Musical Fidelity V-Link:fa140000:1

Device #2: ID 0x48 Soundflower (2ch) UID:SoundflowerEngine:0

Device #3: ID 0x21 Soundflower (16ch) UID:SoundflowerEngine:1

 

Preferred device: Musical Fidelity V-Link UID:AppleUSBAudioEngine:Musical Fidelity:Musical Fidelity V-Link:fa140000:1

 

Selected device:

ID 0x70 Musical Fidelity V-Link UID:AppleUSBAudioEngine:Musical Fidelity:Musical Fidelity V-Link:fa140000:1

5 available sample rates up to 96000.0Hz

32000.0

44100.0

48000.0

88200.0

96000.0

 

Audio buffer frame size : 27 to 9216 frames

Current I/O buffer frame size : 8192

Physical (analog) volume control: No

Virtual (digital) volume control: No

Preferred stereo channels L:1 R:2

Simple stereo device: yes

Channel mapping: L:Stream 0 channel 0 R:Stream 0 channel 1

 

1 output streams:

Stream ID 0x71 2 channels starting at 1

5 virtual formats:

Mixable linear PCM Interleaved 32bits little endian Float @96.0kHz

Mixable linear PCM Interleaved 32bits little endian Float @88.2kHz

Mixable linear PCM Interleaved 32bits little endian Float @48.0kHz

Mixable linear PCM Interleaved 32bits little endian Float @44.1kHz

Mixable linear PCM Interleaved 32bits little endian Float @32.0kHz

 

5 physical formats

Mixable linear PCM Interleaved 24bits little endian Signed Integer @96.0kHz

Mixable linear PCM Interleaved 24bits little endian Signed Integer @88.2kHz

Mixable linear PCM Interleaved 24bits little endian Signed Integer @48.0kHz

Mixable linear PCM Interleaved 24bits little endian Signed Integer @44.1kHz

Mixable linear PCM Interleaved 24bits little endian Signed Integer @32.0kHz

 

Office desktop: iMac ((Retina 5K, 27-inch, Late 2015) (4 GHz Intel Core i7) (512GB SSD) (32GB Ram)) => USB (Kimber Kable USB Silver) => V-Link 192 USB Input => V-Link Coax Output (AQ Sidewinder) => Schiit Bifrost Multibit Coax Input => Schiit Bifrost Multibit RCA Output => Schitt Pyst => Schitt Asgard 2 => (Audioquest - Mini-3) => Audioengine HD6 (slave connected with Audioquest Type 4 cable) (Pangea AC-14 Power Cord) (IsoAcoustic L8R155 stands) => Audioquest Sidewinders => Audioengine S8 Subwoofer

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...