??? S.T.A.R.K. – первый фреймворк для создания голосового ассистента

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Почему именно S.T.A.R.K.?

  1. Автономность и конфиденциальность: S.T.A.R.K. работает полностью на устройстве, гарантируя сохранность ваших данных.
  2. Распознавание контекста: С S.T.A.R.K. вы можете легко определять контекст и параметры для последующих запросов, а также одновременно выполнять несколько команд.
  3. Асинхронные команды: Запустите задачу и продолжайте использовать ваш голосовой ассистент. S.T.A.R.K. уведомит вас о завершении.
  4. Множественные ответы: Получайте обновления в реальном времени для текущих задач, будь то мониторинг процесса загрузки или отслеживание доставки.
  5. Продвинутый синтаксический анализ: Специальная синтаксическая система упрощает извлечение любого параметра из строк.
  6. Расширяемость с помощью ведущих языковых моделей: Улучшите когнитивные способности S.T.A.R.K., интегрируя его с ведущими языковыми моделями, такими как ChatGPT.
  7. Поддержка нескольких языков: Взаимодействуйте со своим голосовым ассистентом на нескольких языках.
  8. Полная настройка: Создавайте сложные команды, интегрируйте различные голосовые или текстовые интерфейсы и даже переопределяйте существующие классы.
  9. Поддержка сообщества: Присоединяйтесь к репозиториюSTARK-PLACEи пользуйтесь библиотекой расширений от сообщества.

Установка

Убедитесь, что у вас установлен python версии 3.10 или выше. Для установки фреймворка со всеми зависимостями достаточно одной команды.

         pip install stark-engine[all]     

? Библиотека питониста

Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста»

?? Библиотека собеса по Python

Подтянуть свои знания по Python вы можете на нашем телеграм-канале «Библиотека собеса по Python»

?? Библиотека задач по Python

Интересные задачи по Python для практики можно найти на нашем телеграм-канале «Библиотека задач по Python»

Минимальное приложение

Для этого руководства мы будем использовать реализацию Vosk для распознавания речи и Silero для синтеза речи. Прежде чем начать, вам нужно будет указать URL-адреса для моделей. Как Vosk, так и Silero поддерживают автоматическую загрузку и кеширование моделей при их первом использовании. Найти модели можно на официальных страницах:

  1. Vosk
  2. Silero

Пример ссылок на модели для русского языка:

         VOSK_MODEL_URL = 'https://alphacephei.com/vosk/models/vosk-model-small-ru-0.22.zip'SILERO_MODEL_URL = 'https://models.silero.ai/models/tts/ru/ru_v3.pt'     

После выбора моделей, можно приступать к добавлению команд. Минимальное приложение на одну команду выглядит следующим образом:

         # 1 import anyio from stark import run, CommandsManager, Response from stark.interfaces.vosk import VoskSpeechRecognizer from stark.interfaces.silero import SileroSpeechSynthesizer  # 2 VOSK_MODEL_URL = "YOUR_CHOSEN_VOSK_MODEL_URL" SILERO_MODEL_URL = "YOUR_CHOSEN_SILERO_MODEL_URL"  # 3 recognizer = VoskSpeechRecognizer(model_url=VOSK_MODEL_URL) synthesizer = SileroSpeechSynthesizer(model_url=SILERO_MODEL_URL) manager = CommandsManager()  # 4 @manager.new('привет') def hello_command() -> Response:     text = voice = 'Привет, мир!'     return Response(text=text, voice=voice)  # 5 async def main():     await run(manager, recognizer, synthesizer)  if __name__ == '__main__':     anyio.run(main)      
  1. Импорт необходимых модулей, включая anyio для асинхронного выполнения, и модули из библиотеки Stark для работы с речью: командами, распознаванием и синтезом речи.
  2. Задание URL-адресов моделей для распознавания (Vosk) и синтеза (Silero) речи.
  3. Создание объектов для распознавания (recognizer), синтеза (synthesizer) и управления командами (manager) с использованием указанных моделей.
  4. Определение новой команды «привет» с текстовым ответом «Привет, мир!».
  5. Определение асинхронной функции main(), которая запускает выполнение команд через Stark с использованием распознавания и синтеза речи. Запуск приложения с помощью anyio.run(main) при условии, что код выполняется как основная программа (if name == 'main').

Как можно заметить, для создания команды достаточно определить одну функцию и передать шаблон в декораторе.

Статья по теме

Решаем задачу перевода русской речи в текст с помощью Python и библиотеки Vosk

Присоединяйтесь к нам

Для более подробного изучения каждой функции и понимания всех возможностей S.T.A.R.K. посетитеофициальную документациюирепозиторий на GitHub.Если вам понравился фреймворк, не забудьте добавить звезду ? репозиторию.

***

Автор: Марк Паркер

www.markparker.me

Телеграм-канал:t.me/parker_is_typing


Источник: proglib.io

Комментарии: