Доработка VoiceAssistant (голосовой помощник)
ВНИМАНИЕ! Проект для Windows1. Требуется внедрить в проект голосового помощника сверточную нейронную сеть для классификации голоса(хозяин/не хозяин) - она уже сделана, сейчас работает в отдельном проекте на Python, её нужно интегрировать в основной проект голосового помощника1.1 В основной класс голосового ассистента(VoiceAssistant) добавить: атрибут для хранения модели классификации метод для проверки является ли пользователь владельцем- в метод on_push_to_talk перед распознаванием речи добавитьвызов метода для проверки является ли пользователь владельцем- если пользователь не является владельцем, то прерываем дальнейшую обработку запроса1.2. Добавление функционала записи голоса:- создать метод для записи голоса пользователя- добавить команду (например "запиши мой голос") в словарь cmds и при получении этой команды будем записывать голос и сохранять его в папку для хранения аудио данных хозяина1.3. Процесс работы:- при запуске программы загрузить предварительно обученную модель, где хранятся обученные модели)- перед обработкой каждого голосового запроса проверяем является ли говорящий владельцем(если нет, то игнорируем запрос)- владелец может в любой момент добавить новые примеры своего голоса через специальную команду в cmds1.4. Обучение модели:- после накопления достаточного количества новых записей владелец может запустить процесс обучения - для этого используется скрипт teacher.py из классификатора1.5. Единственный нюанс, например когда говорит хозяин и на фоне его говорит другой человек Возможно сделать чтобы он слушал только хозяина?Предложения: 1.5.1 перед проверкой голоса владельца можно добавить доп функцию обработки аудио:1.5.1.1 VAD для проверки наличия других голосов1.5.1.2 если обнаружено больше одного, то например выделять самый громкий и его считать за владельца1.5.2 Добавить в обучающий датасет примеров, где голос 'владельца' записан с фоновыми голосами. Либо добавить постобработку аудио для удаления('очистки') этих фоновых голосов2.Добавить многопоточность, чтобы 1 поток отвечал за основное окошко, 2 поток захватывал голос с микрофона, последующие потоки - выполняли команды из словаря cmd и работали с гпт. (Использовать multiprocessing)3. Добавить оффлайн модель гпт русскую для видеокарты объемом видеопамяти до 8ГБ4. Сделать простенький интерфейс, где слева будет консоль, а справа кнопки, отвечающие за смены моделей, а также выполнения команд из словаря cmd5. Собрать exe Ищу ответственного и опытного разработчика Python, кому близка и интересна данная тематика.
Desktop