Bạn có thể tạo hiệu ứng âm thanh bằng Python không?

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 playound 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

Ví 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 âm thanh
từ âm thanh phát nhập . " playsound
 
# Input an existing wav filename
wavFile = input["Enter a wav filename: "]
# Phát tệp wav
playsound [wavFile]
 
# Input an existing mp3 filename
mp3File = input["Enter a mp3 filename: "]
# 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 install ffmpeg libavcodec-extra
$ 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
from pydub.phát lại nhập phát

# Nhập tên tệp wav hiện có
wavFile = input["Enter a wav filename: "]
# tải tệp vào pydub
sound = AudioSegment.from_file[ wavFile ]
print . "["Playing wav file..."]
# phát tệp
phát [sound]

# Input an existing mp3 filename
mp3File = input["Enter a mp3 filename: "]
# tải tệp vào pydub
âm nhạc = AudioSegment.from_mp3[mp3File]
print["Playing mp3 file..."]
# play the file
play[music]

đầ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 . AudioSegment
from pydub.phát nhập phát
nhập urllib . wav"

# Set the wav filename
filename = "service-bell.wav"
# Tải xuống tệp wav từ url
in["đang tải xuống 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 .
sound = AudioSegment.từ_tệp[ tên tệp ]
in . "["Playing wav file..."]
# phát tệp
phát [sound]

# Set the mp3 filename
filename = "birds.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 .
birdsound = AudioSegment.from_mp3[ tên tệp ]
in . "["Playing mp3 file..."]
# Chơi kết quả
chơi [birdsound]
print["Finished."]

đầ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

Ví 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ộ

#. /usr/bin/env python3
# Nhập các mô-đun cần thiết
nhập tkinter
nhập . tkSnack
import os
 
# Initialize tk object to use tksnack
root = tkinter.Tới[]
tkSnack. initializeSnack[ root ]
 < .
#Define tksnack object
sound = tkSnack.Âm thanh[]
 
# Đầu vào . "
wavFile = input["Enter a wav filename: "]
 
nếu os . đường dẫn . tồn tại[ wavFile ] .
  # Đọc tệp
  âm thanh. đọc[ wavFile ]
  < . # Play sound
  sound.chơi[ chặn =1 . ]
else:
  # In thông báo nếu đường dẫn tệp không tồn tại
  in . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " . " ["Wav file does not exist."]

đầ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 install libasound2-dev
$ pip3 install simpleaudio

Ví 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 âm thanh đơn giản . " sa

# Input an existing wav file name
wavFile = input["Enter a wav filename: "]
 
# 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 ]
    < . # Define object to control the play
    p_object = w_object.chơi[]
      in< . "["Sound is playing..."]
    p_object. wait_done[]
    in< . "["Finished."]

# In thông báo lỗi nếu tệp không tồn tại
ngoại trừ FileNotFoundError.
    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

Cách sử dụng cơ bản của 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

Bạn có thể thêm hiệu ứng âm thanh vào Python không?

Bạn có thể phát tệp âm thanh bằng mô-đun pydub . Nó có sẵn trong kho lưu trữ pypi [cài đặt bằng pip]. Mô-đun này có thể sử dụng PyAudio và ffmpeg bên dưới.

Có một mô-đun âm thanh trong Python không?

playsound là một mô-đun Python cho phép người dùng phát âm thanh trong một dòng mã . Nó là một mô-đun đa nền tảng, là một chức năng duy nhất không có bất kỳ phụ thuộc nào để phát âm thanh và âm thanh. Ví dụ. từ playound nhập playound.

Chủ Đề