#+TITLE: Schiit Magni 3 headphone Amp, Modi 3 DAC with Apple Lightning Dock #+SUBTITLE: With iOS Neutron Music Player #+DESCRIPTION: Tutorial on how to setup a bit-perfect headhphone stand #+KEYWORDS: schiit magni modi apple ios lightning dock neutron # Export underscore as underscore instead of highlight in HTML: #+OPTIONS: ^:nil num:nil # Include usable macros from https://github.com/fniessen/org-macros: #+INCLUDE: ../org-mode/macros/org-macros.setup #+INFOJS_OPT: view:showall ltoc:nil path:https://iki.fi/~pyyhttu/debian/org-mode/js/org-info.js #+HTML_HEAD: * The setup This is a tutorial on how to setup a bit-perfect headhphone stand that is both cost effective and performant. ** Philosophy - Write article how you setup your offline music collection. - Hardware, player software, tagging, streaming... Similar to [[https://lobste.rs/s/ezmsab/prepper_style_music_hoarding][this]]. - Start with theory: why self-hosted - Stack as per [[https://www.reddit.com/r/headphones/comments/ark7y2/schiit_stack_to_iphone/][this]]. - You need separate powersource for apple dock. - Then, download your flac tunes in iphone and [[https://apps.apple.com/gb/app/onkyo-hf-player-hi-res-music/id704139896][install Onkyo player pro]], 10€ (see if there's a free try out before). - Inspect with the player your file sample rate: "original sample rate of the audio file and the actual rate being played." [[https://www.whathifi.com/us/advice/how-to-play-hi-res-music-your-iphone-0][Source]]. - But having 192-kHz/24-bit FLAC files doesn't really matter: "Unfortunately, there is no point to distributing music in 24-bit/192kHz format. Its playback fidelity is slightly inferior to 16/44.1 or 16/48, and it takes up 6 times the space." [[https://people.xiph.org/~xiphmont/demo/neil-young.html#toc_1ch][Source]]. - Document to schiit article, and mention hardware cahnges first under philosophy. Reason? Formulate it as in [[https://darko.audio/2020/06/a-hi-fi-for-your-spotify-or-apple-music-or-amazon-music/][here]] under philosophy. ** Hardware If you want to play hi-res music you are currently limited by the DACs inside iPhones. iPhone DACs can at maximum play music files of 24-bit/48 kHz and if you try to play anything higher resolution, say, flac files you've downloaded from various streaming services, your 24-bit/96 kHz and 24-bit/192 kHz tunes (or what have you), iPhone will just downsample them to 24-bit/48 kHz. If you want to listen to anything higher than 24-bit/48 kHz, you'd need to connect your iPhone to an external DAC. #+BEGIN_QUOTE DACs are built into Apple devices like the iPhone, but they are only mid-range DACs that max out at 24 bit at 48 kHz. Apple's Lightning to 3.5 mm Headphone Jack Adapter has a DAC, but it likely maxes out at the same bit depth and sample rate. Some Lightning and USB headphones have DACs, but again, they likely won't get you Hi-Res compatibility. That's why a higher-quality DAC is needed.[fn:1] #+END_QUOTE ** Software Music is stored on an external HDDs operated by OMV and accessed by Neutron over Wireguard. See [[https://pyyhttu.kapsi.fi/debian/openmediavault/omv.html][omv.html]] and [[https://pyyhttu.kapsi.fi/debian/pi-hole/pihole.html][pihole.html]] for more info. *** NEXT Setup OMV HDDs over non-usb connection to avoid Neutron timing output It seems to be connectivity through USB [[https://neutroncode.com/forum/viewtopic.php?f=3&t=6922&p=20046&hilit=problems+with+ftp&sid=c4da17e7bdd52d63f15208a624efa5a7#p20044][may cause problems.]] ** Music I have music in multiple samplerates which I want to listen to as they are. So do have any files higher than 24-bit/48 Khz? I ran a query against my music library in Beets to see: ~$ beet list -f '${samplerate}' > samplerate.txt~ #+BEGIN_SRC bash 44100 48000 88200 96000 176400 192000 #+END_SRC Yes, I do. 44kHz and 48kHz are what [[https://www.head-fi.org/threads/what-samplerate-is-most-popular-here.826328/][every other samplerate builds on]], so 44100, 88200, 176400, 352800 are all multiples of 44100hz, so if you have music in these samplerates (or its multiples), it is basically 44100. Same thing with 48000: 96000, 192000, 384000, 768000... it is basically 48000. What about bitdepth? ~$ beet list -f '${bitdepth}' > bitdepth.txt~ #+BEGIN_SRC 16 24 #+END_SRC As everything I have is in flacs, those are the two bitdepths returned. No 128, 192, 256, 320 kbps mp3s, or 1 bit DSDs. Just flacs. I picked one of each above 49kHz to test with if I can get them to play with iPhone and via external DAC. ~$ beet list -p 'samplerate:88000..'~ (so basically 44 kHz) #+BEGIN_SRC Anubis - 2020 Homeless media: CD bitdepth: 24 samplerate: 88200 #+END_SRC ~$ beet list -p 'samplerate:96000..'~ (so basically 48 kHz) #+BEGIN_SRC Cosmograf - 2021 Mind Over Depth media: Digital Media bitdepth: 24 samplerate: 96000 #+END_SRC ~$ beet list -p 'samplerate:176400..'~ (so basically 44 kHz) #+BEGIN_SRC Procol Harum - 2017 Novum media: CD bitdepth: 24 samplerate: 176400 #+END_SRC ~$ beet list -p 'samplerate:192000..'~ (so basically 48 kHz) #+BEGIN_SRC MONO - 2006 You Are There media: CD bitdepth: 24 samplerate: 192000 #+END_SRC Order from Magni 3+ headphone AMP and PREAMP (SKU: ARTMGN3+-Silver) Modi 3 - AFFORDABLE DO-ALL DACS (SKU: ARTNMD3-Silver) - Alternative players, should have webdav (nextcloud) shows audio rate: Neutron, Hibymusic, Onkyo - "The iPhone will natively output data up to 24/48 through the Lightning port... and hi-res output is possible but for this the iPhone needs *software* like the Onkyo HF Player app, which overcomes the 24/48 limit. (There are loads of forum threads about that piece of software.)" Source: https://forums.stevehoffman.tv/threads/best-cost-effective-way-to-incorporate-iphone-7-into-stereo-system.888944/#post-22313773 - Modi 3's light lit when it was connected to its own power source (5V / 1A), and apple dock with lightgning cable to its own (2,1 A) <-- 1A also might be enough: https://www.head-fi.org/threads/modi-2-magni-2-connection-issues.853957/ - After plugging in lightning cable to phone and modi 3 and waiting a few seconds, a firmware update was received (had to go to settings too for it start over-the-air update: http://www.3u.com/news/articles/1886/apples-lightning-to-usb3-camera-adapter-gets-a-firmware-update-to-version1.0.5) *** NEXT iPhone 13 Mini not charging nor connecting I get the following error popup with Camera Adapter (Model A1619) and Lightning Dock (Model A1717) combo: #+BEGIN_SRC bash Accessory not supported This accessory is not supported by this device #+END_SRC The problematic component seems to be the Lightning Dock stand as solely with Camera Adapter both connectivity and charging works. Do I pass enough power? Tested so far with these [[https://support.apple.com/fi-fi/HT210133][Apple chargers:]] - [X] Model A1400 (5W power unit): Input 100-240V ~ 50-60Hz 0.15A, Output 5V 1A (tested) - [X] Model A1357 (10W power unit): Input 100-240V ~ 50-60Hz 0.45A, Output 5.1V 2.1A (tested) - [-] Model A1401 (12W power unit): Input 100-240V ~ 50-60Hz 0.5A, Output 5.2V 2.4A - [-] Model A1720 (18W power unit): Input 100-240V ~ 50-60Hz 0.5A, Output 5V 3A OR 9V 2A (supports iPhone 8 and newer fast charging) - [-] Model A2305 (20W power unit): Input 100-240V ~ 50-60Hz 0.5A, Output 5V 3A tai 9V 2.22A Test next with 12W power unit, and see if tricks here work: https://discussions.apple.com/thread/253014702 Otherwise test if passing signal solely through camera adapter is enough for high res sound (confirm with Onkyo, Hibymusic or Neutron) and compare results to iPhone 8, which does work & charges with camera adapter/lightning dock combo. ** Neutron player - [[https://avplus.fi/kokeilussa-neutron-music-player-toisto-ohjelma-ja-neutralizer-kalibrointisovellus-toistoa-tositarkoituksella/][Review of Neutron]]. - Document and enable [[https://neutroncode.com/faq/38-bit-perfect-output][bit-perfect audio in Neutron player]] as well as [[https://neutroncode.com/forum/viewtopic.php?t=6598&p=18298#p18298][these settings]] to enable bit-perfect audio. Another document on [[https://neutroncode.com/forum/viewtopic.php?f=3&t=6529&sid=c6216f3b95cd453087a31e83f55711be][bit-perfect settings.]] - High-res audio is available when [[https://neutroncode.com/forum/viewtopic.php?t=6777&p=19294#p19294][frequencies]] are above 44khz. - Setup equalizer settings in Neutron as per https://autoeq.app/ for Sennheiser HD 650. https://www.reddit.com/r/oratory1990/wiki/index/faq/#wiki_how_is_this_list_different_to_the_github_.2F_autoeq.3F *** Settings in Neutron Settings - Playback - DS Effect - Frequency Response Correction (On) - Sennheiser HD 650 (Crinacle, Ears-711). See: https://neutroncode.com/forum/viewtopic.php?f=3&t=6134&sid=741112d452f86455a3143e214d3b051e#p16249 Settings - Playback - Equalizer Presets - 4-Band Parametric (Default) - Device - "USB: Schiit Modi 3": On (The "4-Band Parametric (Default)" can't be disabled, so leaving it on with "USB: Schiit Modi 3" selected). Settings - Playback - Replay Gain: 'Album' If Whole Album (Replay gain is applied, only if this is defined in tags. If set, Neutron displays on top of main screen the +-db change, usually by lowering it). Settings - Playback: 64-Bit Processing (After setting this, Settings - Audio Hardware: Bits changes from 32 to 64). Settings - Playback - Resampling: Audiophile (After setting this, Yes - Owner of the Lonely Heart over NFS starts cracking on iPhone 14 at 0:00. At 1:14 the cracking is over, and starting over the song, cracking has disappeared. Could be buffering issue. Edit: on exiting Neutron, unhooking the usb, waiting 30 min, rehooking usb, and relaunching Neutron, the playback is choppy again. Pressing pause and waiting 30 min resolves the issue. This is definetely network issue. Play around with network settings next to experiment how to cut down the choppiness.). Settings - Profile - Bit-perfect (Device, Digital USB, Digital: UPnp/DLNA, Chromecast) - Device: "USB: Schiit Modi 3" Settings - Profile - Bit-perfect - "Digital: USB:" On Settings - Profile - Bit-perfect - "UPnp/DLNA, Chromecast:" On (this is dubious if needed, but needed for bit-perfect on iOS, according to this: https://neutroncode.com/forum/viewtopic.php?f=3&t=6435&hilit=usb+lightning&sid=92e881431fa443af28fb27590ac7f64c&start=10#p17499 Settings - Audio Hardware - Follow Source Frequency: On ** Set up streaming to outside with mpd and snapcast - https://www.reddit.com/r/selfhosted/comments/hiy7gs/guide_to_using_mpd_for_whole_house_audio_and/ - Or, setup on NAS on rpi4 [[https://mstream.io/][mStream]] which is able to stream FLACs. - Third option is to setup navidrome whic has good development and rep according to this thread: https://github.com/beetbox/beets/discussions/4760 and it has multiple compliant iOS clients to choose from: play:sub, amperfy and substreamer. ** Pre-installation tasks *** DONE Download "Intermod Tests" samples from this page on iphone and listen. * Footnotes [fn:1] [[https://ios.gadgethacks.com/how-to/you-need-dac-enjoy-apple-musics-hi-res-lossless-audio-here-are-best-options-0384656/][Gadgethacks article]] that elaborates on this.