I built SqueezeCore because I needed a lightweight, minimal, plug&play OS to use it as a squeezelite player. The whole OS is 17MB and when running it occupies around 60MB of RAM; SqueezeCore must be installed on a USB drive and will run completely in RAM. Perfect to be installed on a thin client!
CPU: 32bit or 64bit, every CPU is ok, it can run on a toaster too
USB flash drive: 32MB
An ethernet port
A monitor for first setup (optional)
A keyboard for first setup (optional)
A computer running Logitech Media Server
Download SqueezeCore .IMG from here: SqueezeCore Flash the .IMG using Etcher or a similar software
Or, if it doesn't work ...
– Download Rufus from here: Rufus – Download SqueezeCore .ZIP from here: SqueezeCore – Open Rufus, select the device where you want to install SqueezeCore, under “Boot Selection” select Syslinux 4.07, type “SQUEEZECORE” as Volume Label and untick “Create extended label and icon files”, finally click “START”. – Last step: unzip SqueezeCore and copy the content on your USB flash drive.
v0.1-ALPHA: initial release v0.2-BETA: fixed a bug that caused squeezelite not being able to lock on the specified output device v0.3-BETA: minor fixes
Using monitor and keyboard (recommended):
Plug into your computer the USB flash drive with SqueezeCore, an ethernet cable (wifi not supported at the moment), a keyboard and a monitor. Power on and boot from USB. Now you will have to enter some squeezelite settings like: what audio device use as output, buffer settings and so on; if you have any doubts leave all settings as default and just select your audio output device. (Important: read carefully the options during the setup) From now on every time you power on your computer squeezelite will start at boot with the defined settings.
Plug the SqueezeCore USB drive to your computer. Create a file named squeeze.conf inside the “/config” directory. Open squeeze.conf with Notepad++ (or a similar editor that allows you to set the UNIX(LF) newline) and insert the squeezelite options following this example:
hw:CARD=UD501,DEV=0 #1st line: output device SqueezeCore #2nd line: Player Name SqueezeCore #3rd line: Model Name auto #4th line: [server_address:port], auto to autodiscover 40:4::0 #5th line: ALSA parameters [buffer:period_count:sample_format:mmap] 4096:3072 #6th line: [stream_buffer:output_buffer] 45 #7th line: process priority [1-99] #8th line: [OPTIONAL] additional commands
Save, plug your SqueezeCore USB flash drive to your PC, power on, profit!
I want bit-perfect audio but in the output device list my dac does not appear as “hw:CARD=card_name” but only “default:CARD=card_name” You can try to type 0 during output selection to not choose any option, then, in additional options (last question) type “-o hw:CARD=card_name,DEV=0”
I want to reset my configuration! How can I do it? Directly on SqueezeCore: “rm -f /squeezecore/config/squeeze.conf && sync” From Windows: delete /config/squeeze.conf
Marco Curti for Squeezelite-R2
TinyCoreLinux team for their awesome distro. Squeezecore is based on Tinycorelinux.
If you are using SqueezeCore and you like it consider to buy me a coffee: paypal.me
Have you ever dreamed of being able to drive a full-size planar with a simple usb dac/amp dongle? I have, and I have always wanted a portable device with plenty of power and a parametric EQ integrated. It exists and its name is PowerDAC V2.
What is it?
The PowerDAC V2 is what we usually call a portable dac/amp combo but … without a dac. How? Well, it is a Full Digital Amplifier (FDA), it receives the digital input from the source, it converts it to PWM which is fed to output transistors and then filtered.
Specs and pictures
Power: USB 5V power rail no internal battery, 250mA idle current, the device contains up to 5000uF of capacitance and IOS/Android devices can start OTG operation only with Camera_Adapter and USB OTG Y-splitter cable respectively
Output impedance: 1.5Ohm@1000Hz FFT flat top -6dbFS 32Ohm/open load, -.4db drop
Output power: >320mW@32Ohm@1kHz@THD=1%
Output power: >580mW@16Ohm@1kHz@THD=1%
For full details check the website linked at the end of this review.
As we can see from the specs this device fills the niche of transportable dac/amps, perfect to connect to your laptop while working or studying. If you are asking yourself if you can use it with a mobile phone the answer is: technically yes, practically no. If you try you would have: smartphone, usb y-splitter, PowerDACV2 and a powerbank. This is not my definition of portable so I don’t advise to use it with a phone as source.
As you can see from the pictures it is a shiny little metal box. I really do like the mirror-like plates although they will remain like this only for the first 2 minutes, after that they will be covered by your fingerprints. On the back you can read how is the internal circuit composed, geeky!
When it is powered on it will become warm, don’t put it in your pocket and make sure to use it in free air if you don’t want it to become uncomfortably hot!
I’m currently testing the PowerDAC with my 1MORE Quad Driver, I’ve bought a balanced cable for my Hifiman HE-560 and I’ll update the review when it will arrive.
On the website the sound is described as “razor-like detailed” and “max transparent and max detailed” and the description is completely realistic. Don’t expect to have a warm, colourful sound of a tube amp. The sound is as it should be: detailed, neutral.
With my hybrid iem the background is not completely black, there is a very low background noise so I don’t recommend to use it with low impedance, high sensitivity multi BA iems. (If you use them check the website at the bottom of the review, E1DA produces a portable dac/amp based on ess9038q2m that would be more suitable for you)
Only while playing certain songs I could notice some sibilances and, in general, a slightly harsh sound on highs. My main hypothesis is that the cause is a bit of third harmonic distortion.
All in all I’m really enjoying the sound and the huge amount of power that the PowerDAC is able to delivery to my 1MORE iem (It is important to mention that the PowerDAC was designed to be able to drive a pair of HE-400i, certainly not the easiest over-ear headphone to drive).
Finally the 2.5 TRRS balanced cable for my Hifiman HE-560 has arrived. My main concern was: will the PowerDAC V2 be able to drive them? The answer: mostly yes, but not at 100% as expected. In theory (and practice) a “perfect” amplifier should be able to drive your headphone at 120db peak, given the sensitivity and the impedance of your headphone you can calculate what voltage and current is required. With my HE-560 I can listen to some compressed music at high volume but when I try to listen to a track that is not over-compressed I reach the 0db on the HPToy app and I’d like to go a bit more over. In conclusion with the PowerDAC V2 you can’t drive a pair of Hifiman HE-560, but you have to consider that the HE-560 are one of the most difficult to drive planars on the market. You can drive with plenty of power pretty all the Audeze HPs (excluding LCD-4) and Hifiman HPs (exluding HE-6, Arya and HE5)
HPTOY App and the DSP
To control the volume and all the DSP functions you need to download the HPToy app, available both for Android and iOS. The communication between your smartphone and the PowerDAC is via bluetooth low energy. Due to the metal housing the bluetooth range will be fairly short.
In the app there are the following controls: volume, bass/treble, loudness, filters (pEQ), compressor.
For a detailed explanation of every single feature check the official website, in this review I’m going to write only about the most important: the parametric eq.
When you tap on “filter” the app will rotate in landscape mode and you will be able to use a 7-band parametric equalizer. Below you can see a screenshot and a video tutorial about how to use it.
I think it’s totally useless to say how much can be powerful this feature. The only thing you need to do is visit the following repository: https://github.com/jaakkopasanen/AutoEq/tree/master/results, look for your headphones, download the .png image, import it in HPTOY, stretch it to match X and Y axis, mirror it and then create the EQ following the error curve (the red one). I do not recommend to use the written pEQ values if you want a good result.
If you have an iPhone or an iPad you can create an EQ using biquad coefficients too! This allows you to build a more precise equalization and to use also different type of filters like: low shelf, high shelf, notch, high pass, low pass, band pass. To calculate the coefficients you can use a website like this: https://arachnoid.com/BiQuadDesigner/ (set SR to 96000Hz)
Once you have made your EQ you can save it and even export it as a preset. There are already a lot of in-app available presets for a long list of headphones, but being able to export and import them is a huge advantage for all the PDV2 users.
I usually try to be always objective about audio quality and to not jump on “the hype train” when an interesting product is released. The PowerDAC V2 is a good all-rounder with tons on features, a good audio quality and a lot of power to drive pretty any kind of headphones on the market. The website is full of technical details and you won’t find a single line of marketing bullshits for audiofools. I would easily pay 150€ without any problem for this little shiny metal box and even at 150€ it would be competitive compared to other dac/amp transportable combos. The main “problem” is that you can buy the PowerDAC V2 at 50€, and at this price is one of the best bang for the bucks that I have ever seen.
There are 3 ways to install Logitech Media Server on you FreeBSD computer: ports, packages and DIY (yes … you have to compile everything)
Package built by me (beta)
Ports are not constantly updated so I decided to create an installer which is easy to maintain for my personal use.
This will allow you to 1- Install Logitech Media Server, 2- Uninstall Logitech Media Server, 3- Update LMS whenever I’ll publish an updated version (works only if you have installed LMS with this software)
It will install Logitechmediaserver 7.9.3 updated at the latest commit (refer to the date written in the changelog) with these included binaries:
SoX with DSD support
Instructions (must be executed as root!) pkg install curl curl -o /usr/local/bin/lms_installer https://audiodigitale.eu/repo/freebsd/lms_installer chmod +x /usr/local/bin/lms_installer lms_installer
Please, this software is still in beta, I really do need some feedback from you all! If something is not working as expected leave a comment below!
For those of you who installed lms_installer when it was in ALPHA please delete it and reinstall it.
(ALPHA) 18/10/2019. slimserver commit 8a9e9fb, vendor commit 8b05092. First release of installer software, tested on FreeBSD/FreeNAS >= 11
(ALPHA) 22/10/2019. installer update to fix some bugs
(ALPHA) 14/12/2019. installer update to support FreeBSD 12.1-RELEASE
(BETA) 09/01/2020. First beta released. Installer can now auto-update itself
(BETA) 24/01/2020. Software completely rewritten in c++. Added option to choose what version of lms install.
(BETA) 09/01/2020. slimserver-vendor commit 8b05092. slimserver commit 8d85ddd
(BETA) 21/01/2020 updated to LMS 7.9.3 slimserver commit 4f7c9f49
(STABLE-7.9.3) 24/01/2020. updated to version 1579448956
(BETA-8.0.0) 24/01/2020. added version 1579786032
Installing LMS from my installer script means that you are accepting Logitechmediaserver license -> License_eng
In this tutorial I’m going to illustrate how to implement and enable PCM->DSD conversion on-the-fly on Logitech Media Server. This is possible thanks to the plugin C-3PO and a modified version of SoX and Squeezelite-R2.
For a complete introduction and description of what is Logitech Media Server and how to install and use it you can read this Marco Curti’s guide -> Introduction to Squeezebox Server (translation in English will be available soon)
First of all we have to substitute the original SoX binary package in LMS with the modified one; go to the directory that contains LMS binaries:
Where “ARCH” is the architecture of your operative system.
cd C:\Program Files\Squeezebox\server\Bin\MSWin32-x86-multi-thread
Then remove the “old” sox, download the modified one and rename it in “sox”.
You can find all the versions of SoX for different O.S. here -> Download SoX
The binaries in the download area are statically linked, so you don’t have to install any dependencies!
If you want to compile SoX by yourself in the download area there is the .tar.gz archive of the same version of SoX used to compile the binaries; otherwise you can also clone this github repository
and replace #!/usr/bin/perl with #!/usr/local/bin/perl
Now your server should be ready to trascode PCM files to DSD, we just need to setup the client:
Please download the correct version for you O.S. here -> Squeezelite-R2
If you don’t know how to use it please read this guide -> Squeezelite-R2 Guide (translation in English will be available soon)
If you want to compile Squeezelite-R2 by yourself in the download area there is the .tar.gz archive of the same version of squeezelite-R2 used to compile the binaries; otherwise you can also clone this github repository -> marcoc1712/squeezelite-R2
Do you want to install and setup every single option of squeezelite easily? You can do it with Falcon, a practical and user-friendly web interface to manage every aspect of squeezelite! (Only for linux, beta)
Do you already know how to use squeezelite and you just want to start it at boot time?
Init Script (Linux)
sudo nano /etc/init.d/squeezelite
### BEGIN INIT INFO
# Provides: squeezelite
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Script per l'avvio di squeezelite
# Description: ---
### END INIT INFO
OUTPUT= # Specify output device, default -> default, - = output to stdout
NAME= # Set the player name
LMS= # <server>[:<port>]
ALSA= # -a <b>:<p>:<f>:<m> Specify ALSA params to open output device, b = buffer time in ms or size in bytes, p = period count or size in bytes, f sample format (16|24|24_3|32), m = use mmap (0|1)
BUFFER= # <stream>:<output> Specify internal Stream and Output buffer sizes in Kbytes
SCHEDULER= # <scheduler>:<rt priority> Scheduler: other, fifo, rr. Priority: 1-99 -> 1 min priority 99 max priority
NICENESS= # nice level -20 max priority 19 min priority
P.S. Please pay attention when you set the scheduler and the niceness; if you don’t know what are you doing remove “-N $NICENESS -P $SCHEDULER” from the script. If you have any question about this init script ask your questions in the comments below.