Vấn đề từ python
Bạn đã bao giờ tự hỏi làm thế nào để thêm nhận dạng giọng nói vào dự án Python của mình chưa? . Nó dễ dàng hơn bạn nghĩ Show
Không còn là một mốt nhất thời, sự thành công vượt bậc của các sản phẩm hỗ trợ giọng nói như Amazon Alexa đã chứng minh rằng hỗ trợ giọng nói ở một mức độ nào đó sẽ là một khía cạnh thiết yếu của công nghệ gia dụng trong tương lai gần. Nếu bạn nghĩ về nó, lý do tại sao khá rõ ràng. Việc kết hợp nhận dạng giọng nói vào ứng dụng Python của bạn mang lại mức độ tương tác và khả năng truy cập mà ít công nghệ có thể sánh kịp Chỉ riêng các cải tiến về khả năng truy cập cũng đáng xem xét. Tính năng nhận dạng giọng nói cho phép người già, người khiếm thị và thể chất tương tác với các sản phẩm và dịch vụ hiện đại một cách nhanh chóng và tự nhiên—không cần GUI Hơn hết, bao gồm nhận dạng giọng nói trong một dự án Python thực sự đơn giản. Trong hướng dẫn này, bạn sẽ tìm hiểu cách. Bạn sẽ học
Cuối cùng, bạn sẽ áp dụng những gì đã học vào trò chơi “Đoán từ” đơn giản và xem mọi thứ kết hợp với nhau như thế nào Tiền thưởng miễn phí. mà bạn có thể sử dụng làm cơ sở cho các ứng dụng nhận dạng giọng nói của riêng mình Cách thức hoạt động của tính năng Nhận dạng giọng nói – Tổng quanTrước khi chúng ta tìm hiểu sâu về nhận dạng giọng nói trong Python, hãy dành một chút thời gian để nói về cách hoạt động của nhận dạng giọng nói. Một cuộc thảo luận đầy đủ sẽ lấp đầy một cuốn sách, vì vậy tôi sẽ không làm bạn nhàm chán với tất cả các chi tiết kỹ thuật ở đây. Trên thực tế, phần này không phải là điều kiện tiên quyết cho phần còn lại của hướng dẫn. Nếu bạn muốn đi thẳng vào vấn đề, thì cứ thoải mái bỏ qua Nhận dạng giọng nói bắt nguồn từ nghiên cứu được thực hiện tại Bell Labs vào đầu những năm 1950. Các hệ thống ban đầu chỉ giới hạn ở một người nói và có lượng từ vựng giới hạn khoảng một chục từ. Các hệ thống nhận dạng giọng nói hiện đại đã đi một chặng đường dài kể từ các đối tác cổ đại của chúng. Họ có thể nhận ra lời nói từ nhiều người nói và có vốn từ vựng khổng lồ trong nhiều ngôn ngữ Tất nhiên, thành phần đầu tiên của nhận dạng giọng nói là giọng nói. Lời nói phải được chuyển đổi từ âm thanh vật lý thành tín hiệu điện bằng micrô, sau đó thành dữ liệu kỹ thuật số bằng bộ chuyển đổi tương tự sang kỹ thuật số. Sau khi được số hóa, một số mô hình có thể được sử dụng để chuyển âm thanh thành văn bản Hầu hết các hệ thống nhận dạng giọng nói hiện đại đều dựa trên cái được gọi là Mô hình Markov ẩn (HMM). Cách tiếp cận này hoạt động dựa trên giả định rằng tín hiệu giọng nói, khi được xem trong khoảng thời gian đủ ngắn (ví dụ: mười mili giây), có thể được ước lượng một cách hợp lý như một quá trình cố định—nghĩa là một quá trình trong đó các thuộc tính thống kê không thay đổi theo thời gian Trong một HMM điển hình, tín hiệu tiếng nói được chia thành các đoạn 10 mili giây. Phổ công suất của từng đoạn, về cơ bản là biểu đồ công suất của tín hiệu dưới dạng hàm tần số, được ánh xạ tới một vectơ số thực được gọi là hệ số cepstral. Kích thước của vectơ này thường nhỏ—đôi khi thấp bằng 10, mặc dù các hệ thống chính xác hơn có thể có kích thước từ 32 trở lên. Đầu ra cuối cùng của HMM là một chuỗi các vectơ này Để giải mã lời nói thành văn bản, các nhóm vectơ được khớp với một hoặc nhiều âm vị—đơn vị cơ bản của lời nói. Tính toán này đòi hỏi phải được đào tạo, vì âm thanh của một âm vị thay đổi từ người nói này sang người nói khác và thậm chí thay đổi từ cách phát biểu này sang cách phát biểu khác của cùng một người nói. Sau đó, một thuật toán đặc biệt được áp dụng để xác định từ (hoặc các từ) có khả năng tạo ra chuỗi âm vị nhất định Người ta có thể tưởng tượng rằng toàn bộ quá trình này có thể tốn kém về mặt tính toán. Trong nhiều hệ thống nhận dạng giọng nói hiện đại, mạng thần kinh được sử dụng để đơn giản hóa tín hiệu giọng nói bằng cách sử dụng các kỹ thuật chuyển đổi tính năng và giảm kích thước trước khi nhận dạng HMM. Trình phát hiện hoạt động giọng nói (VAD) cũng được sử dụng để giảm tín hiệu âm thanh xuống chỉ những phần có khả năng chứa lời nói. Điều này ngăn bộ nhận dạng lãng phí thời gian phân tích các phần không cần thiết của tín hiệu May mắn thay, là một lập trình viên Python, bạn không phải lo lắng về bất kỳ điều gì trong số này. Một số dịch vụ nhận dạng giọng nói có sẵn để sử dụng trực tuyến thông qua API và nhiều dịch vụ trong số này cung cấp Python SDK Loại bỏ các quảng cáoChọn gói nhận dạng giọng nói PythonMột số gói nhận dạng giọng nói tồn tại trên PyPI. Một vài trong số họ bao gồm
Một số gói này—chẳng hạn như wit và apiai—cung cấp các tính năng tích hợp sẵn, chẳng hạn như xử lý ngôn ngữ tự nhiên để xác định ý định của người nói, vượt xa tính năng nhận dạng giọng nói cơ bản. Những người khác, như google-cloud-speech, chỉ tập trung vào chuyển đổi lời nói thành văn bản Có một gói nổi bật về tính dễ sử dụng. Nhận dạng giọng nói Nhận dạng giọng nói yêu cầu đầu vào âm thanh và Nhận dạng giọng nói giúp truy xuất đầu vào này thực sự dễ dàng. Thay vì phải xây dựng tập lệnh để truy cập micrô và xử lý tệp âm thanh từ đầu, Nhận dạng giọng nói sẽ giúp bạn thiết lập và chạy chỉ trong vài phút Thư viện SpeechRecognition hoạt động như một trình bao bọc cho một số API giọng nói phổ biến và do đó cực kỳ linh hoạt. Một trong số đó—Google Web Speech API—hỗ trợ khóa API mặc định được mã hóa cứng vào thư viện SpeechRecognition. Điều đó có nghĩa là bạn có thể rời khỏi đôi chân của mình mà không cần phải đăng ký dịch vụ Tính linh hoạt và dễ sử dụng của gói SpeechRecognition khiến nó trở thành lựa chọn tuyệt vời cho bất kỳ dự án Python nào. Tuy nhiên, hỗ trợ cho mọi tính năng của từng API mà nó bao bọc không được đảm bảo. Bạn sẽ cần dành thời gian nghiên cứu các tùy chọn có sẵn để tìm hiểu xem Nhận dạng giọng nói có hoạt động trong trường hợp cụ thể của bạn không Vì vậy, bây giờ bạn đã chắc chắn rằng mình nên dùng thử Nhận dạng giọng nói, bước tiếp theo là cài đặt nó trong môi trường của bạn Cài đặt SpeechRecognitionSpeechRecognition tương thích với Python 2. 6, 2. 7 và 3. 3+, nhưng yêu cầu một số. Đối với hướng dẫn này, tôi sẽ cho rằng bạn đang sử dụng Python 3. 3+ Bạn có thể cài đặt SpeechRecognition từ một thiết bị đầu cuối với pip
Sau khi cài đặt, bạn nên xác minh cài đặt bằng cách mở phiên thông dịch và gõ >>>
Ghi chú. Số phiên bản bạn nhận được có thể thay đổi. Phiên bản 3. 8. 1 là mới nhất tại thời điểm viết Tiếp tục và giữ phiên này mở. Bạn sẽ bắt đầu làm việc với nó chỉ trong chốc lát SpeechRecognition sẽ hoạt động tốt nếu tất cả những gì bạn cần làm là làm việc với các tệp âm thanh hiện có. Tuy nhiên, các trường hợp sử dụng cụ thể yêu cầu một số phụ thuộc. Đáng chú ý, gói PyAudio là cần thiết để thu đầu vào micrô Bạn sẽ thấy những phụ thuộc nào bạn cần khi đọc thêm. Bây giờ, hãy đi sâu vào và khám phá những điều cơ bản của gói Lớp học Traceback (most recent call last):
File " |