Frequently Asked Questions
The origin of the name "CIOS Audio Core"?
Anwser : The primary project of CIOS Audio Core is CIOS, with full name is Collective Intelligence Operating System.
It is an operating system by itself, having its own kernel.
However, it is also designed to live on the other operating systems.
The most important concept of CIOS is through Mind-Meld mode or Grand link mode
to accerelate the knowledge learning process.
By exchanging knowledge between machines and human,
CIOS was bestowed with actual anthropomorphic intelligence.
The functions of CIOS Audio Core is to provide CIOS audio streams,
therefore it is not surprise to call it "CIOS Audio Core".
It is a subsystem of CIOS underlying mechanism about sensor grids.
Because CIOS runs on multiple platforms,
the requirement of CIOS Audio Core is actually must cross-platforms.
Therefore, CIOS Audio Core can be an independant open source project.
Finally, CIOS Audio Core was separated from CIOS project as a standalone project.
Why CIOS Audio Core does not provide DLL or SO files?
Answer : Because CIOS Audio Core uses threads to be the internal playback and recording
method. And it can be used in many applications and platforms at the same time.
The author considerred providing a DLL or SO file is a very dangerous way to
completely screw up the stability of the target system.
It is highly possible some other applications misuse the Host APIs
and lock up the whole system, using DLL or SO is very possible
to lead the system into a complete dead-lock and CPU hug.
Although CIOS Audio Core is a thread safed audio processing interface,
in the near future, DLL or SO will not be provided, we do only static linked.
Actually, we strongly suggest you use the source code and compile into your program only.
CIOS Audio Core does capable of DLLed or SOed,
actually, the original author did have ones.
Yet, finally, the author decided not to public distribute them.
You may try, but the author strongly suggest you DO NOT.
Is CIOS Audio Core related with text-to-speech and voice recognition?
Answer : The most early version of CIOS Audio Core was a completely mixed up
version with text-to-speech and voice recognition.
Later, the related developments added a whole bunch of functionalities,
a theoretical analysis was done. All components in this part of module was
divided into
Phonemes system,
Language Formula system,
Pure meaning system,
Conditional meaning system,
Machine understanding system,
Human vocal output system,
Voice recognition system,
Acoustic recognition system,
all of these systems are dismantled into standalone systems.
Meanwhile, CIOS Audio Core was separated from CIOS project,
trying to avoid a completely mixed up stuffs in CIOS subsystem.
The relationship of CIOS Audio Core with the other subsystems,
Universal Phonemes Table,
Language Formula,
Human Text To Speech,
Human Voice Recognition,
Voice Activity Detection,
Acoustic recognition system,
and Input method.
These applications and subsystems are using CIOS Audio Core
as the core of audio streaming interface,
this is one of the reasons why this component was called "Audio Core".
Can CIOS Audio Core transmit audio streams via network?
Answer : Yes.
The original version of Host APIs did have one, but it is not open source.
If you are in need of network audio streaming,
there are many other options, such as Audio Over UDP, you can create one by yourself.
Because CIOS Audio Core is embedded with FFmpeg,
the module itself has compression and decompression functionalities,
it is not very difficult.
The reason of not releasing audio over network Host API,
the author had considerred this very carefully.
Audio over network is a function that potentially violation of personal privacy.
In the future versions, CIOS Audio Core will not have any function or module
related with Audio over network except Jack audio and Pulse audio.
If you want one, you will have to create one by yourself.
There are license issues about FFmpeg, is there any other alternatives?
Answer : Yes. Actually, there are two other options, libav and VideoLAN VLC.
If you are willing to help creating a VLC version of Host API,
the author is willing to add your addition to the official release.
The author has limit resources and energy,
the plan does not include VLC supports.
It is best to have a volunteer and devote himself or herself to create an open source version of VLC Host APIs.
Skeleton Host API seems useless?
Answer : Yes.
Skeleton Host API acts like /dev/null under Unix system, it does NOTHING at all.
However, it can act as an audio emulator if you like.
For developer purposes, a newly developing Host APIs requires a template.
You can simply copy Skeleton.hpp and Skeleton.cpp into your developement directory,
and modify the name to be your new Host API.
Why not use Doxygen as CIOS Audio Core document system?
Answer : The author does not believe in having comments aside source code can explain the design clearly.
Therefore, the documents are insisted to use TeX, HTML and Open Office to be creators.
Explain all detials in all aspects if possible.
If the implementation goes wrong, there is a document for clarification.
The original author still insists the oldest way to do programming.
Write the basic codes, concept and flows on the papers,
and design all things by whatever written on these papers.
Doxygen does not help much to design a well planned program.
Actually, pens and papers are still the best and successful programming method so far.
Can a developer fork CIOS Audio Core?
Answer : Yes, please do so. As long as you follow LGPLv3.
The original author does not care about any fork version,
the rules are very loose.
If you do not wish to open your own private Host APIs,
please read the development API documents.
There are ways to avoid it.
Within APIs, there is a function called ReplaceHostApiInitializer,
it is used to set up Initializer, and enable you to switch
the system into your own private Host APIs.
By isolating private Host API and the library,
you can still have the ownership of your Host APIs privacy and follow the LGPLv3 rules.
The author does not have strong desire to ask you open source your own code
if you use CIOS Audio Core as a part of your own development project.