
Afficher la démo • Débutant • Demandez les fonctionnalités •
Project Saturday est une boîte à outils pour l'informatique vocale. Il fournit des outils pour construire des interfaces vocales élégantes aux LLM modernes. L'objectif de ce projet est de favoriser une communauté de personnes partageant les mêmes idées qui souhaitent produire la technologie qui nous a été promise dans des films de science-fiction depuis des décennies. Il vise à être très modulaire et flexible tout en restant découplé à partir de modèles d'IA spécifiques. Cela permet des améliorations transparentes lorsque une nouvelle technologie d'IA est publiée.
Le projet samedi est composé d'outils. Un outil est une abstraction qui résume une partie spécifique de la pile informatique vocale. Il y a 2 constructions principales qui comprennent un outil:
Moteur - Un moteur résume la fonctionnalité spécifique au domaine d'un outil. Cette logique doit rester la même, quelle que soit le backend d'inférence utilisé. Par exemple, dans le cas de l'outil STT, le moteur contient l'algorithme de détection d'activité vocale avec une logique tampon personnalisée. Cela permet au backend d'être facilement modifié sans avoir besoin de réécrire le code.
Backend - Un backend est ce qui exécute réellement l'inférence AI. Il s'agit généralement d'un wrapper mince, mais permet une plus grande flexibilité et facilité de mise à niveau. Un backend peut également être écrit pour s'interfacer avec un serveur HTTP pour permettre une interopération de langage facile.
Ce projet contient 3 types d'outils principaux. Les 3 outils principaux sont STT, TTT et TTS.
Les outils STT sont les oreilles du système et effectuent une inférence de parole sur le texte sur l'audio entrant.
Les outils TTT sont le cerveau du système et effectuent une inférence de texte à texte une fois que l'audio a été transformé en texte.
Les outils TTS sont l'embouchure du système et effectuent une inférence de texte vocale sur le texte prouvé par l'outil TTT.
Voici un diagramme de la façon dont la démo principale fonctionne actuellement.

La démo qui vient dans ce dépôt est votre propre assistante personnelle et hébergée.
Avertissement : je n'ai testé cela que sur les processeurs M1 Pro et MAX. Nous faisons beaucoup d'inférence locale, donc la démo nécessite un peu de puissance de traitement. Votre kilométrage peut très bien sur différents systèmes d'exploitation et matériel. Si vous rencontrez des problèmes, veuillez ouvrir un problème.
Afin d'exécuter la démo, il y a des pré-requis.
Afin d'exécuter la démo, Golang, Python, Make et un compliment C sont nécessaires.
Il y a 3 processus qui doivent être exécutés pour la démo:
pkg-config et opus . Sur macOS, ceux-ci peuvent être installés avec Brew: brew install opus pkg-configmecab et espeak . Sur macOS, ils peuvent être installés avec Brew: brew install mecab espeakRemarque : Pour l'instant, l'ordre dans lequel vous démarrez les processus est important. Vous devez démarrer le serveur RTC et le serveur TTS avant de démarrer le client.
De la racine du projet Run, make rtc
make rtcConfiguration pour la première fois : lorsque vous exécutez le serveur TTS pour la première fois, vous devrez installer les dépendances. Envisagez d'utiliser un environnement virtuel pour cela.
cd tts/servers/coqui-tts
pip install -r requirements.txt De la racine du projet Run, make tts
Le client a besoin de whisper.cpp et de l'utilisation de cgo , mais le script de fabrication doit s'occuper de cela pour vous.
De la racine du projet Run, make client
make clientL'essentiel de la feuille de route en ce moment est d'obtenir une inférence TTT à fonctionner localement avec quelque chose comme Llama.cpp. Au moment de publier ceci, je n'ai pas d'excellent Internet et je ne peux pas télécharger les poids du modèle nécessaires pour que cela fonctionne.
Le deuxième plus grand élément de ma feuille de route continue d'améliorer le processus de configuration et de configuration.
La dernière chose sur ma feuille de route est de continuer à créer des applications avec samedi, j'espère que plus de gens s'appuieront avec moi car c'est le moyen n ° 1 d'améliorer le projet et de découvrir de nouvelles fonctionnalités qui doivent être ajoutées.
Rejoignez la discorde pour rester à jour!
Ce projet est construit avec les packages open source suivants:
Je suis très parfait et il y a forcément des bogues et des choses que j'ai négligées dans le processus d'installation. S'il vous plaît, ajoutez des problèmes et n'hésitez pas à tendre la main si quelque chose n'est pas clair. De plus, nous avons une discorde.
Les contributions font de la communauté open source un endroit aussi incroyable pour apprendre, inspirer et créer. Toutes les contributions que vous faites sont grandement appréciées .
git checkout -b feature/AmazingFeaturegit commit -m 'Add some AmazingFeature'git push origin feature/AmazingFeatureMit
Si vous aimez le projet et que vous souhaitez soutenir financièrement, n'hésitez pas à m'acheter un café
Github @grvydev · twitter @grydev · e-mail [email protected]