You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/ru/6-consumer/lessons/1-speech-recognition/README.md

235 lines
33 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "6d6aa1be033625d201a190fc9c5cbfb4",
"translation_date": "2025-08-27T00:19:16+00:00",
"source_file": "6-consumer/lessons/1-speech-recognition/README.md",
"language_code": "ru"
}
-->
# Распознавание речи с помощью IoT-устройства
![Скетчноут с обзором этого урока](../../../../../translated_images/lesson-21.e34de51354d6606fb5ee08d8c89d0222eea0a2a7aaf744a8805ae847c4f69dc4.ru.jpg)
> Скетчноут от [Nitya Narasimhan](https://github.com/nitya). Нажмите на изображение, чтобы увидеть его в большем размере.
Это видео дает обзор службы распознавания речи Azure, которая будет рассмотрена в этом уроке:
[![Как начать использовать ресурс Cognitive Services Speech с канала Microsoft Azure на YouTube](https://img.youtube.com/vi/iW0Fw0l3mrA/0.jpg)](https://www.youtube.com/watch?v=iW0Fw0l3mrA)
> 🎥 Нажмите на изображение выше, чтобы посмотреть видео
## Викторина перед лекцией
[Викторина перед лекцией](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/41)
## Введение
«Алекса, поставь таймер на 12 минут»
«Алекса, сколько осталось времени на таймере?»
«Алекса, поставь таймер на 8 минут и назови его "брокколи на пару"»
Умные устройства становятся все более распространенными. Это не только умные колонки, такие как HomePod, Echo и Google Home, но и устройства, встроенные в наши телефоны, часы, а также светильники и термостаты.
> 💁 У меня дома как минимум 19 устройств с голосовыми ассистентами, и это только те, о которых я знаю!
Голосовое управление повышает доступность, позволяя людям с ограниченной подвижностью взаимодействовать с устройствами. Это может быть полезно как при постоянных ограничениях, например, при отсутствии рук, так и при временных, таких как перелом руки, или когда ваши руки заняты покупками или детьми. Возможность управлять домом голосом вместо рук открывает новые возможности. Например, крикнуть «Эй, Siri, закрой гараж» во время смены подгузника и борьбы с непослушным малышом может значительно облегчить жизнь.
Одно из самых популярных применений голосовых ассистентов — установка таймеров, особенно кухонных. Возможность устанавливать несколько таймеров с помощью голоса — это большая помощь на кухне: не нужно прерывать замес теста, помешивание супа или мыть руки от начинки для пельменей, чтобы воспользоваться физическим таймером.
В этом уроке вы узнаете, как встроить распознавание голоса в IoT-устройства. Вы изучите микрофоны как сенсоры, как захватывать аудио с микрофона, подключенного к IoT-устройству, и как использовать ИИ для преобразования услышанного в текст. В рамках этого проекта вы создадите умный кухонный таймер, который сможет устанавливать таймеры с помощью голоса на нескольких языках.
В этом уроке мы рассмотрим:
* [Микрофоны](../../../../../6-consumer/lessons/1-speech-recognition)
* [Захват аудио с вашего IoT-устройства](../../../../../6-consumer/lessons/1-speech-recognition)
* [Речь в текст](../../../../../6-consumer/lessons/1-speech-recognition)
* [Преобразование речи в текст](../../../../../6-consumer/lessons/1-speech-recognition)
## Микрофоны
Микрофоны — это аналоговые сенсоры, которые преобразуют звуковые волны в электрические сигналы. Колебания воздуха заставляют компоненты микрофона двигаться на микроскопические расстояния, что вызывает небольшие изменения в электрических сигналах. Эти изменения усиливаются для генерации электрического выхода.
### Типы микрофонов
Существует несколько типов микрофонов:
* Динамические — Динамические микрофоны имеют магнит, прикрепленный к подвижной диафрагме, которая движется в катушке провода, создавая электрический ток. Это противоположно большинству громкоговорителей, которые используют электрический ток для движения магнита в катушке провода, чтобы двигать диафрагму и создавать звук. Это означает, что динамики могут использоваться как динамические микрофоны, а динамические микрофоны — как динамики. В устройствах, таких как домофоны, где пользователь либо слушает, либо говорит, но не делает это одновременно, одно устройство может выполнять обе функции.
Динамические микрофоны не требуют питания, электрический сигнал создается исключительно микрофоном.
![Патти Смит поет в микрофон Shure SM58 (динамический кардиоидный тип)](../../../../../translated_images/dynamic-mic.8babac890a2d80dfb0874b5bf37d4b851fe2aeb9da6fd72945746176978bf3bb.ru.jpg)
* Ленточные — Ленточные микрофоны похожи на динамические, но вместо диафрагмы у них металлическая лента. Эта лента движется в магнитном поле, генерируя электрический ток. Как и динамические микрофоны, ленточные микрофоны не требуют питания.
![Эдмунд Лоу, американский актер, стоит у радиомикрофона (обозначен как (NBC) Blue Network), держит сценарий, 1942 год](../../../../../translated_images/ribbon-mic.eacc8e092c7441caee6d7a81e2f40e1675bf36269848964c7c09c9a9acb05127.ru.jpg)
* Конденсаторные — Конденсаторные микрофоны имеют тонкую металлическую диафрагму и фиксированную металлическую заднюю пластину. Электричество подается на обе части, и когда диафрагма вибрирует, статический заряд между пластинами изменяется, генерируя сигнал. Конденсаторные микрофоны требуют питания, называемого *фантомным питанием*.
![Малодиафрагменный конденсаторный микрофон C451B от AKG Acoustics](../../../../../translated_images/condenser-mic.6f6ed5b76ca19e0ec3fd0c544601542d4479a6cb7565db336de49fbbf69f623e.ru.jpg)
* MEMS — Микроэлектромеханические системы (MEMS) — это микрофоны на чипе. У них есть чувствительная к давлению диафрагма, выгравированная на кремниевом чипе, и они работают аналогично конденсаторным микрофонам. Эти микрофоны могут быть крошечными и интегрированы в схемы.
![Микрофон MEMS на печатной плате](../../../../../translated_images/mems-microphone.80574019e1f5e4d9ee72fed720ecd25a39fc2969c91355d17ebb24ba4159e4c4.ru.png)
На изображении выше чип с надписью **LEFT** — это микрофон MEMS с крошечной диафрагмой шириной менее миллиметра.
✅ Проведите исследование: Какие микрофоны есть вокруг вас — в вашем компьютере, телефоне, гарнитуре или других устройствах? Какого они типа?
### Цифровое аудио
Аудио — это аналоговый сигнал, содержащий очень детализированную информацию. Чтобы преобразовать этот сигнал в цифровой, его необходимо оцифровывать тысячи раз в секунду.
> 🎓 Оцифровка — это процесс преобразования аудиосигнала в цифровое значение, представляющее сигнал в определенный момент времени.
![График, показывающий сигнал с дискретными точками через фиксированные интервалы](../../../../../translated_images/sampling.6f4fadb3f2d9dfe7618f9edfe75a350e6b3f74293ec84f02ab69c19d2afe3d73.ru.png)
Цифровое аудио оцифровывается с использованием импульсно-кодовой модуляции (PCM). PCM включает считывание напряжения сигнала и выбор ближайшего дискретного значения к этому напряжению с использованием заданного размера.
> 💁 Вы можете представить PCM как сенсорный аналог широтно-импульсной модуляции (PWM). (PWM рассматривалась в [уроке 3 проекта для начинающих](../../../1-getting-started/lessons/3-sensors-and-actuators/README.md#pulse-width-modulation)). PCM преобразует аналоговый сигнал в цифровой, а PWM — цифровой сигнал в аналоговый.
Например, большинство потоковых музыкальных сервисов предлагают аудио с 16-битной или 24-битной оцифровкой. Это означает, что напряжение преобразуется в значение, которое помещается в 16-битное или 24-битное целое число. 16-битное аудио охватывает диапазон от -32,768 до 32,767, а 24-битное — от 8,388,608 до 8,388,607. Чем больше бит, тем ближе оцифровка к тому, что слышат наши уши.
> 💁 Возможно, вы слышали об 8-битном аудио, часто называемом LoFi. Это аудио, оцифрованное с использованием всего 8 бит, то есть в диапазоне от -128 до 127. Первые компьютерные аудиосистемы были ограничены 8 битами из-за аппаратных ограничений, поэтому это часто встречается в ретро-играх.
Эти выборки делаются тысячи раз в секунду с использованием четко определенных частот дискретизации, измеряемых в кГц (тысячах выборок в секунду). Потоковые музыкальные сервисы используют 48 кГц для большинства аудио, но некоторые «без потерь» используют до 96 кГц или даже 192 кГц. Чем выше частота дискретизации, тем ближе аудио к оригиналу, до определенного предела. Существует мнение, что люди не могут различить частоты выше 48 кГц.
✅ Проведите исследование: Если вы используете потоковый музыкальный сервис, какая частота и размер выборки у него? Если вы слушаете CD, какая частота и размер выборки у CD-аудио?
Существует множество форматов для аудиоданных. Вы, вероятно, слышали о файлах mp3 — аудиоданных, сжатых для уменьшения размера без потери качества. Несжатое аудио часто хранится в формате WAV — это файл с 44 байтами заголовка и необработанными аудиоданными. Заголовок содержит информацию, такую как частота дискретизации (например, 16000 для 16 кГц), размер выборки (16 для 16 бит) и количество каналов. После заголовка WAV-файл содержит необработанные аудиоданные.
> 🎓 Каналы относятся к количеству различных аудиопотоков, составляющих аудио. Например, для стереозвука с левым и правым каналами будет 2 канала. Для 7.1 объемного звука в домашнем кинотеатре это будет 8 каналов.
### Размер аудиоданных
Аудиоданные занимают относительно много места. Например, запись несжатого 16-битного аудио с частотой 16 кГц (достаточной для использования с моделью распознавания речи) занимает 32 КБ данных на каждую секунду аудио:
* 16 бит означают 2 байта на выборку (1 байт = 8 бит).
* 16 кГц — это 16,000 выборок в секунду.
* 16,000 x 2 байта = 32,000 байт в секунду.
Это может показаться небольшим объемом данных, но если вы используете микроконтроллер с ограниченной памятью, это может быть значительным. Например, Wio Terminal имеет 192 КБ памяти, и в ней должны храниться программный код и переменные. Даже если ваш программный код минимален, вы не сможете записать более 5 секунд аудио.
Микроконтроллеры могут использовать дополнительное хранилище, такое как SD-карты или флэш-память. При создании IoT-устройства, которое записывает аудио, вам нужно убедиться, что у вас есть дополнительное хранилище, а ваш код записывает аудио с микрофона напрямую в это хранилище. При отправке данных в облако вы должны передавать их потоками из хранилища в веб-запрос. Это позволит избежать нехватки памяти из-за попытки удерживать весь блок аудиоданных в памяти одновременно.
## Захват аудио с вашего IoT-устройства
Ваше IoT-устройство может быть подключено к микрофону для записи аудио, готового к преобразованию в текст. Оно также может быть подключено к динамикам для воспроизведения аудио. В последующих уроках это будет использоваться для обратной связи, но полезно настроить динамики уже сейчас, чтобы протестировать микрофон.
### Задание — настройте микрофон и динамики
Выполните соответствующее руководство, чтобы настроить микрофон и динамики для вашего IoT-устройства:
* [Arduino - Wio Terminal](wio-terminal-microphone.md)
* [Одноплатный компьютер - Raspberry Pi](pi-microphone.md)
* [Одноплатный компьютер - Виртуальное устройство](virtual-device-microphone.md)
### Задание — запись аудио
Выполните соответствующее руководство, чтобы записать аудио на вашем IoT-устройстве:
* [Arduino - Wio Terminal](wio-terminal-audio.md)
* [Одноплатный компьютер - Raspberry Pi](pi-audio.md)
* [Одноплатный компьютер - Виртуальное устройство](virtual-device-audio.md)
## Речь в текст
Речь в текст, или распознавание речи, включает использование ИИ для преобразования слов из аудиосигнала в текст.
### Модели распознавания речи
Для преобразования речи в текст выборки из аудиосигнала группируются и передаются в модель машинного обучения, основанную на рекуррентной нейронной сети (RNN). Это тип модели машинного обучения, которая может использовать предыдущие данные для принятия решений о входящих данных. Например, RNN может распознать один блок аудиовыборок как звук «Hel», а затем, получив другой блок, который она считает звуком «lo», объединить это с предыдущим звуком, найти слово «Hello» и выбрать его как результат.
Модели машинного обучения всегда принимают данные одного и того же размера. Классификатор изображений, который вы создавали в одном из предыдущих уроков, изменяет размер изображений до фиксированного и обрабатывает их. То же самое с моделями речи — они должны обрабатывать аудиоблоки фиксированного размера. Модели речи должны уметь комбинировать результаты нескольких предсказаний, чтобы различать, например, «Hi» и «Highway» или «flock» и «floccinaucinihilipilification».
Модели речи также достаточно продвинуты, чтобы понимать контекст и корректировать слова по мере обработки новых звуков. Например, если вы скажете: «Я пошел в магазин, чтобы купить два банана и одно яблоко тоже», вы используете три слова, которые звучат одинаково, но пишутся по-разному — to, two и too. Модели речи могут понять контекст и выбрать правильное написание слова.
💁 Некоторые речевые сервисы позволяют настраивать их для более эффективной работы в шумной среде, например, на заводах, или с отраслевыми терминами, такими как названия химических веществ. Эти настройки обучаются с использованием образцов аудио и их транскрипций, и работают на основе переноса обучения, так же как вы обучали классификатор изображений, используя всего несколько изображений в предыдущем уроке.
### Конфиденциальность
При использовании технологии преобразования речи в текст на бытовых IoT-устройствах конфиденциальность имеет первостепенное значение. Эти устройства постоянно слушают окружающий звук, и как потребитель вы, вероятно, не хотите, чтобы всё, что вы говорите, отправлялось в облако и преобразовывалось в текст. Это не только потребляет много интернет-трафика, но и имеет серьёзные последствия для конфиденциальности, особенно если некоторые производители умных устройств случайным образом выбирают аудиозаписи для [проверки людьми соответствия текста и звука с целью улучшения их моделей](https://www.theverge.com/2019/4/10/18305378/amazon-alexa-ai-voice-assistant-annotation-listen-private-recordings).
Вы хотите, чтобы ваше умное устройство отправляло аудио в облако для обработки только тогда, когда вы его используете, а не когда оно слышит звуки в вашем доме, которые могут включать частные встречи или личные разговоры. Большинство умных устройств работают с использованием *активационного слова* — ключевой фразы, такой как "Алекса", "Привет, Siri" или "Окей, Google", которая заставляет устройство "проснуться" и слушать, что вы говорите, пока оно не зафиксирует паузу в вашей речи, указывающую на то, что вы закончили говорить.
> 🎓 Обнаружение активационного слова также называют *распознаванием ключевых слов* или *поиском ключевых слов*.
Эти активационные слова распознаются на самом устройстве, а не в облаке. Умные устройства оснащены небольшими AI-моделями, которые работают локально и слушают только активационное слово. Когда слово обнаружено, устройство начинает передавать аудио в облако для дальнейшего распознавания. Эти модели очень специализированы и предназначены исключительно для распознавания активационного слова.
> 💁 Некоторые технологические компании добавляют больше функций конфиденциальности в свои устройства, выполняя часть преобразования речи в текст на самом устройстве. Apple объявила, что в рамках обновлений iOS и macOS 2021 года они будут поддерживать преобразование речи в текст на устройстве и смогут обрабатывать многие запросы без необходимости использования облака. Это стало возможным благодаря мощным процессорам в их устройствах, которые способны запускать модели машинного обучения.
✅ Как вы думаете, какие последствия для конфиденциальности и этики имеет хранение аудиозаписей, отправленных в облако? Должны ли эти записи храниться, и если да, то как? Считаете ли вы использование записей для правоохранительных органов оправданным компромиссом в ущерб конфиденциальности?
Обнаружение активационного слова обычно использует технику, известную как TinyML, которая позволяет адаптировать модели машинного обучения для работы на микроконтроллерах. Эти модели имеют небольшой размер и потребляют очень мало энергии.
Чтобы избежать сложности обучения и использования модели для активационного слова, таймер, который вы создаёте в этом уроке, будет использовать кнопку для включения распознавания речи.
> 💁 Если вы хотите попробовать создать модель для обнаружения активационного слова, которая будет работать на Wio Terminal или Raspberry Pi, ознакомьтесь с этим [руководством по реагированию на ваш голос от Edge Impulse](https://docs.edgeimpulse.com/docs/responding-to-your-voice). Если вы хотите использовать свой компьютер для этого, попробуйте [быстрое начало с пользовательскими ключевыми словами на Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/speech-service/keyword-recognition-overview?WT.mc_id=academic-17441-jabenn).
## Преобразование речи в текст
![Логотип Speech Services](../../../../../translated_images/azure-speech-logo.a1f08c4befb0159f2cb5d692d3baf5b599e7b44759d316da907bda1508f46a4a.ru.png)
Как и в случае с классификацией изображений в предыдущем проекте, существуют готовые AI-сервисы, которые могут принимать речь в виде аудиофайла и преобразовывать её в текст. Одним из таких сервисов является Speech Service, который входит в состав Cognitive Services — готовых AI-сервисов, которые вы можете использовать в своих приложениях.
### Задача — настройка ресурса для работы с речью
1. Создайте группу ресурсов для этого проекта с названием `smart-timer`.
1. Используйте следующую команду для создания бесплатного ресурса для работы с речью:
```sh
az cognitiveservices account create --name smart-timer \
--resource-group smart-timer \
--kind SpeechServices \
--sku F0 \
--yes \
--location <location>
```
Замените `<location>` на местоположение, которое вы использовали при создании группы ресурсов.
1. Вам понадобится API-ключ для доступа к ресурсу речи из вашего кода. Выполните следующую команду, чтобы получить ключ:
```sh
az cognitiveservices account keys list --name smart-timer \
--resource-group smart-timer \
--output table
```
Сохраните один из ключей.
### Задача — преобразование речи в текст
Следуйте соответствующему руководству, чтобы преобразовать речь в текст на вашем IoT-устройстве:
* [Arduino - Wio Terminal](wio-terminal-speech-to-text.md)
* [Одноплатный компьютер - Raspberry Pi](pi-speech-to-text.md)
* [Одноплатный компьютер - Виртуальное устройство](virtual-device-speech-to-text.md)
---
## 🚀 Задание
Распознавание речи существует уже давно и постоянно совершенствуется. Исследуйте текущие возможности и сравните, как они развивались со временем, включая точность машинных транскрипций по сравнению с человеческими.
Как вы думаете, что ждёт распознавание речи в будущем?
## Викторина после лекции
[Викторина после лекции](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/42)
## Обзор и самостоятельное изучение
* Прочитайте о различных типах микрофонов и их работе в статье [в чём разница между динамическими и конденсаторными микрофонами на Musician's HQ](https://musicianshq.com/whats-the-difference-between-dynamic-and-condenser-microphones/).
* Узнайте больше о сервисе речи Cognitive Services в [документации по сервису речи на Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/speech-service/?WT.mc_id=academic-17441-jabenn).
* Прочитайте о распознавании ключевых слов в [документации по распознаванию ключевых слов на Microsoft Docs](https://docs.microsoft.com/azure/cognitive-services/speech-service/keyword-recognition-overview?WT.mc_id=academic-17441-jabenn).
## Задание
[](assignment.md)
---
**Отказ от ответственности**:
Этот документ был переведен с помощью сервиса автоматического перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Хотя мы стремимся к точности, пожалуйста, учитывайте, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.