Nhận dạng giọng nói thành văn bản bằng Python: Công cụ, Mã và So sánh

By manhnv, at: 11:17 Ngày 26 tháng 11 năm 2024

Thời gian đọc ước tính: __READING_TIME__ minutes

Speech-to-Text in Python: Tools, Code, and Comparisons
Speech-to-Text in Python: Tools, Code, and Comparisons

Chuyển đổi giọng nói thành văn bản bằng Python: Công cụ, mã và so sánh

Chuyển đổi giọng nói thành văn bản là một tính năng quan trọng trong nhiều ứng dụng, từ trợ lý cá nhân đến các công cụ phiên âm. Trong bài viết này, chúng ta sẽ khám phá các thư viện và dịch vụ hàng đầu để triển khai chuyển đổi giọng nói thành văn bản trong Python: SpeechRecognitionGoogle Cloud Speech-to-Text, Dịch vụ Azure Speech, và Whisper của OpenAI. Chúng ta sẽ cung cấp mã mẫu cho từng loại và so sánh hiệu suất, độ chính xác và giá cả của chúng.

 

1. SpeechRecognition


Tổng quan

  • Loại: Mở nguồn
     
  • Phụ thuộc: Micro cục bộ hoặc các tệp âm thanh đã được ghi sẵn
     
  • Backend: Google Web Speech API theo mặc định
     
  • Lí tưởng cho: Xây dựng mẫu nhanh, dự án sở thích


Đoạn mã

import speech_recognition as sr

recognizer = sr.Recognizer()

with sr.Microphone() as source:
    print("Đang nghe...")
    audio = recognizer.listen(source)

try:
    text = recognizer.recognize_google(audio)
    print("Bạn đã nói:", text)
except sr.UnknownValueError:
    print("Không thể hiểu được âm thanh.")
except sr.RequestError as e:
    print(f"Lỗi API: {e}")

 

 

2. Google Cloud Speech-to-Text


Tổng quan

  • Loại: API dựa trên đám mây
     
  • Phụ thuộc: Tài khoản Google Cloud
     
  • Lí tưởng cho: Độ chính xác cao, hỗ trợ nhiều ngôn ngữ
     

Đoạn mã

from google.cloud import speech
import io

client = speech.SpeechClient()

with io.open("audio.wav", "rb") as audio_file:
    content = audio_file.read()

audio = speech.RecognitionAudio(content=content)
config = speech.RecognitionConfig(
    encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
    sample_rate_hertz=16000,
    language_code="en-US",
)

response = client.recognize(config=config, audio=audio)

for result in response.results:
    print("Bản ghi:", result.alternatives[0].transcript)

 

 

3. Dịch vụ Azure Speech


Tổng quan

  • Loại: API dựa trên đám mây
     
  • Phụ thuộc: Tài khoản Azure Cognitive Services
     
  • Lí tưởng cho: Ứng dụng doanh nghiệp, tích hợp với hệ sinh thái Microsoft
     

Đoạn mã

import azure.cognitiveservices.speech as speechsdk

speech_key = "YOUR_AZURE_SPEECH_KEY"
service_region = "YOUR_SERVICE_REGION"
speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)

speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config)

print("Nói gì đó...")
result = speech_recognizer.recognize_once()

if result.reason == speechsdk.ResultReason.RecognizedSpeech:
    print("Đã nhận diện:", result.text)
else:
    print("Lỗi:", result.reason)

 

 

4. Whisper của OpenAI


Tổng quan

  • Loại: Mở nguồn, ngoại tuyến
     
  • Phụ thuộc: Mô hình Whisper được đào tạo sẵn
     
  • Lí tưởng cho: Phiên âm ngoại tuyến, độ chính xác cao cho nhiều giọng khác nhau
     

Đoạn mã

import whisper

model = whisper.load_model("base")

result = model.transcribe("audio.mp3")
print("Bản phiên âm:", result["text"])

 

 

Bảng so sánh

Chuyển đổi giọng nói thành văn bản - so sánh các dịch vụ

 

Thông tin hiệu suất

  1. Độ chính xác:

    • Whisper và Google Cloud Speech cung cấp độ chính xác cao hơn cho nhiều giọng và môi trường ồn ào.
       
    • SpeechRecognition có thể gặp khó khăn với âm thanh không rõ ràng.
       
  2. Tốc độ:

    • SpeechRecognition và các dịch vụ đám mây như Google và Azure nhanh hơn Whisper, đặc biệt là đối với các tác vụ thời gian thực.
       
    • Whisper chậm hơn nhưng hoạt động ngoại tuyến, làm cho nó có giá trị đối với các ứng dụng tập trung vào quyền riêng tư.
       
  3. Chi phí:

    • SpeechRecognition và Whisper có hiệu quả về chi phí đối với các dự án nhỏ hơn.
       
    • Các dịch vụ đám mây (Google và Azure) tốt hơn cho các nhu cầu quy mô lớn, độ chính xác cao nhưng đi kèm với chi phí đang diễn ra.

 

Đề xuất cuối cùng

  • Sử dụng SpeechRecognition cho các dự án nhanh và quy mô nhỏ.
     
  • Chọn Google Cloud Speech hoặc Dịch vụ Azure Speech cho các ứng dụng doanh nghiệp yêu cầu độ chính xác và hỗ trợ ngôn ngữ cao.
     
  • Chọn Whisper nếu khả năng ngoại tuyến hoặc quyền riêng tư là ưu tiên.

 

Tag list:
- Open-source speech recognition Python
- Whisper speech recognition Python
- Google Cloud Speech vs Azure Speech Service
- Affordable speech-to-text tools for Python developers
- Python audio transcription
- Google Cloud Speech-to-Text API Python
- Comparing speech recognition libraries in Python
- Free speech recognition Python
- Python code for Azure Speech Service
- Offline vs cloud speech-to-text Python
- Python voice-to-text libraries
- Offline speech recognition Python
- OpenAI Whisper Python
- Python voice recognition
- Python tutorial for Whisper speech recognition
- Python Whisper tutorial
- Speech recognition tutorial Python
- High-accuracy transcription tools Python
- Python speech recognition for noisy environments
- Speech-to-Text Python
- Python AI transcription tools
- Azure Speech Service Python
- Real-time audio-to-text Python solutions
- Setting up Whisper for offline transcription in Python
- Python real-time transcription
- Python Speech Recognition
- Python convert speech to text
- Best speech-to-text tools Python
- How to use Google Cloud Speech-to-Text API in Python
- Speech recognition accuracy comparison

Liên quan

AI Python

Đọc thêm
Python Unit Test

Đọc thêm
Theo dõi

Theo dõi bản tin của chúng tôi và không bao giờ bỏ lỡ những tin tức mới nhất.