Cách nhập âm thanh trong Python
Tôi đã dùng thử dịch vụ sao chép cốt lõi của nó và trải nghiệm một số tính năng thú vị do AI cung cấp. tính năng kiểm duyệt nội dung phát hiện các chủ đề nhạy cảm và tính năng phát hiện chủ đề trích xuất các chủ đề được nói đến trong mỗi phân đoạn âm thanh. (Tôi đã tạo ứng dụng Streamlit để giới thiệu cách áp dụng tính năng cuối cùng này để phân tích video Youtube. Bạn có thể kiểm tra xem nó ra ở đây. Mã này cũng có sẵn trên Github. ) Tất cả các thử nghiệm này đều được thực hiện ngoại tuyến và cần một chút thời gian chạy để tạo đầu ra. Trên thực tế, sau khi bạn gửi tệp âm thanh của mình tới AssemblyAI, tác vụ chép lời sẽ được gửi tới một hàng đợi và sau khi hàng đợi xử lý xong, bạn có thể truy xuất bản chép lời. Nó như thế, bạn sẽ phải đợi Nhưng điều gì sẽ xảy ra nếu bạn có thể phiên âm dữ liệu âm thanh của mình trong khi dữ liệu đó đang được AssemblyAI nhập vào cùng một lúc? Đây là những gì chúng tôi gọi là sao chép thời gian thực
Ok, chúng ta hãy xem 👀 👉 Thiết lập tài khoản của bạnPhiên âm thời gian thực là một tính năng trả phí. Để có thể sử dụng nó, bạn sẽ phải tạo một tài khoản trên AssemblyAI và nhập thông tin thẻ tín dụng của mình Bạn có thể tìm hiểu thêm về giá cả tại đây Khi tài khoản của bạn được định cấu hình, hãy lấy khóa API của bạn và chuyển sang phần tiếp theo 👉 Cài đặt một số phụ thuộcVì chúng tôi sẽ phiên âm theo thời gian thực, nên chúng tôi cần ghi lại các luồng âm thanh trực tiếp từ micrô và chuyển chúng ngay lập tức tới API Trước tiên, chúng ta cần cài đặt PortAudio, một thư viện I/O âm thanh đa nền tảng, nguồn mở, cung cấp một API rất đơn giản để ghi và/hoặc phát âm thanh Nếu bạn đang dùng Mac OS, bạn có thể sử dụng trình quản lý gói homebrew để cài đặt nó brew install portaudio Nếu bạn đang sử dụng một hệ điều hành khác, bạn có thể muốn kiểm tra liên kết này Sau đó, bạn sẽ cần cài đặt thư viện PyAudio Python cung cấp các ràng buộc cho PortAudio pip install pyaudio Cuối cùng, bạn sẽ cần cài đặt thư viện websockets cho phép xây dựng máy chủ và máy khách WebSocket. điều này sẽ giúp chúng tôi truyền phát âm thanh tới AssemblyAI và ghi lại các bản chép lời theo thời gian thực pip install websockets 👉 Mở luồng âm thanh bằng PyAudioĐể có thể truyền phát âm thanh đến AssemblyAI, trước tiên chúng ta cần mở một luồng âm thanh bằng PyAudio Tạo luồng yêu cầu một số tham số
Sau khi luồng được mở, luồng có thể ghi lại dữ liệu âm thanh mà chúng tôi ghi từ micrô Bây giờ, chúng tôi cần kết nối luồng này với phiên âm thời gian thực của AssemblyAI. dịch vụ Để làm được điều này chúng ta sẽ mở một WebSocket connexion để có thể gửi và nhận dữ liệu cùng lúc. Chúng tôi sẽ cần loại kết nối mạng cụ thể này vì đó là thứ mà AssemblyAI sử dụng Hai chức năng sẽ sử dụng kết nối WebSocket mở
— Tái bút. nếu bạn thắc mắc Hai chức năng này chạy đồng thời Để đợi chúng thực thi, hàm bao bọc sử dụng hàm Đây là mã của chức năng bao bọc Bây giờ để làm cho chức năng bao bọc này chạy không đồng bộ, chúng ta sẽ cần gọi lệnh này asyncio.run(send_receive()) 👉 Kịch bản đầy đủKết thúc mọi thứ, đây là kịch bản đầy đủ. Lưu ý rằng tôi đã sử dụng python-dotenv (như trong các bài viết trước) để đọc khóa API 👉 Bản trình diễnBây giờ, đây là bản demo được ghi lại của phiên âm thời gian thực 👉 Tài liệu tham khảo
Điều này đánh dấu sự kết thúc của loạt blog AssemblyAI. Tôi hy vọng nó đã cung cấp cho bạn cái nhìn tổng quan về API và các tính năng AI giúp hiểu được bản ghi Nếu bạn muốn tìm hiểu thêm về API này, bạn có thể xem các bài đăng trước đây của tôi và tài liệu chính thức hoặc chơi với ứng dụng Streamlit mà tôi đã tạo Bạn có thể thêm âm thanh vào Python không?Thư viện python-sounddevice và pyaudio cung cấp các cách ghi âm thanh bằng Python . bản ghi python-sounddevice vào mảng NumPy và bản ghi pyaudio vào đối tượng byte. Cả hai thứ này đều có thể được lưu trữ dưới dạng tệp WAV bằng thư viện scipy và wave tương ứng.
Làm cách nào để tạo âm thanh trong Python?Để tạo âm thanh bíp trong Python, bạn có các tùy chọn sau. . Sử dụng ký tự chuông trên thiết bị đầu cuối Sử dụng AppKit để phát âm thanh hệ thống MacOS Sử dụng winound để phát âm thanh hệ thống Windows Sử dụng pygame để phát các tệp âm thanh tùy chỉnh Sử dụng simpleaudio để phát các tệp âm thanh tùy chỉnh Sử dụng gói tiếng bíp |