[Очарование Python]: научите вас, как реализовать распознавание текстовой речи с помощью нескольких строк кода.
[Очарование Python]: научите вас, как реализовать распознавание текстовой речи с помощью нескольких строк кода.

введение

Технология распознавания речи, также известная как автоматическое распознавание речи, направлена ​​на использование компьютеров для автоматического преобразования содержания человеческой речи в соответствующий текст и текста в речь.

1. Эффект операции

Распознавание речи Python

2. Преобразование текста в речь
2.1 Использование pyttsx3

pyttsx3 — популярная сторонняя библиотека Python для преобразования текста в речь (TTS). Эта библиотека поддерживает несколько операционных систем, включая Windows, Linux и macOS, и может работать без подключения к Интернету, поскольку использует локальный речевой движок, установленный на вашем компьютере.

Основные особенности

  • Кросс-платформенный:Можетсуществовать Запуск в разных операционных системах。
  • Работать офлайн:Не зависит от подключения к Интернету。
  • Несколько голосов и языков:поддерживать Несколько голосов и языков Параметры。
  • Пользовательские настройки:Разрешить пользователям регулировать скорость речи、Громкость и интонация и другие параметры.
  • Простой и удобный в использовании:интуитивный API, простой в интеграции и использовании.

Установить

pip install pyttsx3 -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

【Пример】:использовать pyttsx3 Внедрить преобразование текста в речь

Язык кода:javascript
копировать
import pyttsx3 as pyttsx

engine = pyttsx.init()  # Инициализировать движок
engine.say('Император Пустынных Небес, который деспотичен на протяжении веков, Только девушка Гуйчжоу Хуосан')  # Добавить текст в голосовую очередь
engine.runAndWait()  # Начать голосовой вывод
2.2 Используйте SAPI для преобразования текста в речь

В Python вы также можете использовать SAPI для преобразования текста в речь. В Python библиотека win32com — это модуль, используемый для взаимодействия с компонентами COM (объектная модель компонентов) в операционной системе Windows. Модуль win32com.client предоставляет интерфейс Python для использования автоматизации COM. К любому приложению или службе Windows, поддерживающему автоматизацию COM, можно получить доступ и управлять им с помощью метода win32com.client.Dispatch. Для SAPI (интерфейс прикладного программирования речи) к его функциям можно получить доступ через библиотеку win32com для преобразования текста в речь (TTS) и распознавания речи.

【Пример】:использовать SAPI Внедрить преобразование текста в речь

Язык кода:javascript
копировать
from win32com.client import Dispatch

msg = «Император Древних Пустынных Небес деспотичен, «Только девушка Хуосан из Гуйчжоу»
speaker = Dispatch('SAPI.SpVoice')  # Создайте экземпляр голосового движка SAPI.
speaker.Speak(msg)  # Преобразуйте текст в голос и прочитайте его вслух
del speaker  # удалить speaker объект, освобождает связанные с ним ресурсы.
2.3 Используйте SpeechLib для преобразования текста в речь

SpeechLib — это COM-библиотека для речевых функций, предоставляемая Microsoft. Она позволяет разработчикам разрабатывать преобразование текста в речь (TTS) и распознавание речи на платформах Windows. С помощью SpeechLib вы можете управлять различными свойствами вашего речевого движка, такими как скорость речи, громкость, интонация и используемая речевая библиотека. Используя SpeechLib, вы можете получать входные данные из текстового файла и преобразовывать их в речь.

Использование SpeechLib требует установки сторонней библиотеки: comtypes

Установить Заказ

pip install comtypes -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

【Пример】:использовать SpeechLib Внедрить преобразование текста в речь демонстрационный файл

Язык кода:javascript
копировать
from comtypes.client import CreateObject
from comtypes.gen import SpeechLib  # импортировать SpeechLib
engine = CreateObject("SAPI.SpVoice")  # создавать SAPI.SpVoice Примеры объектов
stream = CreateObject("SAPI.SpFileStream")  # создавать SAPI.SpFileStream Примеры объектов
infile = 'demo.txt'
outfile = 'demo_audio.wav'
stream.Open(outfile, SpeechLib.SSFMCreateForWrite)  # Выходной файл, готовый к записи аудиоданных
engine.AudioOutputStream = stream  # Выходной аудиопоток настроен на stream объект
f = open('demo', 'r', encoding='utf-8')  # Открыть входной текстовый файл
TheText = f.read()  # прочитать файл
f.close()  # закрыть файл
engine.speak(TheText)  # Механизм использования голоса преобразует текст в голос и выводит его.
stream.close()  # Закройте аудиопоток и завершите запись аудиофайла.
3. Преобразуйте речь в текст
3.1 Используйте PocketSphinx для преобразования речи в текст

PocketSphinx — это легкая библиотека распознавания речи, которая является подмножеством системы распознавания речи CMU Sphinx с открытым исходным кодом. CMU Sphinx, разработанная в Университете Карнеги-Меллон, представляет собой мощную и гибкую систему распознавания речи. PocketSphinx особенно подходит для встроенных систем и мобильных устройств, поскольку он небольшой и быстрый, обеспечивая при этом относительно высокую точность распознавания.

PocketSphinx из Основные особенностивключать

  • легкий:Подходит для ограниченных ресурсовизсреда,Например, мобильные устройства и встроенные системы.
  • производительность в реальном времени:способный в режиме реального времениизраспознавание речи。
  • Простота в использовании:Обеспечивает простойиз API упрощает разработчикам быструю интеграцию и использование.
  • Настраиваемый:Разрешить разработчикам настраивать язык по мере необходимости Модельиакустика Модель。

необходимыйизсторонние модули:PocketSphinxиSpeechRecognition Установить Заказ

pip install PocketSphinx -i https://pypi.tuna.tsinghua.edu.cn/simple some-package pip install SpeechRecognition -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

【Пример】:использовать PocketSphinx Преобразование речи в текст

Язык кода:javascript
копировать
import speech_recognition as sr

audio_file = 'demo_audio.wav'
r = sr.Recognizer()
with sr.AudioFile(audio_file) as source:
    audio = r.record(source)
try:
    # print('Текстовое содержимое:',r.recouncee_sphinx(audio,language="zh_CN"))
    print('Текстовое содержимое:', r.recognize_sphinx(audio))
except Exception as e:
    print(e)

Если при использовании PocketSphinx вы столкнулись с проблемами, например, сбоем инициализации, необходимо проверить:

  • Это уже правильно Установить Pocketsphinx.
  • Есть ли в наличии подходящий словарь для языка Модели?
  • Иметь достаточные разрешения для доступа к необходимым файлам.
  • Соответствует ли система эксплуатационным требованиям PocketSphinx.

После установки voice_recognition китайский язык не поддерживается. Вам необходимо загрузить соответствующую языковую модель китайского языка и языковую модель в наборе инструментов распознавания речи Sphinx. Ссылка для скачивания:

https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/ Поместите загруженную модель допуска китайского языка и языковую модель в установку. Каталог Python\Lib\site-packages\speech_recognition\pocketsphinx-data

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose