I have created a flowchart to visualize the building blocks which make up TAS in an attempt to increase understanding of what is going on where. The green blocks are all our own code and/or under our control. The red blocks is not our code and/or not under our control.
I will now describe each block and it's purpose individually.
Starting with our own developed code:
1) "My Taiko Cloud" is a webserver hosted on the internet which enables functionality like discovery of the Extreme on your local network by the Taiko remote control app and it can host future TAS software updates which can be installed from the Taiko remote control app.
2) The "Taiko Remote Control App" provides the interface to remotely control the Extreme
3) The "Communication Protocol" is a secure protocol we designed to allow the remote control App and the Taiko Cloud to interface with the Extreme and to control all internal processes without any negative effects on Sound Quality. We had to design a new protocol from scratch as all the existing ones, like telnet and ssh for example, turned out to have quite an influence on Sound Quality. This protocol is partially responsible for negating negative influences from your network environment.
4) The "File Treatment Protocol" negates differences in where your files are sourced from and how they were created. It very significantly improves Sound Quality as a cherry on top, even of files on local storage. This part of TAS is responsible for the delays before a track or a batch of tracks start.
5) The "Serial Play Bridge" makes the "File Treatment Protocol" pre process one file at a time and then feeds that file to the "Extreme Direct Player".
6) The "Batch Play Bridge" makes the "File Treatment Protocol" pre process up to 25 files at a time and then feeds those to the "Extreme Direct Player", this causes a larger initial delay then the "Serial Play Bridge" but it will be able to play an Album gapless, the gapless feature is a phased development as we are working to make this to sound as close as possible to the "Serial Play Bridge".
7) The "HQPlayer bridge" is similar to the "Batch Play Bridge" but it places files into the HQPlayer playlist Queue in stead of feeding them to the "Extreme Direct Player".
8) The "Extreme Direct Player" is the file playback engine, aka "The Player" which plays files and outputs to the selected ASIO driver.
9) The "Taiko ASIO driver" is the driver which drives the output, typically USB but it can also drive AES/EBU or ASIO network protocols. Quote from wikipedia.org:
Audio Stream Input/Output (
ASIO) is a computer sound card
driver protocol for
digital audio specified by
Steinberg, providing a low-
latency and high fidelity interface between a software application and a computer's
sound card.
10) The "USB firmware" controls the USB controller which we have under our control with our USB card scheduled to arrive here tomorrow, shipping to customers in a few weeks.
External code used, not under our control:
1) HQPlayer software, its main function is Realtime up-sampling.
2) Vendor supplied ASIO drivers, we have developed some means to control it / enhance its behaviour, but that control is limited to supported functionality.
3) Logitech Media Server and its Tidal and Qobuz plug-ins. This indexes and serves your music, provides metadata and is what you are currently using to browse and select the music you want to play. It therefor currently defines the look and feel of TAS. We are going to replace this with our own server application, but this will be relative large project and this will take time, not as much as it took us to develop and code the 10 parts listed above, but a considerable project nonetheless which now has to timeshare its development with support for over 100 BETA users. As you can understand we are willing to change some bits and pieces of code of Logitech Media Server to remediate the most urgent quibbles, but we are not putting significant resources into this particular part of TAS as we are going to replace it entirely a few months down the line. We are fully aware of its limitations, especially when compared to Roon, hence TAS will remain BETA code until we finish coding our own server application.
I hope this provides more insight into the TAS project and environment, and to where we are heading.