Our initial plan was to use lirc-rpi (lircd) for Remote and Poll gpio of RPI to
handle the front panel Buttons and rotary Encoder. When we developed the software and looked at the CPU usage we found that polling the GPIO pins frequently for
Buttons and Rotary Encoder and using lircd was taking up decent amount of
CPU cycles. Our design philosophy is always to have as many CPU cycles as possible for audio decoding instead of ancillary tasks. If the audio player
is CPU starved it can lead to degradation of sound quality.
To allow the most CPU headroom for the player , we offload all Input handling tasks like polling Input keys, decoding IR remote etc to a independent MCU board. Since we have a MCU Board that is powered separately, power management and muting also is handled by the MCU.
When we measured the audio noise during playback we found some
non repeating random noises , when we investigated this , we found
it was from the Ethernet port when the player app was downloading data,
we also noticed noise when using WiFi while streaming data.
We explored various options to reduce it , One to shield it the analog section,
the second would be to reduce as much unnecessary
stuff from running when we are playing back a track. For example
the UPNP server if running answers to any device on the network
querying for it (SSDP).
Our software stack does not run any unnecessary BG daemons till
the user starts it. So unless you are in the UPNP player mode the
daemon is not running in the background. Same for other Player
Second important thing we found that reduced the noise during playback
of network content (NAS/UPNP Stream) or even USB content, is to download it to
a RAM disk and play it from there. There is a small delay during startup for
downloading the track but more than makes up for much better listening
experience. There are No IO operations , no buffering etc, that happen when we playback from the RAM disk so much cleaner sounding playback.
We have an Option to turn on “Download Before Play” in Settings menu.
Finally we have taken great care to isolate the power supplies and
shield transformers from analog sections etc.
After going thru internal discussion about if we
need to include BT audio receiver we found that in the
last 5 years BT has changed so much and will continue to change.
If we include it inside the chassis we would most
defiantly obsolete our hardware in the next 3 years when
better BT technology like BT HD or the next version APTx
comes along. So we decided to include BT as a plugable external
component. This way when a better BT module comes along
we can always easily replace it.
We decided to do the same with google chrome cast audio too.
This is also available as an external component.
The Player uses its preamp switching circuit to seamlessly switch
between the internal digital transport and external devices
like BT module, Chrome cast Module, Airplay etc.
From the end-user perspective all these modules are integrated
into a seamless software interface.
The added benefit of using external modules is that we don’t
have ugly antennas poking out and we get very good WiFi and
Welcome to Rasa Audio .
We at Rasa have set ourselves a mission to bring Great Audiophile Gear to Everyone.
As our first endeavor, we are building a Flagship Digital Audio File Transport and player. The player can play files from 128k MP3s to FLACS and DSD/DXDs up to 32bits, 384Khz. The player can play files from USB disks and stream files from uPNP servers on NAS. The stream will be avaialbe on SPDIF and TOSLink to feed it your DAC. We will also have variants with DAC + Bluetooth (BT4 with aptx) + PreAmp with analog Volume control.
UI will be completely controlled by a standard IR remote, no need for Smartphone or Keyboards or Mice or Touch Screens. From the Listening position you will be able to change tracks albums using the remote instantly. No need to unlock the phone open the app wait for it to connect to just skip to the next track. I would be as simple to use as a CD player. Just plug in your music on thumb drive into the USB port and use the remote.