Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: CI Международной научно-практической конференции «Экспериментальные и теоретические исследования в современной науке» (Россия, г. Новосибирск, 27 мая 2024 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Трофимова Е.А., Алисов А.А. ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ VOSK PYTHON ДЛЯ РАЗРАБОТКИ ИНТЕЛЛЕКТУАЛЬНОГО ГОЛОСОВОГО ПОМОЩНИКА // Экспериментальные и теоретические исследования в современной науке: сб. ст. по матер. CI междунар. науч.-практ. конф. № 5(93). – Новосибирск: СибАК, 2024. – С. 109-116.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ VOSK PYTHON ДЛЯ РАЗРАБОТКИ ИНТЕЛЛЕКТУАЛЬНОГО ГОЛОСОВОГО ПОМОЩНИКА

Трофимова Елена Александровна

студент кафедры цифровых технологий обработки данных, Институт кибербезопасности и цифровых технологий, МИРЭА - Российский технологический университет,

РФ, г. Москва

Алисов Александр Андреевич

студент кафедры цифровых технологий обработки данных, Институт кибербезопасности и цифровых технологий, МИРЭА - Российский технологический университет,

РФ, г. Москва

USING THE VOSK PYTHON LIBRARY FOR THE DEVELOPMENT OF AN INTELLIGENT VOICE ASSISTANT

 

Elena Trofimova

Student of the Department of Digital Data Processing Technologies, Institute of Cybersecurity and Digital Technologies, Russian Technological University,

Russia, Moscow

Alexander Alisov

Student of the Department of Digital Data Processing Technologies, Institute of Cybersecurity and Digital Technologies, Russian Technological University,

Russia, Moscow

 

АННОТАЦИЯ

Статья рассматривает применение библиотеки Vosk Python в контексте разработки интеллектуального голосового помощника. Vosk, основанная на технологиях Kaldi, предоставляет удобный интерфейс для распознавания речи, делая процесс создания голосового помощника доступным и эффективным. В статье проведен анализ методов распознавание речи, представлены шаги по установке и простой интеграции Vosk, а также пример кода для создания голосового помощника. Рассмотрены возможности библиотеки, ее преимущества и способы использования в различных сценариях.

ABSTRACT

This article explores the application of the Vosk Python library in the context of developing an intelligent voice assistant. Vosk, built on Kaldi technologies, provides a convenient interface for speech recognition, making the process of creating a voice assistant accessible and efficient. The article analyzes speech recognition methods, presents steps for installation and straightforward integration of Vosk, and provides code examples for building a voice assistant. The capabilities of the library, its advantages, and ways of utilization in various scenarios are discussed.

 

Ключевые слова: голосовой помощник; Vosk; Python; Kaldi; распознавание речи; акустическая модель; языковая модель; фонетические словари.

Keywords: voice assistant; Vosk; Python; Kaldi; speech recognition; acoustic model; language model; phonetic dictionaries.

 

Спрос на инновационные решения в области голосового взаимодействия обусловлен повышением уровня удобства и эффективности взаимодействия человека с технологическими устройствами. Интеллектуальные голосовые помощники, способные обрабатывать и понимать человеческую речь, становятся все более востребованными. Тем самым использование библиотек для распознавания речи становится ключевым аспектом разработки голосовых интерфейсов.

Одной из перспективных библиотек, которая предоставляет эффективные инструменты для реализации голосовых помощников на платформе Python, является Vosk основанная на технологиях Kaldi.

Vosk – это открытая библиотека для распознавания речи, предназначенная для использования в приложениях, разрабатываемых на языке программирования Python. Она предоставляет удобный интерфейс для интеграции распознавания речи в различные проекты, такие как голосовые помощники, транскрибация аудио и системы управления.

Kaldi – это набор инструментов для распознавания речи с открытым исходным кодом, написанный на C++ для распознавания речи и обработки сигналов. Однако использование Kaldi напрямую может потребовать значительных усилий и технической экспертизы.

Vosk была создана как визуальная оболочка для Kaldi, предоставляя простой интерфейс на языке программирования Python для использования функционала Kaldi. Vosk упрощает процесс использования Kaldi, предоставляя более дружелюбный интерфейс для Python-разработчиков. Она включает в себя предобученные модели, облегчает процесс распознавания речи и упрощает интеграцию в проекты, не требуя глубокого понимания Kaldi. Таким образом, Vosk позволяет использовать мощные возможности Kaldi в приложениях Python, делая их более доступными и легкими в использовании.

Основные черты и особенности библиотеки Vosk включают:

– высокую эффективность точность распознавания речи за счет использования модели, основанной на Kaldi;

– поддержку более 20 языков и диалектов, что позволяет создавать голосовые помощники и другие приложения для различных локализаций;

– интерфейс для Python делает Vosk удобной для использования, и легкой в интеграции.

– открытый исходный код Vosk позволяет свободно использовать, изменять и распространять код;

– поддержку для различных платформ включая Linux, Windows и macOS

– поддержку работы без подключения к Интернету, что позволяет использовать ее в приложениях, где требуется локальная обработка речи.

Автоматическое распознавание речи основано на процессах кодирования и декодирования звуковых сигналов, представляющих собой речь человека. Эти процессы позволяют компьютерам интерпретировать и понимать звуковую информацию, преобразуя её в текстовый вид. Для этого речь кодируется несколькими способами — этот процесс также называется представлением знаний.

 

Рисунок 1. Процесс распознавания речи

 

Первым этапом распознавания речи является кодирование. Этот этап включает в себя преобразование акустических особенностей речи, таких как частота, интенсивность и длительность звуков, в числовую форму, которую компьютер может обработать. Обычно используются методы, такие как Мел-частотные кепстральные коэффициенты (MFCC) для представления спектральных характеристик речи. Результатом процесса кодирования являются такие модели, как:

  1. Акустическая модель – это файл, содержащий статистические представления каждого из отдельных звуков, составляющих слово.
  2. Языковая модель – это файл, использующий модель распознавания речи. Содержит большой список слов и вероятность их появления.

Существуют следующие подходы к представлению языковой модели:

– Динамическая языковая модель. Динамическая языковая модель может быть изменена или адаптирована во время выполнения в соответствии с контекстом или изменяющимися условиями. Это может быть полезно, например, при переключении между разными режимами работы голосового помощника или в зависимости от предпочтений пользователя.

– Статически скомпилированный график. В этом случае языковая модель представлена статическим графиком, который определяется на этапе компиляции, что обеспечивает эффективность и предсказуемость в работе модели. Такой подход используется для стандартных сценариев, где языковая модель остается постоянной и не требует частого изменения.

– Статически скомпилированный график с большой LM-оценкой. Дополнительная оценка позволяет динамически настраивать веса различных компонентов языковой модели. Это может управлять важностью статической части графика по сравнению с дополнительной динамикой.

– Статически скомпилированный график с переоценкой RNNLM. Использование рекуррентных нейронных сетей (RNNLM) для языковой модели с возможностью переоценки весовых коэффициентов в процессе работы системы.

  1. Лексикон – это файл, который содержит список слов, которые система распознавания речи должна учитывать.
  2. Фонетические словари – это словарь, в котором к каждому слову приписана его фонетическая транскрипция, то есть представление звукового состава слова в виде символов. Фонетические словари представлен в виде текстового файла.

 

Рисунок 2. Принцип построения фонетические словари

 

Вторым этапом является моделирование. На этом этапе строятся статистические модели, которые ассоциируют числовые представления с определенными словами или звуковыми единицами, называемыми фонемами. Акустическая модель обучается устанавливать связь между аудиосигналами и фонемами или другими звуковыми единицами, используемыми для представления речи. Для акустической модели могут применяться различные методы, такие как скрытые марковские модели (HMM), глубокие нейронные сети (DNN), рекуррентные нейронные сети (RNN), сверточные нейронные сети (CNN), или их комбинации. Языковая модель представляет собой статистическую модель, обученную на больших объемах текста, и определяет вероятность последовательности слов или фраз в языке. Языковые модели могут быть реализованы с использованием n-грамм, скрытых марковских моделей (HMM), или более современными методами, такими как рекуррентные нейронные сети (RNN) или трансформеры. Для акустической модели собираются пары аудио-текст, где каждому аудиофайлу соответствует текстовый транскрипт. Для языковой модели собираются большие корпуса текстовых данных. Проводится предварительная обработка данных, включая извлечение акустических признаков для акустической модели и токенизацию и подготовку текстов для языковой модели. Модели обучаются на этих данных с использованием методов обучения с учителем. Обе модели интегрируются в систему распознавания речи.

Процесс декодирования заключается в определении последовательности слов или фраз на основе обученных моделей, которая наиболее вероятно соответствует звуковому входу. Здесь применяются алгоритмы для выбора наилучшей последовательности слов, основываясь на вероятностях, вычисленных моделью. Акустическая модель оценивает вероятности соответствия каждого фрейма аудиосигнала с определенной фонемой или звуковой единицей. Для каждой последовательности фонем, порожденной акустической моделью, языковая модель определяет вероятность сочетания этих фонем в последовательность слов. Декодер комбинирует вероятности, полученные от акустической и языковой моделей, и выбирает наилучший вариант слов или фраз, который наиболее вероятно соответствует аудиосигналу. Итоговый результат декодирования представляется в виде текстовой последовательности, которая может быть использована для дальнейшего анализа или взаимодействия с пользователем. Процесс декодирования может быть реализован с использованием различных методов, таких как алгоритм Витерби для поиска наилучшего пути, применение рекуррентных нейронных сетей.

Перед началом работы с библиотекой Vosk необходимо выполнить ее установку. Это можно сделать с использованием инструмента pip.

 

Рисунок 3. Установка библиотеки Vosk

 

Для реализации программы распознавания речи необходимо импортировать библиотеку Vosk и библиотеку PyAudio для захвата аудиосигнала с микрофона. Далее из библиотеки Vosk импортируются функции Model и KaldiRecognizer для распознавания речи и создается объект модели Vosk, указывая путь к файлам модели. Затем создается распознаватель (recognizer) с указанием частоты дискретизации (в данном случае, 16000 Гц). Следующим шагом необходимо создать объект PyAudio и открыть доступ к микрофону, необходимыми для совместимости с Vosk. Далее идет бесконечный цикл, в котором считываются данные из аудиопотока (stream.read(4096)) и передаются в распознаватель Vosk (recognizer.AcceptWaveform(data)). Если распознаватель определил аудиоданные, результат распознавания выводится на экран.

 

Рисунок 4. Код программы

 

Результат работы с успешно определенным голосом, как текстом, приведен ниже.

 

Рисунок 5. Результат работы программы

 

В заключение следует отметить, что использование библиотеки Vosk Python для разработки интеллектуального голосового помощника представляет собой перспективный и инновационный подход. Vosk, базирующийся на технологиях Kaldi, предоставляет эффективные средства для автоматического распознавания речи с открытым исходным кодом и возможность работы без подключения к интернету, что позволяет использовать ее в приложениях, где требуется локальная обработка речи.

Интеграция Vosk в проект голосового помощника позволяет сделать взаимодействие с системой более удобным. Эта библиотека обеспечивает легкость использования, поддерживает различные языки и демонстрирует хорошую производительность, что важно для успешного развития голосовых технологий. Одним из ключевых преимуществ является высокая производительность Vosk, основанная на передовых технологиях распознавания речи, таких как глубокое обучение. Это обеспечивает не только точность распознавания, но и быстрый отклик, что важно для улучшения пользовательского опыта.

Таким образом, интеграция Vosk становится не только технически обоснованным решением, но и шагом к созданию более эффективных голосовых помощников.

 

Список литературы:

  1. Юрафски Д. и Мартин Дж. Х. Обработка речи и языка: введение в обработку естественного языка, компьютерную лингвистику и распознавание речи / Прентис-Холл 2009 г.
  2. Alpha Cephei [Электронный ресурс]. – URL://https://alphacephei.com/vosk/ (дата обращения: 23.01.2024)
  3. Распознавание речи - акустика, лексика и языковая модель [Электронный ресурс]. – URL:// https://skine.ru/articles/273525/ (дата обращения: 23.01.2024)
  4. Автоматическое распознавание речи с помощью Vosk [Электронный ресурс]. – URL://https://hub.xpub.nl/soupboat/~chae/SI18/vosk-chae/vosk.pdf (дата обращения: 23.01.2024)
  5. Расипурам Р. и Субраманиан В. Распознавание голосовых команд с использованием глубокого обучения. Проседия Информатика, 87, 43–50. 2016 г.
  6. Пови Д., Гошал А., Булианна Г. «Набор инструментов для распознавания речи Kaldi». Автоматическое распознавание и понимание речи (том 4) 2011 г.
Удалить статью(вывести сообщение вместо статьи): 
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.