Hi-Res audio on Khadas VIM / VIM 2

I can see there is a lot of efforts for building different images and installations on Khadas VIM but there is no focus on audio at all. If you go trough other single board computer forums (especially Rasppbery PI and Nano PI), you will see that audio is one of the biggest (not the main but big enough) driver for the penetration of the hardware. From linux perspective, Khadas VIM is really good serviced by Khadas Staff and Balbes150 for example. Actually I have tested all images from Khadas, Balbes150, SuperCeleron, etc.but what we really need is focus on different communities - Education, IoT, Video, Audio, Smart Home …

I think that Video of VIM is one of the best (even the best) of the market biting all other brands especially with KODI builds from Balbes150 (i know they are based on Kszaq builds but Balbes have VIM dedicated). To stress our (VIM) community to be more creative on different directions we need experienced dev guys to give us more options by doing different implementations for different purpose software. We have stuck with android which is normal because Android is not the first choice for such a platforms, but i believe that Khadas have to push on Lebreelec/Openelec to become a officially supported hardware, dietpi supported platform, armbian as well, why not roone, etc. I will be glad to see Khadas on Volumio, Runeaudio, Moode, LMS or why not Roone websites.

We (my company) are trying to get Hi-Res audio playback on VIM Pro (including DSD 64/128/256/512 and DoP). We have created Audiophile HAT for VIM based on 24bit/384Khz with galvanic isolated asynchronous USB from XMOS with audio re-clock based on Crystek, but we can’t run nothing different than FLAC or ALAC on VIM natively and we need to use “MediaServer” based on different hardware - Raspbery PI or even Orange PI. The problem is limitations of aarch64 and existing images for VIM. Just ruining Ubuntu, Debian or Arbian is definitely not enough to build strong community. We (VIM commubity) need support from outside platforms!

So the question is why to continue to looking for working decision based on VIM if we (mu company) can just switch to UPboard or any PI platform including Odroid?! My answer to this question is because VIM is the best board for Audio/Video! But how to explain this to my boss? When he google “Single board computer audio/IoT/HEVC/SmartHome”, there is no Khadas VIM at all.

I need a support with compiling PERL 5.22 on arm64 for Khadas VIM on Armbian/Debian to run Logitech Media Server 7.9.x.

This will run LMS on Docker container as well including on Libreelec/Openelec and not only on Khadas VIM … which is not bad at all if the source is forum.khadas.com :wink:

Thanks.

5 Likes

why not try to obtain some good audio from android on the vim then ? Linux is not so convenient or meant for doing very high quality audio like DSD and 24/192, but I might be wrong…

@Stefan, do you know how much potential Khadas Vim has when it comes to real-time, low latency audio processing?

I mean like playing MIDI instruments, etc. :slight_smile:

I would not trust a perl app (lms?) for doing serious hi fi audio,
here is something which goes well beyond native linux/android audio capabilities : http://www.extreamsd.com/index.php/products/usb-audio-player-pro

As a server for hi-res and multiroom audio LMS needed just to build libraries like roon and sonos do and passtrough the audio untouched if player is capable to handle native PCM or DSD. For other devices, LMS can transcode and stream. As a standalone player based on LMS + squeezelite, Linux OS can be with real time kernel and play from RAM like Daphile do for example. And most important all this is open source :wink:
Android and iOS are more suitable for controls or player/receivers in some cases but not for servers or real bit perfect players.

Even for video android is more resource hungry and actually the only really good device for that purpose is Shield from Nvidia because of the powerful tegra. But running Kodi on android is pain in the ass in general. VIM has much better performance with Kodi than any android device even Shield. The only lag for VIM is 100Mbit NIC. VIM is capable to play UHD with 250Mbit HEVC and 180Mbit AVC streams and transcode True HD to DD or DTS same time if needed. Unfortunately not trough the network because of the NIC.

I already have done UHD/Hi-res player at home on my personal VIM using Libreelec where Kodi is for Video, Airplay streaming and UPNP/DLNA. For Hi-res audio I use squeezelite as a client to LMS and roon. Spotify also is in the Linux part (librespot). Tidal is from LMS server to use one account for all players. Plex and Emby are in docker on VIM but VIM is not powerful enough to handle transcoding of UHD/FHD video for them so I use them for test purposes only and for audio streaming to my mobile devices on internet.

Using libreelec as audio platform and Kodi forbvideo actually make VIM in two independent players which can use two different (independent) outputs for audio. For example you can watch movie in the leaving room and listen to music on the headphones or somewhere else simultaneously.

The problem is that for LMS, Volumio, Daphile, roon, etc I have to use other vendor boards, which mean to support two builds of different software which is at least time consuming task but more important it’s stupid because vim is the best one for both audio and video worlds. And only lag is some piece of software. Unfortunately I am just an enthusiast and not a developer or even Linux experienced guy :frowning:

I know that many people are in love with Android, but going deep in non mainstream world, where the hobbie is ruling the life of “mad” people, android is just a problem :slight_smile:

And what the @@@@ is Pulse Audio for in ATV v7 and where is ALSA?! Just kidding :wink:

3 Likes

If there are willing to start such projects, I am ready to help.

4 Likes

i suggest that we first begin with exposing a very clear description of the use case and the problem(s) to be solved, instead of already arguing on possible solutions

1 Like

Real great idea it is!(Actually, I think it’s not only an idea, it’s a strategy)

We did tend to position VIMs on audio marketing before, and now we are more sure we can deep research on it.

Hope you can share more on the Hi-Res audio on VIM :slight_smile:

Thanks!

1 Like

Actually there is no standard definition for what constitutes high-resolution audio and most of the people are happy with playing some standard FLACs or ALACs on their audio systems. Usually Hi-Res mean to play pulse-code modulation (PCM) encoded audio with sampling rates greater than 44,100 Hz and with bit-depths greater than 16 or their equivalents. Lets say that Hi-Res files are these formats that can store the format used by SACD (Super Audio Compact Disc). Usually KODI can play most of these files even to transcode DSD to PCM but this is not enough to say you have Hi-Res audio at home from audiophile perspective. Another problem is that using KODI or KODI remote from some mobile devices is not exactly the best experience for music lover no matter they are audiophiles or not. To better understand what people love, you can check Roon Labs, or Meridian with their Sooloos, or NAD, etc. The problem is that all this commercial services and hardware are expansive enough and there is a lot of music lovers that try to get same or similar experience for less money and having fun playing with toys like VIM ;). Especially the audiophile community. Mainstream board to do this is RPI of course because of the support and being one of the first. Some other brands also become popular these days mainly because of the price, power and the support they have form other communities. So, about VIM. VIM Pro is one of the best (may be best one) based on ARM that can do everything others can do plus best video performance on the market! Saying best i mean not only what and haw he is capable to play but also the stability and consistence he has. Unfortunately NIC is not 1Gbit but only enthusiast trying to play 100GB Blu-Ray discs will suffer :slight_smile: FYI: the standard for UHD Blu-Ray are 50 GB - 82 Mbit/s, 66 GB - 108 Mbit/s, and 100 GB - 128 Mbit/s.

Sorry i have to run now and i will finish my “expose” showing my idea (project) later.

3 Likes

About the audio from the hardware perspective:

Quality of audio playback depends from the signaling path from the very beginning to the end. Starting with the quality of the ripped music and the rip it self trough the player, digital to analog conversion, amplification and of course speakers. Going deeper, every single discreet element is really important to get desired sound out. If you are one of those guys that care about what they hear listening to music, the difference between just to play some music from some player to some receiver using some speakers or using little bit better equipment coming not from the mass market is huge. Starting with the upgrades, in the beginning, the results (improvement) of the spent money (and time) is really big. But after some point tweaking more become really expensive hobby where the spend amount of money is giving just a little even only theoretical results in some cases. And one very important thing is that there is not one-for-all technical decision. I mean that different people like different type of sound or sounding. So starting audio based hardware project especially for the DIY community or just for enthusiastic individuals it’s important not to give them the best final product (there is not such actually) but the proper base they to build own systems.

Back to VIM, we have HDMI and USB already and s/pdif, toslink and I2s (I hope) trough GPIO.
Speaking about audio on VIM we need to work on two directions: stereo and multichannel. Existing connectivity is giving us an option to connect almost any equipment for stereo and multichannel but trough HDMI directly or USB DAC only or with some extra elementary wiring trough s/pdif. For those that already have DACs, especially DACs with spdif passtrough option is really easy and user friendly, but for all others, especially w/o technical skills it can be a challenging task to connect VIM to their home audio systems if they don’t have HDMI inputs on their receivers. Another topic is the limitation of HDMI which is 24bit/192Khz and spdiff - 24bit/96(192 in some cases)KHz.

So, best case scenario is to add the next interfaces to VIM:

  1. s/pdif (coaxial) with multichannel support (trough GPIO)
  2. toslink with multichannel support (trough GPIO)
  3. dedicated audio (2ch. only) re-clocked s/pdif and toslink (trough I2s or USB and after some circuit)
  4. Analogue RCA (XLR optional) for native, over 192KHz signals (trough I2s or USB followed by DAC)
  5. Native I2s output (optional)

Going for above scenario this mean an expensive peace of hardware especially if you go for really high-end sound. My personal opinion is that here we have to focus on proper from audio engineering perspective and good enough for average use and not to go building best in the industry DAC circuit implementation. More over most of the high-end enthusiasts, already have own USB DACs and for them only USB is enough.

HATs:

We need three basic extensions boards as a beginning:

  1. spdif/toslink from the GPIO (cheapest one)
  2. simple combo analogue + digital: spdiff/toslink + analogue output 3,5" jack or 2xRCA trough simple DAC (average use, not too expansive)
  3. “Hi-End” all-in-one with separate linear power suplay:
  • Multichannel audio spdiff/toslink trough GPIO (as is)
  • Two channel, isolated dual mono DAC with re-clock (capable of minimum 32bit/384KHz) analogue outputs RCA/XLR and spdif/toslink pastrough after re-clock.

I work on the 3th option.

Of course it is good to have adequate cases as well :slight_smile:

Any comments, suggestions and corrections here are welcome.

Next is the software part which is the most important actually and all of the above in this post is more or less for information only.

4 Likes

Seem that VIM2 Lite model which specs as S905D can match the requirements.

Hi, Stefan:
Do you think that 2 path of I2S bus will be better for Hi-Res audio media player?

As both VIMs only leave one path I2S bus on the 40-Pin GPIO, and another I2S/PCM bus is for Bluetooth.

Thanks for your professional suggestions and feedback!

Hi Gouwa,

One is enough on the GPIO. This is good you have second one for the Bluetooth :slight_smile:

Important is the clock you use. And this is a main problem with all single board (and not only) computes. To cover all audio frequencies actually you need two oscillators. But this will make the board too expansive especially if you go for real good low phase noise ones. Crystec for example. So if you can find some cheep alternative which is really Low Phase Noise will be great no matter there is only on oscillator on board :slight_smile: Jitter is the main enemy of the digital audio :slight_smile:

Hi Gouwa,

About the audio (and not only) HATs, I have seen some boards to use RPI GPIO standard or jumper option to switch between own and those of RPI. This approach is giving an option to the customers to use almost all already available expansion boards for RPI. Is ihis to hard to implement in VIM2?

any news about hi-res / high quality audio out of the VIM/VIM2 ?

1 Like

Haven’t yet, we got a ODM project based on VIM2, which is a Hi-Fi and Hi-Ref Audio based product, will update the in the next couple weeks.

5 Likes

Hi Stefan and Gowa, I have not yet acquired VIM2 but curious to know if VIM2 will run debian based Jriver for Hi-res Multichannel audio. http://files.jriver.com/mediacenter/channels/v22/latest/MediaCenter-22.0.111-5-armhf.deb Please let me know. Thanks

@numbqq Nick, please a a test and keep updated.

Hi maxxzaxx,

I install MediaCenter22 on VIM2 Ubuntu, but failed to run it.

Hi numbqq,
Thanks for the update. How about rasplex or any other flavors of plex. I want to use it as a plex server or otherwise as a powerful plex client that can handle FLAC Multichannel audio. Please let me know.