Trong hướng dẫn này, chúng tôi sẽ thảo luận về cách sử dụng mô-đun playound trong Python. Bằng cách sử dụng mô-đun playound, chúng tôi có thể phát âm thanh. Đây là một mô-đun đa nền tảng có thể phát các tệp âm thanh
Mô-đun Playsound chỉ chứa một chức năng là playsound[]
Mô-đun này khả dụng và hoạt động trên cả Python 2 và Python 3, đồng thời được thử nghiệm để chỉ phát các tệp wav và mp3
Phát âm thanh bằng tập lệnh Python là một nhiệm vụ dễ dàng, bởi vì ngôn ngữ này chứa nhiều mô-đun để sử dụng tập lệnh để phát hoặc ghi lại âm thanh. Bằng cách sử dụng các mô-đun này, bạn có thể phát các tệp âm thanh như mp3, wav và các loại tệp âm thanh khác. Trước tiên, bạn phải cài đặt mô-đun âm thanh trước khi sử dụng mô-đun trong tập lệnh. Hướng dẫn này sẽ chỉ cách cài đặt các loại mô-đun Python khác nhau để phát âm thanh
Phát âm thanh bằng cách sử dụng âm thanh
Mô-đun playsound là mô-đun đơn giản nhất để sử dụng để phát âm thanh. Mô-đun này hoạt động trên cả Python 2 và Python 3 và được thử nghiệm để chỉ phát các tệp wav và mp3. Nó chỉ chứa một phương thức, có tên là playsound[], với một đối số để Linux lấy tên tệp âm thanh để phát
Cài đặt
Chạy lệnh pip3 sau để cài đặt mô-đun này trong Python 3
$ pip3 cài đặt playound
Thí dụ. Phát tệp wav và mp3 bằng cách sử dụng Playsound
Trong tập lệnh sau, tên tệp wav sẽ được lấy làm đầu vào trước và tệp sẽ được phát bằng phương thức Playsound[]. Tiếp theo, tên tệp mp3 sẽ được nhập và phát qua cùng một phương thức
#. /usr/bin/env python3
# Nhập mô-đun playsound
từ âm thanh phát nhập âm thanh phát
# Nhập tên tệp wav hiện có
wavFile = input["Nhập tên tệp wav. "]
# Phát tệp wav
playsound [ wavFile ]
# Nhập tên tệp mp3 hiện có
mp3File = input["Nhập tên tệp mp3. "]
# Phát tệp mp3
playsound [ mp3File ]
đầu ra
Nếu cả hai tệp đều tồn tại thì tệp âm thanh sẽ bắt đầu phát
Phát âm thanh bằng pydub
Mô-đun pydub hỗ trợ cả Python 2 và Python 3. Mô-đun này có nhiều tính năng hữu ích khác với mô-đun âm thanh Python. Mô-đun pydub hỗ trợ các loại tệp âm thanh khác nhau. Mô-đun này có thể được sử dụng để phân chia các phân đoạn của bất kỳ tệp âm thanh nào hoặc nối các phân đoạn vào tệp âm thanh. Bạn cũng có thể thêm một hiệu ứng đơn giản lên trên âm thanh. Mô-đun này phụ thuộc trực tiếp vào hai mô-đun khác, được gọi là ffmpeg và libavcodec-extra. Trước khi cài đặt mô-đun pydub, trước tiên bạn phải cài đặt các mô-đun này
Cài đặt
Chạy các lệnh sau để cài đặt gói pydub của Python
$ sudo apt-get cài đặt ffmpeg libavcodec-thêm
$ pip3 cài đặt pydub
Ví dụ 1. Phát tệp wav và mp3 cục bộ
Mô-đun này sử dụng phương thức form_file[] để phát tệp wav và phương thức form_mp3[] để phát tệp mp3. Phương thức play[] được sử dụng ở đây để phát tệp wav và mp3
#. /usr/bin/env python3
từ pydub nhập Đoạn âm thanh
từ pydub. phát lại nhập phát
# Nhập tên tệp wav hiện có
wavFile = input["Nhập tên tệp wav. "]
# tải tệp vào pydub
âm thanh = Đoạn âm thanh. from_file[ wavFile ]
in["Đang phát tệp wav. "]
# chơi tập tin
phát [ âm thanh ]
# Nhập tên tệp mp3 hiện có
mp3File = input["Nhập tên tệp mp3. "]
# tải tệp vào pydub
âm nhạc = Đoạn âm thanh. from_mp3[ tệp mp3 ]
in["Phát tệp mp3. "]
# chơi tập tin
chơi [ nhạc ]
đầu ra
Nếu cả hai tên tệp wav và mp3 đều tồn tại thì âm thanh sẽ phát và đầu ra sau đây sẽ xuất hiện
Ví dụ-2. Tải xuống và phát các tệp wav và mp3 từ URL
Ví dụ sau đây cho biết cách có thể phát bất kỳ tệp wav hoặc mp3 nào sau khi tải xuống tệp từ một vị trí URL hợp lệ. Mô-đun urllib được sử dụng trong tập lệnh để tải xuống tệp âm thanh
#. /usr/bin/env python3
# Nhập các mô-đun cần thiết
từ pydub nhập Đoạn âm thanh
từ pydub. phát lại nhập phát
nhập urllib
# Đặt tên tệp wav
tên tệp = "chuông dịch vụ. wav"
# Tải xuống tệp wav từ url
in["đang tải xuống tệp wav. "]
urllib . yêu cầu . urlretrieve["http. // âm thanh. com/lấy. php?id=2218&type=wav", tên tệp ]
# tải tệp vào pydub
âm thanh = Đoạn âm thanh. từ_tệp[ tên tệp ]
in["Đang phát tệp wav. "]
# chơi tập tin
phát [ âm thanh ]
# Đặt tên tệp mp3
tên tệp = "chim. mp3"
# Tải xuống tệp mp3
in["đang tải xuống tệp mp3. "]
urllib . yêu cầu . urltruy xuất["http. // âm thanh. com/lấy. php?id=2207&type=mp3", tên tệp ]
# tải tệp vào pydub
tiếng chim = Đoạn âm thanh. from_mp3[ tên tệp ]
in["Phát tệp mp3. "]
# Phát kết quả
chơi [ tiếng chim ]
in["Đã hoàn tất. "]
đầu ra
Tệp âm thanh sẽ bắt đầu phát sau khi hoàn tất quá trình tải xuống và đầu ra sau đây sẽ xuất hiện
Phát âm thanh bằng tksnack
Mô-đun tksnack phụ thuộc vào một mô-đun khác, có tên là tkinter, để kích hoạt một đối tượng tk trong tập lệnh. lệnh tksnack có thể được sử dụng sau khi khởi tạo đối tượng tk. Bạn phải cài đặt cả gói tkinker và tksnack cho Python 3
Cài đặt
$ sudo apt-get cài đặt python3-tk
$ sudo apt-get cài đặt python3-tksnack
Thí dụ. Phát tệp wav bằng tksnack
Trong tập lệnh sau, mô-đun tkSnack được khởi tạo bằng cách sử dụng đối tượng tkinter và phương thức play[] tiếp theo được sử dụng để phát tệp wav. Ở đây, đối số chặn chỉ định rằng âm thanh sẽ phát không đồng bộ
# Nhập các mô-đun cần thiết
nhập tkinter
nhập tkSnack
nhập os
# Khởi tạo đối tượng tk để sử dụng tksnack
root = tkinter. Tk[]
tkSnack. initializeSnack[ root ]
# Xác định đối tượng tksnack
âm thanh = tkSnack. Âm thanh[]
# Nhập tên tệp wav hiện có
wavFile = input["Nhập tên tệp wav. "]
nếu os . đường dẫn . tồn tại[ wavFile ] .
# Đọc tệp
âm thanh. đọc[ wavFile ]
# Phát âm thanh
âm thanh. chơi[ chặn =1]
khác .
# In thông báo nếu đường dẫn tệp không tồn tại
in["Tệp WAV không tồn tại. "]
đầu ra
Âm thanh sẽ bắt đầu phát nếu tệp wav tồn tại và đầu ra sau sẽ xuất hiện
Phát âm thanh bằng cách sử dụng âm thanh đơn giản
Mô-đun âm thanh đơn giản là gói Python 3 có thể phát âm thanh. Mô-đun này được thiết kế chủ yếu để phát các tệp wav và mảng NumPy. Bạn sẽ cần cài đặt gói trước khi sử dụng mô-đun này. Gói âm thanh này trực tiếp phụ thuộc vào một gói khác gọi là libasound2-dev. Trước tiên, bạn sẽ cần cài đặt gói libasound2-dev và sau đó, bạn có thể cài đặt gói simpleaudio
Cài đặt
Chạy lệnh sau để cài đặt các gói
$ sudo apt-get cài đặt libasound2-dev
$ pip3 cài đặt âm thanh đơn giản
Thí dụ. Phát tệp wav bằng cách sử dụng âm thanh đơn giản
Trong tập lệnh sau, mọi tên tệp wav sẽ được lấy làm đầu vào. Nếu tệp tồn tại, thì tập lệnh sẽ phát tệp âm thanh;
#. /usr/bin/env python3
# Nhập mô-đun âm thanh đơn giản
nhập simpleaudio as sa
# Nhập tên tệp wav hiện có
wavFile = input["Nhập tên tệp wav. "]
# Phát âm thanh nếu tệp wav tồn tại
thử .
# Xác định đối tượng để chơi
w_object = sa. Đối tượng sóng . from_wave_file[ wavFile ]
# Xác định đối tượng để điều khiển chơi
p_object = w_object. chơi[]
in["Âm thanh đang phát. "]
p_object. wait_done[]
in["Đã hoàn tất. "]
# In thông báo lỗi nếu tệp không tồn tại
ngoại trừ Lỗi FileNotFound.
in["Tệp WAV không tồn tại"]
đầu ra
Tệp âm thanh sẽ phát và đầu ra sau sẽ xuất hiện sau khi phát âm thanh
Phần kết luận
Việc sử dụng cơ bản bốn mô-đun Python để phát âm thanh được giải thích trong hướng dẫn này bằng cách sử dụng một số ví dụ. Tác vụ phát âm thanh chỉ được hiển thị trong hướng dẫn này nhưng bạn có thể ghi, chỉnh sửa và các tác vụ khác liên quan đến âm thanh bằng cách sử dụng tập lệnh Python