Maslo Companion Server is a product created to provide our partners with an easy to use and easy to integrate Companion Service for clouds, desktop computers or on device.
The main idea of a Companion Server, is "algorithms and data without a end user display User Interface". Literally old school meaning of server.
The companion server can be deployed as:
- a stand alone containerized blackbox service with no internet/network access (only whitelisted i/o)
- a react native SDK for inclusion in mobile applications
- a cloud deployed server with micro service interfaces
- a batch processing component in a larger data platform/streaming data stack
The Maslo Companion Server is a lightweight, highly configurable, highly transparent collection of algorithms (machine learning and signal processing) and data.
Cloud agnostic/Hybrid Cloud Enable Highly configurable / customizable Process different signals (Video, Audio, Text, Biomarkers, etc.) Output can be tweak for each partner Wizard-like setup or power users Database adapters Have different models deployed independently Set of configurations handled per-partner that adapt the functionality of the MCS for each partner. Chaining together different models Generic/Abstracted API Interface
https://www.h2o.ai/hybrid-cloud/
By Default interops with Maslo Companion Kit (can power all algorithm/API services of MCK) Deployment per partner Can be hosted by Maslo, by Partner or Hybrid HA/HS Monitoring / Error logging Pre trained Models vs Partner trained Models Stand-alone vs Cloud hosted How to deliver new features to existing clients
https://www.sciencedirect.com/science/article/pii/S1566253518305244
https://docs.google.com/spreadsheets/d/1-aJOOwlUdFxI79goz_U3NrdSvXyL-Szke0ClXemEwwE/edit#gid=0
https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
https://alemangui.github.io/pizzicato/
http://joesul.li/van/beat-detection-using-web-audio/
Voice - a track with primarily a human voice or voices Music - a track featuring instrumentation (and singing voices) Sounds - a non musical track without human voices
AAC MP3 WAV ogg? mVa?
- google api: https://cloud.google.com/speech-to-text
- wolfram function (can be deployed as API to wolframcloud): https://reference.wolfram.com/language/ref/SpeechRecognize.html
- aws api: https://aws.amazon.com/transcribe/
Musical Stems - https://audioshake.medium.com/announcing-audioshake-an-ai-to-open-up-music-for-new-uses-179a924afb83
Markers for Speech Disorders (only flags, not provided to end users, and only for partners with HIPPA compliance)
Markers for Mental Health Disorders (only flags, not provided to end users, and only partners with HIPPA compliance)
Check in with Russ about architecture Define MVP Scope (Launch Partner input) Complete SDD Approval of SDD Start of development Delivery
SOA? Microservices? Monolith?
NodeJS + NestJS
Monolith could be a good starting point
API Gateway - We could use this to provision access for new partners and have control over billing/throttling/rate limiting/etc. Also we could have free trials (?)
Return response to the user / Store the data somewhere
Database adapters, support for some of the most popular databases
Docker? App Engine (or equivalent)
Unit testing
Error logging (Sentry)
CI / CD (Github Actions?)
Development / Testing environments
Authentication / Authorization
Project Definition
MVP Definition
MVP Development starts
Partner MVP delivered
Partner delivered
New signals added
Implementation of new features
New partners