[Очарование 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
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода