Jump to content
IGNORED

New OSX Opensource audiophile player : Audirvana


damien78

Recommended Posts

I play a redbook file, then stop it and do something else maybe for 5-10min. After this time, about 10s into the track or less I can play another redbook file and I get the CPU over. There's no breakup/stutter/dropout, plays fine. This behaviour occurs on FLAC. I can restart the app, and problem clears.

I make sure when I do an A/B, the other apps are closed off.

 

Most programmers should be good artists as well, the therapy will do you good!

 

 

 

AS Profile Equipment List        Say NO to MQA

Link to comment

Lizard_King: Sorry, it won't work on ppc. I already use 10.6 only APIs, and next step will be strong use of GCD.

 

Furthermore, Intel modern CPUs (all Core included) ensure 64bit simple operations are atomic if correctly aligned, thing you don't have with ppc.

And this feature is of great help to avoid any locks-triggering-kernel-traps that give performance penalty and thus degrade SQ.

 

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

I enabled the precision loss warnings to help hunting data loss.

But my main dev config is 64bit/debug, and some data types have reduced precision in 32bit mode, thus generating the warnings during the i386 build. Anymay, most of the users will run the 64bit version.

 

The external libs (libsndfile, libsamplerate, taglib, flac, ogg, ...) are quite stable now, and so I did not feel it justifies the hassle of distributing the app with dynlibs to maintain.

I feel distributing a zip that basically contains only the app package the user only need to drag'n'drop in his apps folder is worth it.

So a fink package won't be useful in this regard, but thanks for the proposal.

 

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

DanRubin: Ok, it seems you don't have the font "Futura" installed on your mini, and that's the cause.

I'll code a gentle fallback though to prevent the exception.

 

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

The main ennemy of memory playback is the OS swapping the buffers.

That's why I've limited the allocable buffers size to total RAM - 1GB to ensure the OS gets enough of it and does not trigger swapping.

Unfortunately it doesn't seem there is an easy way (but if anyone knows...) to declare a user level mem block to be resident in RAM.

 

That may explain what One and a half has experienced.

wgscott: can you check the available mem you have when playing and encountering the dropouts?

 

Anyway, it seems there is a mem leak, and this may be the #1 cause and on my fixing list.

Another way to reduce the realtime mem access need is to increase the driver buffer size. Until I implement it, you can change it by yourself using the HALLab application.

 

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

Wow - I just checked in after a week or so to give some AyreWave feedback & found this thread. Great work - thank you for all the effort, I will download it tonight for sure.

 

I temporarily use a budget DAC which has no drivers - it is a current DAC but it's also old school plug & play, even over USB. I have an issue with AW where it resets audiomidi to 1 channel / 8 bit if I use exclusive access, resulting in a horrible noise. This seems likely to be a DAC issue. I haven't seen your programme yet, but would you anticipate any problems with a basic DAC of this sort?

 

 

QNAP > MACMini 2015 > Audirvana+ > M2Tech Young DAC > Magnum MP250 Class A pre > Wonfor designed Single Ended Class A Monos > modified Triangle Antal ESW (Tellurium Q Black).

 

 

 

 

 

 

Link to comment

"wgscott: can you check the available mem you have when playing and encountering the dropouts?"

 

I can't give you a more quantitative estimate until this evening, but Menu Meters displays about 450 to 500 MB free memory while playing, and usually about 1500MB when it deallocates. There is lots of swapping and page-outs, from what I recall.

 

-- Bill

 

 

 

Link to comment

Good catch, Damien78, thanks. A couple of months ago, I removed a bunch of supposedly damaged fonts from that computer, which some forums were suggesting was the reason I was getting random, unexpected system restarts. Well, it helped for a while.

 

Dan

 

Mac Mini 5,1 [i5, 2.3 GHz, 8GB, Mavericks] w/ Roon -> Ethernet -> TP Link fiber conversion segment -> microRendu w/ LPS-1 -> Schiit Yggdrasil

Link to comment

I've fixed the mem leak that was causing the tracks buffers not to be freed, and thus increasing mem footprint up to make mem swap, thus causing cpu over alarms, audio dropouts.

 

wgscott: can you retest and tell me if it's better now ?

 

DanRubin: I've implemented the fallback to the standard label font if the Futura font can't be found.

 

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

Thanks for implementing that fix so quickly. Unfortunately, while it now launches, it crashes when I try to play anything.

 

 

Exception Type: EXC_BAD_ACCESS (SIGSEGV)

Exception Codes: KERN_INVALID_ADDRESS at 0x0000000100768000

Crashed Thread: 2

 

Thread 0: Dispatch queue: com.apple.main-thread

0 libSystem.B.dylib 0x00007fff8279ef3a pread + 10

1 ....audio.toolbox.AudioToolbox 0x00007fff84969445 UnixFile_DataSource::ReadBytes(unsigned short, long long, unsigned int, void*, unsigned int*) + 155

2 ....audio.toolbox.AudioToolbox 0x00007fff849699de Cached_DataSource::ReadFromHeaderCache(long long, unsigned int, void*, unsigned int*) + 240

3 ....audio.toolbox.AudioToolbox 0x00007fff84969ae2 Cached_DataSource::ReadBytes(unsigned short, long long, unsigned int, void*, unsigned int*) + 210

4 ....audio.toolbox.AudioToolbox 0x00007fff84927e3b AudioFileObject::ReadBytes(unsigned char, long long, unsigned int*, void*) + 201

5 ....audio.toolbox.AudioToolbox 0x00007fff84927d10 AudioFileObject::ReadPackets(unsigned char, unsigned int*, AudioStreamPacketDescription*, long long, unsigned int*, void*) + 82

6 ....audio.toolbox.AudioToolbox 0x00007fff84927bf2 AudioFileReadPackets + 200

7 ....audio.toolbox.AudioToolbox 0x00007fff849785af ExtAudioFile::ReadInputProc(OpaqueAudioConverter*, unsigned int*, AudioBufferList*, AudioStreamPacketDescription**, void*) + 215

8 ....audio.toolbox.AudioToolbox 0x00007fff84927b0f AudioConverterChain::CallInputProc(unsigned int) + 753

9 ....audio.toolbox.AudioToolbox 0x00007fff849276ba AudioConverterChain::FillBufferFromInputProc(unsigned int*, CABufferList*) + 106

10 ....audio.toolbox.AudioToolbox 0x00007fff8492763b BufferedAudioConverter::GetInputBytes(unsigned int, unsigned int&, CABufferList const*&) + 177

11 ....audio.toolbox.AudioToolbox 0x00007fff849274ff CBRConverter::RenderOutput(CABufferList*, unsigned int, unsigned int&, AudioStreamPacketDescription*) + 145

12 ....audio.toolbox.AudioToolbox 0x00007fff8492727f BufferedAudioConverter::FillBuffer(unsigned int&, AudioBufferList&, AudioStreamPacketDescription*) + 327

13 ....audio.toolbox.AudioToolbox 0x00007fff849273f0 AudioConverterChain::RenderOutput(CABufferList*, unsigned int, unsigned int&, AudioStreamPacketDescription*) + 156

14 ....audio.toolbox.AudioToolbox 0x00007fff8492727f BufferedAudioConverter::FillBuffer(unsigned int&, AudioBufferList&, AudioStreamPacketDescription*) + 327

15 ....audio.toolbox.AudioToolbox 0x00007fff84926ffb AudioConverterFillComplexBuffer + 253

16 ....audio.toolbox.AudioToolbox 0x00007fff84979146 ExtAudioFile::Read(unsigned int&, AudioBufferList*) + 578

17 ....audio.toolbox.AudioToolbox 0x00007fff84970e40 ExtAudioFileRead + 83

18 fr.dplisson.Audirvana 0x000000010000915a -[AudioFileCoreAudioLoader loadInitialBuffer:MaxBufferSize:NumReadFrames:Status:NextInputPosition:] + 534

19 fr.dplisson.Audirvana 0x000000010000d3ed -[AudioOutput loadFile:toBuffer:] + 857

20 com.apple.AppKit 0x00007fff8738a152 -[NSApplication sendAction:to:from:] + 95

21 com.apple.AppKit 0x00007fff8738a0b1 -[NSControl sendAction:to:] + 94

22 com.apple.AppKit 0x00007fff87415a0b -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 1715

23 com.apple.AppKit 0x00007fff87446536 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 555

24 com.apple.AppKit 0x00007fff874144b5 -[NSControl mouseDown:] + 624

25 com.apple.AppKit 0x00007fff8732e763 -[NSWindow sendEvent:] + 5409

26 com.apple.AppKit 0x00007fff87263ee2 -[NSApplication sendEvent:] + 4719

27 com.apple.AppKit 0x00007fff871fa922 -[NSApplication run] + 474

28 com.apple.AppKit 0x00007fff871f35f8 NSApplicationMain + 364

29 fr.dplisson.Audirvana 0x00000001000048d8 start + 52

 

 

Mac Mini 5,1 [i5, 2.3 GHz, 8GB, Mavericks] w/ Roon -> Ethernet -> TP Link fiber conversion segment -> microRendu w/ LPS-1 -> Schiit Yggdrasil

Link to comment

Can you please recompile a new version that is 32 bit for PPC?

 

Powerbook G4 15 inch Aluminum, \"Fidela,\" M2tech EVO (BNC)with RF attenuator,dedicated PSU, Stereovox XV Ultra (BNC) Audio Note Dac Kit 2.1 Level B Signature Upgraded to 12AU7 tubes, ARC SP-16L Tube preamp , VAC PA100/100 Tube Amp), Vintage Tubes, Furutech ETP-80, (Alon 2 Mk2, (upgraded tweeters, Usher Woofers), Pangea Power cords, Omega Micro Active Planar PC. Signal Cable Silver Resolution ICs.

Link to comment

DanRubin: The crash occurs when the CoreAudio loader (using Apple loader API) tries to read from the file.

The track is added without issue to the playlist (with title, artist, ... information ok) I assume.

Is there anything special about this file (file itself, location e.g. network volume, ...) ? Are you able to play the file in iTunes ?

Is it occuring all the time ?

 

But this may not be the cause, re-reading your crash log indicates "Crashed Thread: 2". Can you paste it again (or send it to me in PM) with the full log, especially the crashed thread call stack ?

 

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

Haven't heard dropouts, but it just flat-out refused to play a 24/48 Mahler download I just got from B&W that is about 28 min long. File size is 285 MB (FLAC converted to ALAC so maybe uncompressed it is too big?). I hate Mahler so I guess this is an asset/feature rather than a bug. ;)

 

Link to comment

Making a PPC version will not only mean replacing the currently few 10.6 API calls, but also implement some synchronization mechanisms that are not needed for Intel CPUs.

Furthermore I'll make use of 10.6-only feature (GCD) in a very next release to implement background load.

 

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

wgscott: You named it, the uncompressed size exceeds the max buffer size you have on your system (1GB for 2 buffers = 512MB each = ~23mn @ 48kHz).

Implementing split load to allow large files load is in my todo list, but not in 1st position... Anyway, you're not going to miss this Mahler piece, are you? :)

 

Good to hear you don't have dropouts anymore!

 

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

Thank you very much for your excellent work. I spent a day comparing players on my 2007 Macbook Pro into my Arcam rDac over USB yesterday. Audirvana won by a clear margin and I was up until 3am this morning enjoying tunes, not something I've done in a long time. It blows iTunes out of the water for sound quality (which I guess is obvious), and sounds more natural and 'analogue' than Ayrewave which I didn't think handled sibilants very well and tended towards being a bit to sharp, although extremely good in most other areas. Dare I say it, but I even prefer it to Pure Music (a tendency to pull music apart and present it to you as separately recorded instruments rather than a performance if that makes any sense) and Amarra (which I didn't think really did much in my system).

 

The problem I get is that after around 20 minutes or so of listening, it starts to glitch, firstly at the start of a track and as it gets worse does so throughout a track, so restarting the program is required. This seems to be exasperated if I'm flicking through tracks and it doesn't like me loading any other software while it's playing. This isn't going to stop me using it though as I think it's fantastic.

 

----[br]Rich[br]

Link to comment

Will you be adding VST wrapper to that TODO list? That would be awesome and differentiate Audirvana from the other audiophile players (and allow quite a few to finally give up their PCs and migrate to the Mac platform).

 

#1 Music: AIFF -> WD Caviar Black 2Tb -> OWC Mercury Elite AL-Pro -> Locus Design Polestar -> Mach2 Music server -> OS X 10.6 -> Fidelia -> LAConvolver -> Audiolense FIR filter -> MBS FW800/400 -> Metric Halo LIO-8 -> Vovox sonorus muco S8 -> Supra Sword IXLR -> Bryston 28B-SST2 -> Supra Sword -> Vienna Acoustics Mahler mkII. Accessories: Exact Power EP15 UK, PS Audio Quintet EU, VH Audio Airsine, Furutech FP-3TS20/FI-E35/FI-25/Fi-1363/fuses, Nordost Vishnu/TI pulsar points, Finite Elemente Cerapucs, GIK Acoustics 244/Monster/Tri traps etc.[br]#2 Movies: MKV -> Areca RAID6 server -> CAT6 -> 2 x Devolo AV200 -> CAT6 -> Mach2 Music Server -> Windows 7 Ultimate -> TotalMedia Theatre 5 -> Plogue Bidule -> ConvolverVST -> RME FF800 -> 2 x Silflex Glass Optical (ADAT) -> RME ADI-192 DD -> VOVOX mucolink direct SD -> LIO-8 -> Vovox sonorus muco S8 -> Supra Sword IXLR -> 2 x Bryston 28B-SST2 (L+R), 1 x Bryston 7B-SST2 ©, 4 x B&O ICEpower 1000ASP DIY (surround) -> 2 x VA Mahler mkII (L+R), 1 x Oratorio (center), 4 x Waltz Grand (surround), Velodyne HGS-18 (sub). Accessories: DSpeaker Anti-Mode 8033, Auralex Gramma. [br]#3 Headphones: Nexus Psile (VIA based w/CF card) -> M2Tech hiFace -> Stereovox XV Ultra -> Audio-GD REF 5 w/modded connectors -> DIY ACSS cable w/UniCrystal OCC silver & LEMO -> Audio-GD Phoenix w/modded connectors-> APureSound v3 -> HD800. Accessories: PS Audio Quintet US, Neotech NEP-3001, Belden 83803, Furutech F-11, IsoNodes etc.

Link to comment

lovejoy: First of all thanks a lot for this comment!

 

I've fixed the mem leak that was causing mem swap and thus the gliches after some time. You can get it from googlecode, it's version 0.1d.

 

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

Audirvana is samplerate agnostic: if the DAC handles the sample rate it'll directly send the audio stream, and if not, it'll sample convert it to the highest the DAC can handle.

Note that this sample conversion process takes time (up to 1mn for a 10mn track), and currently delays first track playback. This annoyance will disappear when I'll implement background loading.

 

So 24/96, 24/176.4, 24/192,... are handled.

 

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

What do you mean exactly by VST wrapper ?

Is it using ASIO for output ? In this case this is a no, as ASIO will add overhead over bare CoreAudio and thus decrease sound quality.

Is it to add VST filters in the signal ?

I'm not sure it is the highest priority, as this will deviate from this program first goal: pure unaltered music with highest quality.

It will need to be applied during track load and not realtime though.

 

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

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