Jump to content
IGNORED

AyreWave- A New OSX Audio Player Released AT RMAF


Lars

Recommended Posts

So far, I haven't had a single crash since installing the current version of the 1.2.3 pre-release. I did have an earlier addition that did crash but Stephen made some updates and I installed the newer version with success (so far).

 

My procedure was to delete the plist file from libraries, install the new addition, and reset my preferences. I'm hoping the rest of the week goes so smooth!

 

Thanks, Stephen!

 

John

 

EDIT: I spoke too soon. One crash tonight....dang itI Player stalled/hung then shut off.

 

Positive emotions enhance our musical experiences.

 

Synology DS213+ NAS -> Auralic Vega w/Linear Power Supply -> Auralic Vega DAC (Symposium Jr rollerball isolation) -> XLR -> Auralic Taurus Pre -> XLR -> Pass Labs XA-30.5 power amplifier (on 4" maple and 4 Stillpoints) -> Hawthorne Audio Reference K2 Speakers in MTM configuration (Symposium Jr HD rollerball isolation) and Hawthorne Audio Bass Augmentation Baffles (Symposium Jr rollerball isolation) -> Bi-amped w/ two Rythmic OB plate amps) -> Extensive Room Treatments (x2 SRL Acoustics Prime 37 diffusion plus key absorption and extensive bass trapping) and Pi Audio Uberbuss' for the front end and amplification

Link to comment

I've been running the second pre-release of 1.2.3 for a while now and no crashes yet. Let's see how the rest of the weekend goes but this is a good start!

 

John

 

Positive emotions enhance our musical experiences.

 

Synology DS213+ NAS -> Auralic Vega w/Linear Power Supply -> Auralic Vega DAC (Symposium Jr rollerball isolation) -> XLR -> Auralic Taurus Pre -> XLR -> Pass Labs XA-30.5 power amplifier (on 4" maple and 4 Stillpoints) -> Hawthorne Audio Reference K2 Speakers in MTM configuration (Symposium Jr HD rollerball isolation) and Hawthorne Audio Bass Augmentation Baffles (Symposium Jr rollerball isolation) -> Bi-amped w/ two Rythmic OB plate amps) -> Extensive Room Treatments (x2 SRL Acoustics Prime 37 diffusion plus key absorption and extensive bass trapping) and Pi Audio Uberbuss' for the front end and amplification

Link to comment
  • 2 weeks later...

Thank you, Mr Booth! So far, your debugging has been successful for me!

 

John

 

Positive emotions enhance our musical experiences.

 

Synology DS213+ NAS -> Auralic Vega w/Linear Power Supply -> Auralic Vega DAC (Symposium Jr rollerball isolation) -> XLR -> Auralic Taurus Pre -> XLR -> Pass Labs XA-30.5 power amplifier (on 4" maple and 4 Stillpoints) -> Hawthorne Audio Reference K2 Speakers in MTM configuration (Symposium Jr HD rollerball isolation) and Hawthorne Audio Bass Augmentation Baffles (Symposium Jr rollerball isolation) -> Bi-amped w/ two Rythmic OB plate amps) -> Extensive Room Treatments (x2 SRL Acoustics Prime 37 diffusion plus key absorption and extensive bass trapping) and Pi Audio Uberbuss' for the front end and amplification

Link to comment

Stephen has released the official version of 1.23. The release notes look very similar to the pre-release notes, so no big changes but I think that either he nailed down a few minor details or else he is now confident that they were nailed down.

 

Enjoy!

 

Charles Hansen

Dumb Analog Hardware Engineer
Former Transducer Designer

Link to comment

Some early beta versions of Decibel used fixed integer, but not the official release. It isn't so bad to make a program use fixed integer with one specific DAC, but it becomes very problematic when you are trying to make a program work with every single DAC in the world. It is especially a problem trying to support both Firewire and USB DACs as they need the data in completely different formats.

 

I think Stephen is looking at the possibility of using fixed integer, but has no specific plans that I am aware of. As far as a difference, there is no difference whatsoever in the bits that are output. Does it sound different? Some say yes and others say no...

 

Charles Hansen

Dumb Analog Hardware Engineer
Former Transducer Designer

Link to comment

I want to clarify one point about what integer mode (or integer playback) means in the context of Decibel. The term is becoming popular but it lacks a concise definition, so there can be some confusion on its meaning in various contexts.

 

If exclusive access is enabled and the DAC supports integer input, Decibel will send audio to the DAC as integers. In exclusive mode, as the name implies, Decibel has complete control over the audio device and what audio is sent to it.

 

Internally Decibel represents audio as floating point numbers. This isn't a problem because all "normal" sized integer audio samples can be converted to and from floating-point numbers 100% reversibly and with 100% accuracy.

 

What Charlie means by fixed integer in his post above is an all integer audio playback chain. Take a plain WAVE file on disk- in an all integer chain the audio will be read as an integer from the file, perhaps bit shifted left, and then sent to the DAC as an integer. There are no conversions to or from floating point. The end result, however, is the same- the same bits are sent to the DAC. Some early versions of AyreWave had an all integer playback chain, but I shifted to the floating point intermediate when I added support for more DACs and digital volume.

 

Link to comment

Thank you for your comments Stephen. It is always edifying to get the information straight from the source. One quick question -- by "Exclusive" mode, do you mean the same thing that is sometimes referred to as "HOG" mode?

 

As Stephen points out, the conversion from fixed to floating (and back) is 100% accurate -- and that is with normal 32-bit floating point math. That is because the highest precision digital audio in use today is 24 bits and 32 bit floating point numbers have 24 bits of precision (23 bits in the significand plus a sign bit).

 

But just to be doubly safe, Decibel is written using double precision (64 bit) floating point math. This gives 53 bits of precision, so there is absolutely no way for the conversion to and from integer to be anything other than 100% bit-perfect. (This is also why Decibel will not run on older versions of OS X that do not support 64-bit operations.)

 

I suppose that one could create a volume control in an all-integer playback chain. But it would have step sizes of 6 dB! So one could really only listen to three or four different volume levels...

 

I believe that the latest version of PureMusic offers an integer mode for some DACs. When it is selected, the volume control/equalizer side panel turn off.

 

Charles Hansen

Dumb Analog Hardware Engineer
Former Transducer Designer

Link to comment

 

> But it would have step sizes of 6 dB!

> So one could really only listen to three or four

> different volume levels...

 

There seems to be an extra assumption in this statement. Are you assuming that an integer based volume control can only work by shifting bits in the original samples?

 

Bill

 

 

 

Link to comment

Hello Bill,

 

Obviously, the simplest way to change the volume on an integer stream is to shift the bits toward the LSB end of things. Each bit shifted would reduce the volume by -6 dB.

 

It is of course true that the volume could also be changed by multiplying the audio data by a fixed constant such as 0.707, which would reduce the volume by -3 dB. The math could all be carried out in fixed integer format, with no conversion to floating point required. So on that point you are clearly correct.

 

But the question remains, "How would it sound?"

 

If we assume for the moment that converting from integer to floating point and back does change the sound, the problem is that we have no idea why. We know it is not due to any rounding errors, because (especially when using double-precision floating point numbers), it simply is not possible for the output stream to be anything but 100% bit-perfect with the input stream.

 

So if there is a sonic difference, something else must be going on. Extra cycles in the processor? Some sort of contamination coupled through the power supply? We really don't know.

 

Back to the integer volume control. If we multiply by -3 dB, we would need to use at least 24 bit coefficients to represent root(2)/2. Then when we multiply the audio data by this number we will end up with either 40 bit numbers (if we start with 16-bit data) or 48 bit numbers (if we start with 24-bit data). This is too much data for the DAC chip to accept, so we have to dither it down, typically to 24 bits.

 

During our testing with digital filters, we found that many things we were not expecting to cause an audible difference in fact did. For example even with 16 bit audio data, going from 16 bit to 24 bit and even to 32 bit filter coefficients made audible differences. And so did the dithering algorithms used, even when only dithering the 24th bit (which should be well below the resolution limit of both the DAC chip and the subsequent analog circuitry).

 

So my previous statement regarding the "bit shifting" volume control that would create 6 dB steps was not meant to imply that one couldn't create an integer based volume control. Rather it was that to do so would create a very complex volume control with a lot of mathematical operations and dithering required.

 

And this in turn, might tend to sound more like a floating point volume conversion (where volume controls are easy to implement) than if we just did simple bit shifting (which requires virtually no processing or signal manipulation).

 

I should have been more clear. But until we understand exactly why converting to floating point and back causes a change in the sound (again, assuming that it actually does), we won't have any way to know in advance what other kinds of signal manipulation will also cause changes in the sound.

 

Charles Hansen

Dumb Analog Hardware Engineer
Former Transducer Designer

Link to comment

For example even with 16 bit audio data, going from 16 bit to 24 bit and even to 32 bit filter coefficients made audible differences. And so did the dithering algorithms used, even when only dithering the 24th bit (which should be well below the resolution limit of both the DAC chip and the subsequent analog circuitry).

 

When you take into account the internals how modern DAC chips work, it actually becomes more obvious...

 

Another advantage of floating point is that if you have two coefficients, one very large and one very small, they still have the same precision. Just different exponent. So the mantissa contains always just "significant bits".

 

Just some of the reasons I use 64-bit floating point, also for coefficients.

 

 

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 4 weeks later...

I've had it downloaded from the first day or two it was available and not had a crash yet. For me, the stability issues were solved with 1.2.3 v2 and continue to be good with 1.2.4. I'm very happy with Decibel.

 

John

 

Positive emotions enhance our musical experiences.

 

Synology DS213+ NAS -> Auralic Vega w/Linear Power Supply -> Auralic Vega DAC (Symposium Jr rollerball isolation) -> XLR -> Auralic Taurus Pre -> XLR -> Pass Labs XA-30.5 power amplifier (on 4" maple and 4 Stillpoints) -> Hawthorne Audio Reference K2 Speakers in MTM configuration (Symposium Jr HD rollerball isolation) and Hawthorne Audio Bass Augmentation Baffles (Symposium Jr rollerball isolation) -> Bi-amped w/ two Rythmic OB plate amps) -> Extensive Room Treatments (x2 SRL Acoustics Prime 37 diffusion plus key absorption and extensive bass trapping) and Pi Audio Uberbuss' for the front end and amplification

Link to comment

10.7 messes up Decibel playback.

 

With two successive tracks in the playlist that have different sample frequencies, Decibel will come to the end of the track and simply stops playing, rather than switching sample frequencies and continuing to play. If I manually select the next track and hit the play button, it does change the sample frequency when it starts to play.

 

Link to comment

Lion made some big changes both to the audio internals and to iTunes itself. Here is a link to a post concerning PureMusic under Lion:

 

http://www.audioasylum.com/forums/pcaudio/messages/9/92423.html

 

And here is a post about some of the changes to iTunes:

 

http://www.macrumors.com/2011/07/20/apple-releases-itunes-10-4-as-64-bit-cocoa-app-for-lion/

 

And here is a post from people having problems with audio in general:

 

http://forums.macrumors.com/showthread.php?t=1185018

 

(Thanks to Lars, otherwise known as Mercman for the first two posts.)

 

The bottom line is that none of the audiophile programs are going to work with Lion for quite some time. Better to stick with Snow Leopard for your audio computer for now.

 

Charles Hansen

Dumb Analog Hardware Engineer
Former Transducer Designer

Link to comment

I wanted to point out on the Decibel forum that sbooth has stated compatibility with Lion (except the integer mode like everyone else). Here is the info:

 

"Decibel is compatible with Mac OS X 10.7 (Lion). Exclusive access (hog mode) works correctly, however audio is not sent in the device's native format due to an architectural change in Apple's USB audio driver."

 

and

 

"Re: Lion compatibility

by sbooth » Thu Jul 21, 2011 3:22 pm

 

The only part of Decibel that doesn't work with Lion is integer output to the DAC. Sadly, this isn't because of a bug or oversight on my part, but rather that Apple decided to remove this functionality from the USB audio driver. This means that hog mode will still work, but it is no longer 100% certain exactly what data is being sent to the DAC. I haven't had any other issues, including with automatic sample rate switching."

 

I'm posting here in case folks were waiting to see this before upgrading.

 

Thanks,

John

 

Positive emotions enhance our musical experiences.

 

Synology DS213+ NAS -> Auralic Vega w/Linear Power Supply -> Auralic Vega DAC (Symposium Jr rollerball isolation) -> XLR -> Auralic Taurus Pre -> XLR -> Pass Labs XA-30.5 power amplifier (on 4" maple and 4 Stillpoints) -> Hawthorne Audio Reference K2 Speakers in MTM configuration (Symposium Jr HD rollerball isolation) and Hawthorne Audio Bass Augmentation Baffles (Symposium Jr rollerball isolation) -> Bi-amped w/ two Rythmic OB plate amps) -> Extensive Room Treatments (x2 SRL Acoustics Prime 37 diffusion plus key absorption and extensive bass trapping) and Pi Audio Uberbuss' for the front end and amplification

Link to comment

As Stephen as pointed out in an earlier post, "integer mode" can mean two things. One is that the program takes the integer data on the hard drive (ripped from a CD, for example) and never changes it from integer.

 

There are some real challenges with this approach and it only works with certain DACs. At this point Audinirvana and Pure Music 1.8 have this capability (at least with Snow Leopard).

 

The other "integer mode" is when the program outputs integer data to the DAC, which is what Decibel does. There is an internal conversion to floating point and back, but it is done with double precision (equal to something like 53 bits of precision) so the data is bit perfect even though it doesn't stay in fixed point all the way through the player.

 

The thing I don't understand is what exactly Stephen meant in his post. "...it is not longer 100% certain exactly what data is being sent to the DAC" makes it sound as though using Lion means that he cannot guarantee that the audio is bit-perfect. But I am just a dumb analog hardware engineer and probably misinterpreting what Stephen meant.

 

Charles Hansen

Dumb Analog Hardware Engineer
Former Transducer Designer

Link to comment

I think he meant when Decibel (or other playback program) is in "Hog" mode, OS X (10.7) may no longer convert to floating point and then back to integer, if it detects that there is no need (i.e., there are not multiple sourced of audio input).

 

Link to comment

The last I knew, that was not the case. I know that he has been experimenting with implementing "pure" integer mode, but I would have to believe that it would show up in the release notes (at the very least) if he made a change that big.

 

Again, Stephen has the answers but not necessarily the time. He has a day job and just does this in his spare time. In the past he has given away all of his audio programs as freeware. I double-dared him to release this one as a commercial product. I'm not sure if he regrets that decision or not. I think he has made a bit of money, but he also has much more pressure to fix bugs and keep up in the "features war" and so forth.

 

I think this was a way to dip his toe into the waters to see if he might be able to make a living writing audio programs. One negative about Apple is their compulsive need for absolute secrecy. So even the "Apple Developers" get blind-sided by things like this change to the USB Audio driver. I would think that they could give out small bits of information pertaining to specific programs without endangering the entire project, but it appears that they believe otherwise.

 

One example is an add-on microphone for the iPods. It was a popular accessory category, and my son bought a "Mikey" from Blue Microphones, a well-known maker of pro mics. Then he bought a new iPod Touch and it didn't work. It turns out that Blue released the Mikey II, and then two weeks later iPod released the new lineup of iPods. A year and a half later, nobody has been able to make a working add-on microphone for the new iPods.

 

I'm sure that all of the companies that had built add-on mics now hate Apple with a passion. How hard would it have been to say, "We can't tell you what yet, but there will be a change to the 30-pin connector. If you make an accessory that uses pin XX, please note that the function of this will change in the next release"? Instead they leave their "partners" holding the bag for hundreds of thousands of dollars of design, tooling, and inventory for obsolete accessories.

 

I don't get it.

 

Charles Hansen

Dumb Analog Hardware Engineer
Former Transducer Designer

Link to comment

The thing I don't understand is what exactly Stephen meant in his post. "...it is not longer 100% certain exactly what data is being sent to the DAC" makes it sound as though using Lion means that he cannot guarantee that the audio is bit-perfect.

 

Sorry for being unclear. That is, in fact, precisely what I meant. Since in Lion it isn't possible to send non-mixable audio to a USB DAC (using the default Apple USB driver, which everyone does), it is up to the audio driver to convert the 32-bit floating point numbers a program sends to the format the DAC requires. Mathematically this is a very simple operation (just a multiply), but it is also possible that some sort of DSP, dither, noise shaping, mixing, etc. could be applied to the signal since the audio isn't marked as non-mixable.

 

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...