Почему именно S.T.A.R.K.?
- Автономность и конфиденциальность: S.T.A.R.K. работает полностью на устройстве, гарантируя сохранность ваших данных.
- Распознавание контекста: С S.T.A.R.K. вы можете легко определять контекст и параметры для последующих запросов, а также одновременно выполнять несколько команд.
- Асинхронные команды: Запустите задачу и продолжайте использовать ваш голосовой ассистент. S.T.A.R.K. уведомит вас о завершении.
- Множественные ответы: Получайте обновления в реальном времени для текущих задач, будь то мониторинг процесса загрузки или отслеживание доставки.
- Продвинутый синтаксический анализ: Специальная синтаксическая система упрощает извлечение любого параметра из строк.
- Расширяемость с помощью ведущих языковых моделей: Улучшите когнитивные способности S.T.A.R.K., интегрируя его с ведущими языковыми моделями, такими как ChatGPT.
- Поддержка нескольких языков: Взаимодействуйте со своим голосовым ассистентом на нескольких языках.
- Полная настройка: Создавайте сложные команды, интегрируйте различные голосовые или текстовые интерфейсы и даже переопределяйте существующие классы.
- Поддержка сообщества: Присоединяйтесь к репозиториюSTARK-PLACEи пользуйтесь библиотекой расширений от сообщества.
Установка
Убедитесь, что у вас установлен python версии 3.10 или выше. Для установки фреймворка со всеми зависимостями достаточно одной команды.
? Библиотека питониста
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста»
?? Библиотека собеса по Python
Подтянуть свои знания по Python вы можете на нашем телеграм-канале «Библиотека собеса по Python»
?? Библиотека задач по Python
Интересные задачи по Python для практики можно найти на нашем телеграм-канале «Библиотека задач по Python»
Минимальное приложение
Для этого руководства мы будем использовать реализацию Vosk для распознавания речи и Silero для синтеза речи. Прежде чем начать, вам нужно будет указать URL-адреса для моделей. Как Vosk, так и Silero поддерживают автоматическую загрузку и кеширование моделей при их первом использовании. Найти модели можно на официальных страницах:
Пример ссылок на модели для русского языка:
После выбора моделей, можно приступать к добавлению команд. Минимальное приложение на одну команду выглядит следующим образом:
- Импорт необходимых модулей, включая anyio для асинхронного выполнения, и модули из библиотеки Stark для работы с речью: командами, распознаванием и синтезом речи.
- Задание URL-адресов моделей для распознавания (Vosk) и синтеза (Silero) речи.
- Создание объектов для распознавания (recognizer), синтеза (synthesizer) и управления командами (manager) с использованием указанных моделей.
- Определение новой команды «привет» с текстовым ответом «Привет, мир!».
- Определение асинхронной функции
main()
, которая запускает выполнение команд через Stark с использованием распознавания и синтеза речи. Запуск приложения с помощью anyio.run(main) при условии, что код выполняется как основная программа (if name == 'main'
).
Как можно заметить, для создания команды достаточно определить одну функцию и передать шаблон в декораторе.
Статья по теме
Решаем задачу перевода русской речи в текст с помощью Python и библиотеки Vosk
Присоединяйтесь к нам
Для более подробного изучения каждой функции и понимания всех возможностей S.T.A.R.K. посетитеофициальную документациюирепозиторий на GitHub.Если вам понравился фреймворк, не забудьте добавить звезду ? репозиторию.
***
Автор: Марк Паркер
www.markparker.me
Телеграм-канал:t.me/parker_is_typing