Hướng dẫn how do i stream audio in python? - làm cách nào để phát trực tuyến âm thanh trong python?

Hiện tại tôi đang sử dụng Numpy để tạo tệp WAV từ một mảng Numpy. Tôi tự hỏi nếu có thể chơi mảng numpy trong thời gian thực trước khi nó thực sự được viết vào ổ cứng. Tất cả các ví dụ tôi tìm thấy khi sử dụng Pyaudio dựa vào việc viết mảng numpy vào tệp wav trước, nhưng tôi muốn có một chức năng xem trước chỉ tạo ra mảng numpy vào đầu ra âm thanh.

Show

Nên là đa nền tảng, quá. Tôi đang sử dụng Python 3 (phân phối Anaconda).

Hướng dẫn how do i stream audio in python? - làm cách nào để phát trực tuyến âm thanh trong python?

Hỏi ngày 28 tháng 7 năm 2015 lúc 11:03Jul 28, 2015 at 11:03

Hướng dẫn how do i stream audio in python? - làm cách nào để phát trực tuyến âm thanh trong python?

Mario Krušeljmario KrušeljMario Krušelj

6351 Huy hiệu vàng6 Huy hiệu bạc20 Huy hiệu đồng1 gold badge6 silver badges20 bronze badges

0

Điều này đã làm việc! Cảm ơn vì sự giúp đỡ!

def generate_sample(self, ob, preview):
    print("* Generating sample...")
    tone_out = array(ob, dtype=int16)

    if preview:
        print("* Previewing audio file...")

        bytestream = tone_out.tobytes()
        pya = pyaudio.PyAudio()
        stream = pya.open(format=pya.get_format_from_width(width=2), channels=1, rate=OUTPUT_SAMPLE_RATE, output=True)
        stream.write(bytestream)
        stream.stop_stream()
        stream.close()

        pya.terminate()
        print("* Preview completed!")
    else:
        write('sound.wav', SAMPLE_RATE, tone_out)
        print("* Wrote audio file!")

Có vẻ rất đơn giản bây giờ, nhưng khi bạn không biết rõ về Python, có vẻ như địa ngục.

Đã trả lời ngày 22 tháng 8 năm 2015 lúc 23:50Aug 22, 2015 at 23:50

Hướng dẫn how do i stream audio in python? - làm cách nào để phát trực tuyến âm thanh trong python?

Mario Krušeljmario KrušeljMario Krušelj

6351 Huy hiệu vàng6 Huy hiệu bạc20 Huy hiệu đồng1 gold badge6 silver badges20 bronze badges

Điều này đã làm việc! Cảm ơn vì sự giúp đỡ!

Có vẻ rất đơn giản bây giờ, nhưng khi bạn không biết rõ về Python, có vẻ như địa ngục.

Đã trả lời ngày 22 tháng 8 năm 2015 lúc 23:50Sep 16, 2015 at 10:01

Điều này thực sự đơn giản với Python-Sundevice:

import sounddevice as sd
sd.play(myarray, 44100)

Đã trả lời ngày 16 tháng 9 năm 2015 lúc 10:01

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()

Như bạn có thể thấy trong các ví dụ, Pyaudio chỉ đọc dữ liệu từ tệp WAV và ghi nó vào luồng.Aug 22, 2015 at 22:21

Hướng dẫn how do i stream audio in python? - làm cách nào để phát trực tuyến âm thanh trong python?

Không cần thiết phải viết một tệp WAV trước, bạn chỉ cần một luồng dữ liệu ở định dạng phù hợp.Roland Smith

Tôi đang thêm ví dụ dưới đây trong trường hợp liên kết đã chết (lưu ý rằng tôi đã không viết mã này):3 gold badges59 silver badges88 bronze badges

2

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để làm sâu sắc thêm sự hiểu biết của bạn: chơi và ghi âm âm thanh trong Python This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Playing and Recording Sound in Python

Nếu bạn muốn sử dụng Python để chơi hoặc ghi âm, thì bạn đã đến đúng nơi! Trong hướng dẫn này, bạn sẽ học cách phát và ghi âm thanh trong Python bằng cách sử dụng một số thư viện âm thanh phổ biến nhất. Bạn sẽ tìm hiểu về các phương pháp đơn giản nhất để phát và ghi âm thanh trước, và sau đó bạn sẽ tìm hiểu về một số thư viện cung cấp một số chức năng hơn để đổi lấy một vài dòng mã bổ sung.

Đến cuối hướng dẫn này, bạn sẽ biết cách:

  • Phát các tệp MP3 và WAV, cũng như một loạt các định dạng âm thanh khác
  • Chơi các mảng Numpy và Python chứa âm thanh
  • Ghi âm âm thanh bằng cách sử dụng python
  • Lưu bản ghi hoặc tệp âm thanh của bạn trong một loạt các định dạng tệp khác nhau

Để biết danh sách toàn diện các thư viện Python liên quan đến âm thanh, hãy xem trang Wiki trên Audio in Python.

Phát tập tin âm thanh

Dưới đây, bạn sẽ thấy cách phát các tệp âm thanh với lựa chọn các thư viện Python. Một vài trong số các thư viện này cho phép bạn chơi một loạt các định dạng âm thanh, bao gồm mảng mp3 và numpy. Tất cả các thư viện bên dưới cho phép bạn phát các tệp WAV, một số có nhiều dòng hơn so với các thư viện khác:

  • """PyAudio Example: Play a WAVE file."""
    
    import pyaudio
    import wave
    import sys
    
    CHUNK = 1024
    
    if len(sys.argv) < 2:
        print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
        sys.exit(-1)
    
    wf = wave.open(sys.argv[1], 'rb')
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)
    
    data = wf.readframes(CHUNK)
    
    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)
    
    stream.stop_stream()
    stream.close()
    
    p.terminate()
    
    0 là gói đơn giản nhất để sử dụng nếu bạn chỉ muốn phát tệp WAV hoặc MP3. Nó không cung cấp chức năng nào ngoài việc phát lại đơn giản. is the most straightforward package to use if you simply want to play a WAV or MP3 file. It offers no functionality other than simple playback.

  • """PyAudio Example: Play a WAVE file."""
    
    import pyaudio
    import wave
    import sys
    
    CHUNK = 1024
    
    if len(sys.argv) < 2:
        print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
        sys.exit(-1)
    
    wf = wave.open(sys.argv[1], 'rb')
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)
    
    data = wf.readframes(CHUNK)
    
    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)
    
    stream.stop_stream()
    stream.close()
    
    p.terminate()
    
    1 cho phép bạn phát các tệp WAV và mảng numpy và cung cấp cho bạn các tùy chọn để kiểm tra xem một tệp có còn phát không. lets you play WAV files and NumPy arrays, and gives you options to check whether a file is still playing.

  • """PyAudio Example: Play a WAVE file."""
    
    import pyaudio
    import wave
    import sys
    
    CHUNK = 1024
    
    if len(sys.argv) < 2:
        print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
        sys.exit(-1)
    
    wf = wave.open(sys.argv[1], 'rb')
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)
    
    data = wf.readframes(CHUNK)
    
    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)
    
    stream.stop_stream()
    stream.close()
    
    p.terminate()
    
    2 cho phép bạn phát các tệp wav hoặc phát ra tiếng loa của bạn, nhưng nó chỉ hoạt động trên Windows. allows you to play WAV files or beep your speakers, but it works only on Windows.

  • """PyAudio Example: Play a WAVE file."""
    
    import pyaudio
    import wave
    import sys
    
    CHUNK = 1024
    
    if len(sys.argv) < 2:
        print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
        sys.exit(-1)
    
    wf = wave.open(sys.argv[1], 'rb')
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)
    
    data = wf.readframes(CHUNK)
    
    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)
    
    stream.stop_stream()
    stream.close()
    
    p.terminate()
    
    3 và
    """PyAudio Example: Play a WAVE file."""
    
    import pyaudio
    import wave
    import sys
    
    CHUNK = 1024
    
    if len(sys.argv) < 2:
        print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
        sys.exit(-1)
    
    wf = wave.open(sys.argv[1], 'rb')
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)
    
    data = wf.readframes(CHUNK)
    
    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)
    
    stream.stop_stream()
    stream.close()
    
    p.terminate()
    
    4 cung cấp các ràng buộc cho thư viện Portaudio để phát lại các tệp WAV đa nền tảng.
    and
    """PyAudio Example: Play a WAVE file."""
    
    import pyaudio
    import wave
    import sys
    
    CHUNK = 1024
    
    if len(sys.argv) < 2:
        print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
        sys.exit(-1)
    
    wf = wave.open(sys.argv[1], 'rb')
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)
    
    data = wf.readframes(CHUNK)
    
    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)
    
    stream.stop_stream()
    stream.close()
    
    p.terminate()
    
    4
    provide bindings for the PortAudio library for cross-platform playback of WAV files.

  • """PyAudio Example: Play a WAVE file."""
    
    import pyaudio
    import wave
    import sys
    
    CHUNK = 1024
    
    if len(sys.argv) < 2:
        print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
        sys.exit(-1)
    
    wf = wave.open(sys.argv[1], 'rb')
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)
    
    data = wf.readframes(CHUNK)
    
    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)
    
    stream.stop_stream()
    stream.close()
    
    p.terminate()
    
    5 yêu cầu
    """PyAudio Example: Play a WAVE file."""
    
    import pyaudio
    import wave
    import sys
    
    CHUNK = 1024
    
    if len(sys.argv) < 2:
        print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
        sys.exit(-1)
    
    wf = wave.open(sys.argv[1], 'rb')
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)
    
    data = wf.readframes(CHUNK)
    
    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)
    
    stream.stop_stream()
    stream.close()
    
    p.terminate()
    
    4 để phát lại âm thanh, nhưng với
    """PyAudio Example: Play a WAVE file."""
    
    import pyaudio
    import wave
    import sys
    
    CHUNK = 1024
    
    if len(sys.argv) < 2:
        print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
        sys.exit(-1)
    
    wf = wave.open(sys.argv[1], 'rb')
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)
    
    data = wf.readframes(CHUNK)
    
    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)
    
    stream.stop_stream()
    stream.close()
    
    p.terminate()
    
    7 được cài đặt, nó cho phép bạn chơi một loạt các định dạng âm thanh lớn chỉ với một vài dòng mã.
    requires
    """PyAudio Example: Play a WAVE file."""
    
    import pyaudio
    import wave
    import sys
    
    CHUNK = 1024
    
    if len(sys.argv) < 2:
        print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
        sys.exit(-1)
    
    wf = wave.open(sys.argv[1], 'rb')
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)
    
    data = wf.readframes(CHUNK)
    
    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)
    
    stream.stop_stream()
    stream.close()
    
    p.terminate()
    
    4
    for audio playback, but with
    """PyAudio Example: Play a WAVE file."""
    
    import pyaudio
    import wave
    import sys
    
    CHUNK = 1024
    
    if len(sys.argv) < 2:
        print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
        sys.exit(-1)
    
    wf = wave.open(sys.argv[1], 'rb')
    
    p = pyaudio.PyAudio()
    
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)
    
    data = wf.readframes(CHUNK)
    
    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)
    
    stream.stop_stream()
    stream.close()
    
    p.terminate()
    
    7 installed, it lets you play a large range of audio formats with only a few lines of code.

Hãy cùng xem các thư viện này để phát lại âm thanh từng người một.

"""PyAudio Example: Play a WAVE file.""" import pyaudio import wave import sys CHUNK = 1024 if len(sys.argv) < 2: print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0]) sys.exit(-1) wf = wave.open(sys.argv[1], 'rb') p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) data = wf.readframes(CHUNK) while data != '': stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() 0

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
0 là một python tinh khiết, nền tảng chéo, mô -đun chức năng đơn không có sự phụ thuộc để phát âm thanh. Với mô -đun này, bạn có thể phát một tệp âm thanh với một dòng mã duy nhất:

from playsound import playsound

playsound('myfile.wav')

Tài liệu của

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
0 nói rằng nó đã được thử nghiệm trên các tệp WAV và MP3, nhưng nó cũng có thể hoạt động cho các định dạng tệp khác.

Thư viện này được cập nhật lần cuối vào tháng 6 năm 2017. Nó dường như hoạt động tốt tại thời điểm viết bài viết này, nhưng nó không rõ liệu nó có còn hỗ trợ các bản phát hành Python mới hơn hay không.

"""PyAudio Example: Play a WAVE file.""" import pyaudio import wave import sys CHUNK = 1024 if len(sys.argv) < 2: print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0]) sys.exit(-1) wf = wave.open(sys.argv[1], 'rb') p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) data = wf.readframes(CHUNK) while data != '': stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() 1

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
1 là một thư viện đa nền tảng để phát lại các tệp WAV (mono và stereo) không có phụ thuộc. Mã sau đây có thể được sử dụng để phát tệp WAV và chờ tệp hoàn thành phát trước khi chấm dứt tập lệnh:

import simpleaudio as sa

filename = 'myfile.wav'
wave_obj = sa.WaveObject.from_wave_file(filename)
play_obj = wave_obj.play()
play_obj.wait_done()  # Wait until sound has finished playing

Các tệp WAV chứa một chuỗi các bit đại diện cho dữ liệu âm thanh thô, cũng như các tiêu đề có siêu dữ liệu ở định dạng RIFF (định dạng tệp trao đổi tài nguyên).sequence of bits representing the raw audio data, as well as headers with metadata in RIFF (Resource Interchange File Format) format.

Đối với các bản ghi CD, tiêu chuẩn công nghiệp là lưu trữ từng mẫu âm thanh (một dữ liệu âm thanh riêng lẻ liên quan đến áp suất không khí) là giá trị 16 bit, ở mức 44100 mẫu mỗi giây.16-bit value, at 44100 samples per second.

Để giảm kích thước tệp, có thể đủ để lưu trữ một số bản ghi (ví dụ về lời nói của con người) với tốc độ lấy mẫu thấp hơn, chẳng hạn như 8000 mẫu mỗi giây, mặc dù điều này có nghĩa là tần số âm thanh cao hơn có thể không được biểu thị chính xác.

Một vài trong số các thư viện được thảo luận trong trò chơi hướng dẫn này và ghi các đối tượng

from playsound import playsound

playsound('myfile.wav')
3, trong khi các thư mục khác sử dụng các mảng Numpy để lưu trữ dữ liệu âm thanh thô.
from playsound import playsound

playsound('myfile.wav')
3
objects, whereas others use NumPy arrays to store raw audio data.

Cả hai tương ứng với một chuỗi các điểm dữ liệu có thể được phát lại với tốc độ mẫu được chỉ định để phát âm thanh. Đối với một đối tượng

from playsound import playsound

playsound('myfile.wav')
3, mỗi mẫu được lưu trữ dưới dạng một tập hợp hai giá trị 8 bit, trong khi trong một mảng numpy, mỗi phần tử có thể chứa giá trị 16 bit tương ứng với một mẫu.
from playsound import playsound

playsound('myfile.wav')
3
object, each sample is stored as a set of two 8-bit values, whereas in a NumPy array, each element can contain a 16-bit value corresponding to a single sample.

Một sự khác biệt quan trọng giữa hai loại dữ liệu này là các đối tượng

from playsound import playsound

playsound('myfile.wav')
3 là bất biến, trong khi các mảng numpy có thể thay đổi, làm cho loại sau phù hợp hơn để tạo ra âm thanh và để xử lý tín hiệu phức tạp hơn. Để biết thêm thông tin về cách làm việc với Numpy, hãy xem các hướng dẫn nhảm nhí của chúng tôi.
from playsound import playsound

playsound('myfile.wav')
3 objects are immutable
, whereas NumPy arrays are mutable, making the latter more suitable for generating sounds and for more complex signal processing. For more information on how to work with NumPy, have a look at our NumPy tutorials.

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
1 cho phép bạn chơi các mảng Numpy và Python và các đối tượng
from playsound import playsound

playsound('myfile.wav')
3 bằng cách sử dụng
from playsound import playsound

playsound('myfile.wav')
8. Hãy chắc chắn rằng bạn đã cài đặt Numpy cho ví dụ sau để hoạt động, cũng như
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
1. (Với
import simpleaudio as sa

filename = 'myfile.wav'
wave_obj = sa.WaveObject.from_wave_file(filename)
play_obj = wave_obj.play()
play_obj.wait_done()  # Wait until sound has finished playing
0 được cài đặt, bạn có thể thực hiện điều này bằng cách chạy
import simpleaudio as sa

filename = 'myfile.wav'
wave_obj = sa.WaveObject.from_wave_file(filename)
play_obj = wave_obj.play()
play_obj.wait_done()  # Wait until sound has finished playing
1 từ bảng điều khiển của bạn.)

Để biết thêm thông tin về cách sử dụng

import simpleaudio as sa

filename = 'myfile.wav'
wave_obj = sa.WaveObject.from_wave_file(filename)
play_obj = wave_obj.play()
play_obj.wait_done()  # Wait until sound has finished playing
0 để cài đặt các gói, hãy xem PIPENV: Hướng dẫn về công cụ đóng gói Python mới.

Dưới đây bạn sẽ thấy cách tạo ra một mảng numpy tương ứng với âm 440 Hz và phát lại bằng cách sử dụng

from playsound import playsound

playsound('myfile.wav')
8:

import numpy as np
import simpleaudio as sa

frequency = 440  # Our played note will be 440 Hz
fs = 44100  # 44100 samples per second
seconds = 3  # Note duration of 3 seconds

# Generate array with seconds*sample_rate steps, ranging between 0 and seconds
t = np.linspace(0, seconds, seconds * fs, False)

# Generate a 440 Hz sine wave
note = np.sin(frequency * t * 2 * np.pi)

# Ensure that highest value is in 16-bit range
audio = note * (2**15 - 1) / np.max(np.abs(note))
# Convert to 16-bit data
audio = audio.astype(np.int16)

# Start playback
play_obj = sa.play_buffer(audio, 1, 2, fs)

# Wait for playback to finish before exiting
play_obj.wait_done()

Tiếp theo, hãy để xem cách bạn có thể sử dụng

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
2 để phát các tệp WAV trên máy Windows.

"""PyAudio Example: Play a WAVE file.""" import pyaudio import wave import sys CHUNK = 1024 if len(sys.argv) < 2: print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0]) sys.exit(-1) wf = wave.open(sys.argv[1], 'rb') p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) data = wf.readframes(CHUNK) while data != '': stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() 2

Nếu bạn sử dụng Windows, bạn có thể sử dụng mô-đun

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
2 tích hợp để truy cập máy móc phát âm thanh cơ bản của nó. Phát tệp WAV có thể được thực hiện trong một vài dòng mã:

import winsound

filename = 'myfile.wav'
winsound.PlaySound(filename, winsound.SND_FILENAME)

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
2 không hỗ trợ phát lại bất kỳ tệp nào ngoài các tệp WAV. Nó cho phép bạn phát ra tiếng loa của bạn bằng cách sử dụng
import simpleaudio as sa

filename = 'myfile.wav'
wave_obj = sa.WaveObject.from_wave_file(filename)
play_obj = wave_obj.play()
play_obj.wait_done()  # Wait until sound has finished playing
8. Ví dụ: bạn có thể phát ra một giai điệu 1000 Hz trong 100 mili giây với mã sau:

import winsound

winsound.Beep(1000, 100)  # Beep at 1000 Hz for 100 ms

Tiếp theo, bạn sẽ học cách sử dụng mô-đun

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
3 để phát lại âm thanh đa nền tảng.

"""PyAudio Example: Play a WAVE file.""" import pyaudio import wave import sys CHUNK = 1024 if len(sys.argv) < 2: print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0]) sys.exit(-1) wf = wave.open(sys.argv[1], 'rb') p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) data = wf.readframes(CHUNK) while data != '': stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() 3

Như đã nêu trong tài liệu của mình,

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
3 cung cấp các ràng buộc cho thư viện Portaudio và một vài chức năng tiện lợi để chơi và ghi lại các mảng numpy có chứa tín hiệu âm thanh. Để phát các tệp WAV,
import numpy as np
import simpleaudio as sa

frequency = 440  # Our played note will be 440 Hz
fs = 44100  # 44100 samples per second
seconds = 3  # Note duration of 3 seconds

# Generate array with seconds*sample_rate steps, ranging between 0 and seconds
t = np.linspace(0, seconds, seconds * fs, False)

# Generate a 440 Hz sine wave
note = np.sin(frequency * t * 2 * np.pi)

# Ensure that highest value is in 16-bit range
audio = note * (2**15 - 1) / np.max(np.abs(note))
# Convert to 16-bit data
audio = audio.astype(np.int16)

# Start playback
play_obj = sa.play_buffer(audio, 1, 2, fs)

# Wait for playback to finish before exiting
play_obj.wait_done()
2 và
import numpy as np
import simpleaudio as sa

frequency = 440  # Our played note will be 440 Hz
fs = 44100  # 44100 samples per second
seconds = 3  # Note duration of 3 seconds

# Generate array with seconds*sample_rate steps, ranging between 0 and seconds
t = np.linspace(0, seconds, seconds * fs, False)

# Generate a 440 Hz sine wave
note = np.sin(frequency * t * 2 * np.pi)

# Ensure that highest value is in 16-bit range
audio = note * (2**15 - 1) / np.max(np.abs(note))
# Convert to 16-bit data
audio = audio.astype(np.int16)

# Start playback
play_obj = sa.play_buffer(audio, 1, 2, fs)

# Wait for playback to finish before exiting
play_obj.wait_done()
3 cần được cài đặt, để mở các tệp WAV dưới dạng các mảng Numpy.

Với cài đặt

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
3,
import numpy as np
import simpleaudio as sa

frequency = 440  # Our played note will be 440 Hz
fs = 44100  # 44100 samples per second
seconds = 3  # Note duration of 3 seconds

# Generate array with seconds*sample_rate steps, ranging between 0 and seconds
t = np.linspace(0, seconds, seconds * fs, False)

# Generate a 440 Hz sine wave
note = np.sin(frequency * t * 2 * np.pi)

# Ensure that highest value is in 16-bit range
audio = note * (2**15 - 1) / np.max(np.abs(note))
# Convert to 16-bit data
audio = audio.astype(np.int16)

# Start playback
play_obj = sa.play_buffer(audio, 1, 2, fs)

# Wait for playback to finish before exiting
play_obj.wait_done()
2 và
import numpy as np
import simpleaudio as sa

frequency = 440  # Our played note will be 440 Hz
fs = 44100  # 44100 samples per second
seconds = 3  # Note duration of 3 seconds

# Generate array with seconds*sample_rate steps, ranging between 0 and seconds
t = np.linspace(0, seconds, seconds * fs, False)

# Generate a 440 Hz sine wave
note = np.sin(frequency * t * 2 * np.pi)

# Ensure that highest value is in 16-bit range
audio = note * (2**15 - 1) / np.max(np.abs(note))
# Convert to 16-bit data
audio = audio.astype(np.int16)

# Start playback
play_obj = sa.play_buffer(audio, 1, 2, fs)

# Wait for playback to finish before exiting
play_obj.wait_done()
3, giờ đây bạn có thể đọc một tệp WAV dưới dạng mảng Numpy và phát lại:

import sounddevice as sd
import soundfile as sf

filename = 'myfile.wav'
# Extract data and sampling rate from file
data, fs = sf.read(filename, dtype='float32')  
sd.play(data, fs)
status = sd.wait()  # Wait until file is done playing

Dòng chứa

import numpy as np
import simpleaudio as sa

frequency = 440  # Our played note will be 440 Hz
fs = 44100  # 44100 samples per second
seconds = 3  # Note duration of 3 seconds

# Generate array with seconds*sample_rate steps, ranging between 0 and seconds
t = np.linspace(0, seconds, seconds * fs, False)

# Generate a 440 Hz sine wave
note = np.sin(frequency * t * 2 * np.pi)

# Ensure that highest value is in 16-bit range
audio = note * (2**15 - 1) / np.max(np.abs(note))
# Convert to 16-bit data
audio = audio.astype(np.int16)

# Start playback
play_obj = sa.play_buffer(audio, 1, 2, fs)

# Wait for playback to finish before exiting
play_obj.wait_done()
7 trích xuất dữ liệu âm thanh thô, cũng như tốc độ lấy mẫu của tệp như được lưu trong tiêu đề riff của nó và
import numpy as np
import simpleaudio as sa

frequency = 440  # Our played note will be 440 Hz
fs = 44100  # 44100 samples per second
seconds = 3  # Note duration of 3 seconds

# Generate array with seconds*sample_rate steps, ranging between 0 and seconds
t = np.linspace(0, seconds, seconds * fs, False)

# Generate a 440 Hz sine wave
note = np.sin(frequency * t * 2 * np.pi)

# Ensure that highest value is in 16-bit range
audio = note * (2**15 - 1) / np.max(np.abs(note))
# Convert to 16-bit data
audio = audio.astype(np.int16)

# Start playback
play_obj = sa.play_buffer(audio, 1, 2, fs)

# Wait for playback to finish before exiting
play_obj.wait_done()
8 đảm bảo rằng tập lệnh chỉ được chấm dứt sau khi âm thanh kết thúc phát.

Tiếp theo, chúng tôi sẽ học cách sử dụng

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
5 để phát âm thanh. Với các phụ thuộc phù hợp được cài đặt, nó cho phép bạn phát một loạt các tệp âm thanh và nó cung cấp cho bạn nhiều tùy chọn hơn để làm việc với âm thanh hơn
import winsound

filename = 'myfile.wav'
winsound.PlaySound(filename, winsound.SND_FILENAME)
0.

"""PyAudio Example: Play a WAVE file.""" import pyaudio import wave import sys CHUNK = 1024 if len(sys.argv) < 2: print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0]) sys.exit(-1) wf = wave.open(sys.argv[1], 'rb') p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) data = wf.readframes(CHUNK) while data != '': stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() 5

Mặc dù

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
5 có thể mở và lưu các tệp WAV mà không cần bất kỳ phụ thuộc nào, bạn cần cài đặt gói phát lại âm thanh để phát âm thanh.
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
1 được khuyến khích mạnh mẽ, nhưng
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
4,
import winsound

filename = 'myfile.wav'
winsound.PlaySound(filename, winsound.SND_FILENAME)
5 và
import winsound

filename = 'myfile.wav'
winsound.PlaySound(filename, winsound.SND_FILENAME)
6 là các lựa chọn thay thế.

Mã sau có thể được sử dụng để phát tệp WAV với

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
5:

from pydub import AudioSegment
from pydub.playback import play

sound = AudioSegment.from_wav('myfile.wav')
play(sound)

Để phát lại các loại âm thanh khác, chẳng hạn như các tệp MP3,

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
7 hoặc
import winsound

filename = 'myfile.wav'
winsound.PlaySound(filename, winsound.SND_FILENAME)
9 nên được cài đặt. Hãy xem tài liệu của
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
5 để được hướng dẫn. Thay thế cho các bước được mô tả trong tài liệu,
import winsound

winsound.Beep(1000, 100)  # Beep at 1000 Hz for 100 ms
1 cung cấp các ràng buộc cho
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
7 và có thể được cài đặt bằng PIP:

import sounddevice as sd
sd.play(myarray, 44100)
0

Với

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
7 được cài đặt, phát lại tệp MP3 chỉ cần một thay đổi nhỏ trong mã trước đó của chúng tôi:

import sounddevice as sd
sd.play(myarray, 44100)
1

Sử dụng cấu trúc

import winsound

winsound.Beep(1000, 100)  # Beep at 1000 Hz for 100 ms
4, bạn có thể phát bất kỳ loại tệp âm thanh nào mà
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
7 hỗ trợ. Ví dụ: bạn có thể phát tệp WMA bằng cách sử dụng theo dõi:

import sounddevice as sd
sd.play(myarray, 44100)
2

Ngoài việc phát các tệp âm thanh trở lại,

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
5 cho phép bạn lưu âm thanh ở các định dạng tệp khác nhau (nhiều hơn về điều này sau), cắt âm thanh, tính độ dài của các tệp âm thanh, mờ dần trong hoặc ngoài và áp dụng chéo.

import winsound

winsound.Beep(1000, 100)  # Beep at 1000 Hz for 100 ms
7 tạo ra một bản sao của bộ phận nghe nhìn ngược, mà tài liệu mô tả là hữu ích cho Pink Floyd, vặn vít và một số thuật toán xử lý âm thanh.

"""PyAudio Example: Play a WAVE file.""" import pyaudio import wave import sys CHUNK = 1024 if len(sys.argv) < 2: print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0]) sys.exit(-1) wf = wave.open(sys.argv[1], 'rb') p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) data = wf.readframes(CHUNK) while data != '': stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() 4

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
4 cung cấp các ràng buộc cho Portaudio, thư viện I/O âm thanh đa nền tảng. Điều này có nghĩa là bạn có thể sử dụng
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
4 để phát và ghi âm thanh trên nhiều nền tảng khác nhau, bao gồm Windows, Linux và Mac. Với
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
4, chơi âm thanh được thực hiện bằng cách ghi vào
import sounddevice as sd
import soundfile as sf

filename = 'myfile.wav'
# Extract data and sampling rate from file
data, fs = sf.read(filename, dtype='float32')  
sd.play(data, fs)
status = sd.wait()  # Wait until file is done playing
2:

import sounddevice as sd
sd.play(myarray, 44100)
3

Như bạn có thể nhận thấy, phát âm thanh với

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
4 phức tạp hơn một chút so với phát âm thanh với các thư viện mà bạn đã thấy trước đó. Điều này có nghĩa là nó có thể không phải là lựa chọn đầu tiên của bạn nếu bạn chỉ muốn chơi hiệu ứng âm thanh trong ứng dụng Python của bạn.

Tuy nhiên, vì

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
4 cung cấp cho bạn điều khiển cấp thấp hơn, có thể nhận và đặt các tham số cho các thiết bị đầu vào và đầu ra của bạn và để kiểm tra tải CPU và độ trễ đầu vào hoặc đầu ra của bạn.

Nó cũng cho phép bạn phát và ghi âm trong chế độ gọi lại, trong đó chức năng gọi lại được chỉ định được gọi khi dữ liệu mới được yêu cầu để phát lại hoặc có sẵn để ghi. Các tùy chọn này làm cho

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
4 trở thành một thư viện phù hợp để sử dụng nếu âm thanh của bạn cần vượt ra ngoài phát lại đơn giản.

Bây giờ bạn đã thấy cách bạn có thể sử dụng một số thư viện khác nhau để phát âm thanh, đó là thời gian để xem cách bạn có thể sử dụng Python để tự ghi âm.

Ghi âm âm thanh

Các thư viện

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
3 và
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
4 cung cấp các cách để ghi lại âm thanh với Python.
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
3 Bản ghi cho các mảng numpy và
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
4 hồ sơ cho các đối tượng
from playsound import playsound

playsound('myfile.wav')
3. Cả hai có thể được lưu trữ dưới dạng các tệp WAV bằng các thư viện
from pydub import AudioSegment
from pydub.playback import play

sound = AudioSegment.from_wav('myfile.wav')
play(sound)
1 và
from pydub import AudioSegment
from pydub.playback import play

sound = AudioSegment.from_wav('myfile.wav')
play(sound)
2 tương ứng.

"""PyAudio Example: Play a WAVE file.""" import pyaudio import wave import sys CHUNK = 1024 if len(sys.argv) < 2: print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0]) sys.exit(-1) wf = wave.open(sys.argv[1], 'rb') p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) data = wf.readframes(CHUNK) while data != '': stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() 3

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
3 cho phép bạn ghi lại âm thanh từ micrô của mình và lưu trữ nó dưới dạng mảng numpy. Đây là một kiểu dữ liệu tiện dụng để xử lý âm thanh có thể được chuyển đổi thành định dạng WAV để lưu trữ bằng mô -đun
from pydub import AudioSegment
from pydub.playback import play

sound = AudioSegment.from_wav('myfile.wav')
play(sound)
5. Đảm bảo cài đặt mô -đun
from pydub import AudioSegment
from pydub.playback import play

sound = AudioSegment.from_wav('myfile.wav')
play(sound)
1 cho ví dụ sau (
from pydub import AudioSegment
from pydub.playback import play

sound = AudioSegment.from_wav('myfile.wav')
play(sound)
7). Điều này tự động cài đặt Numpy là một trong những phụ thuộc của nó:

import sounddevice as sd
sd.play(myarray, 44100)
4

"""PyAudio Example: Play a WAVE file.""" import pyaudio import wave import sys CHUNK = 1024 if len(sys.argv) < 2: print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0]) sys.exit(-1) wf = wave.open(sys.argv[1], 'rb') p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) data = wf.readframes(CHUNK) while data != '': stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() 4

Trước đó trong bài viết này, bạn đã học được cách phát âm thanh bằng cách đọc

from pydub import AudioSegment
from pydub.playback import play

sound = AudioSegment.from_wav('myfile.wav')
play(sound)
9. Ghi âm có thể được thực hiện bằng cách ghi vào luồng này thay thế:

import sounddevice as sd
sd.play(myarray, 44100)
5

Bây giờ, bạn đã thấy cách ghi âm với

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
3 và
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
4, bạn sẽ học cách chuyển đổi bản ghi của mình (hoặc bất kỳ tệp âm thanh nào khác) thành một loạt các định dạng âm thanh khác nhau.

Lưu và chuyển đổi âm thanh

Bạn đã thấy trước đó rằng bạn có thể sử dụng mô -đun

from pydub import AudioSegment
from pydub.playback import play

sound = AudioSegment.from_wav('myfile.wav')
play(sound)
5 để lưu trữ các mảng Numpy dưới dạng các tệp WAV. Mô -đun
import sounddevice as sd
sd.play(myarray, 44100)
03 tương tự cho phép bạn chuyển đổi giữa các tệp WAV và mảng numpy. Nếu bạn muốn lưu trữ âm thanh của mình ở định dạng tệp khác,
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
5 và
import numpy as np
import simpleaudio as sa

frequency = 440  # Our played note will be 440 Hz
fs = 44100  # 44100 samples per second
seconds = 3  # Note duration of 3 seconds

# Generate array with seconds*sample_rate steps, ranging between 0 and seconds
t = np.linspace(0, seconds, seconds * fs, False)

# Generate a 440 Hz sine wave
note = np.sin(frequency * t * 2 * np.pi)

# Ensure that highest value is in 16-bit range
audio = note * (2**15 - 1) / np.max(np.abs(note))
# Convert to 16-bit data
audio = audio.astype(np.int16)

# Start playback
play_obj = sa.play_buffer(audio, 1, 2, fs)

# Wait for playback to finish before exiting
play_obj.wait_done()
3 có ích, vì chúng cho phép bạn đọc và viết một loạt các định dạng tệp phổ biến (như MP3, FLAC, WMA và FLV).

import sounddevice as sd sd.play(myarray, 44100) 03

Mô -đun này phụ thuộc vào

import numpy as np
import simpleaudio as sa

frequency = 440  # Our played note will be 440 Hz
fs = 44100  # 44100 samples per second
seconds = 3  # Note duration of 3 seconds

# Generate array with seconds*sample_rate steps, ranging between 0 and seconds
t = np.linspace(0, seconds, seconds * fs, False)

# Generate a 440 Hz sine wave
note = np.sin(frequency * t * 2 * np.pi)

# Ensure that highest value is in 16-bit range
audio = note * (2**15 - 1) / np.max(np.abs(note))
# Convert to 16-bit data
audio = audio.astype(np.int16)

# Start playback
play_obj = sa.play_buffer(audio, 1, 2, fs)

# Wait for playback to finish before exiting
play_obj.wait_done()
2 và cho phép bạn đọc các tệp WAV dưới dạng các mảng Numpy và lưu các mảng Numpy dưới dạng các tệp WAV.

Để lưu một mảng Numpy dưới dạng tệp WAV, bạn có thể sử dụng

import sounddevice as sd
sd.play(myarray, 44100)
08:

import sounddevice as sd
sd.play(myarray, 44100)
6

Trong ví dụ này,

import sounddevice as sd
sd.play(myarray, 44100)
09 là một mảng numpy chứa âm thanh,
import sounddevice as sd
sd.play(myarray, 44100)
10 là tốc độ mẫu của bản ghi (thường là 44100 hoặc 44800 Hz) và
import sounddevice as sd
sd.play(myarray, 44100)
11 là chiều rộng lấy mẫu của âm thanh (số lượng byte trên mỗi mẫu, thường là 1 hoặc 2 byte ).

import numpy as np import simpleaudio as sa frequency = 440 # Our played note will be 440 Hz fs = 44100 # 44100 samples per second seconds = 3 # Note duration of 3 seconds # Generate array with seconds*sample_rate steps, ranging between 0 and seconds t = np.linspace(0, seconds, seconds * fs, False) # Generate a 440 Hz sine wave note = np.sin(frequency * t * 2 * np.pi) # Ensure that highest value is in 16-bit range audio = note * (2**15 - 1) / np.max(np.abs(note)) # Convert to 16-bit data audio = audio.astype(np.int16) # Start playback play_obj = sa.play_buffer(audio, 1, 2, fs) # Wait for playback to finish before exiting play_obj.wait_done() 3

Thư viện

import numpy as np
import simpleaudio as sa

frequency = 440  # Our played note will be 440 Hz
fs = 44100  # 44100 samples per second
seconds = 3  # Note duration of 3 seconds

# Generate array with seconds*sample_rate steps, ranging between 0 and seconds
t = np.linspace(0, seconds, seconds * fs, False)

# Generate a 440 Hz sine wave
note = np.sin(frequency * t * 2 * np.pi)

# Ensure that highest value is in 16-bit range
audio = note * (2**15 - 1) / np.max(np.abs(note))
# Convert to 16-bit data
audio = audio.astype(np.int16)

# Start playback
play_obj = sa.play_buffer(audio, 1, 2, fs)

# Wait for playback to finish before exiting
play_obj.wait_done()
3 có thể đọc và ghi tất cả các định dạng tệp được hỗ trợ bởi
import sounddevice as sd
sd.play(myarray, 44100)
14. Mặc dù nó có thể phát âm thanh trở lại, nhưng nó cho phép bạn chuyển đổi âm thanh từ và sang FLAC, AIFF và một vài định dạng âm thanh ít phổ biến hơn. Để chuyển đổi tệp WAV thành FLAC, bạn có thể sử dụng mã sau:

import sounddevice as sd
sd.play(myarray, 44100)
7

Mã tương tự sẽ hoạt động để chuyển đổi giữa các định dạng tệp khác được hỗ trợ bởi

import sounddevice as sd
sd.play(myarray, 44100)
14.

"""PyAudio Example: Play a WAVE file.""" import pyaudio import wave import sys CHUNK = 1024 if len(sys.argv) < 2: print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0]) sys.exit(-1) wf = wave.open(sys.argv[1], 'rb') p = pyaudio.PyAudio() stream = p.open(format=p.get_format_from_width(wf.getsampwidth()), channels=wf.getnchannels(), rate=wf.getframerate(), output=True) data = wf.readframes(CHUNK) while data != '': stream.write(data) data = wf.readframes(CHUNK) stream.stop_stream() stream.close() p.terminate() 5

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
5 cho phép bạn lưu âm thanh ở bất kỳ định dạng nào mà
"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
7 hỗ trợ, bao gồm gần như tất cả các loại âm thanh bạn có thể gặp trong cuộc sống hàng ngày. Ví dụ: bạn có thể chuyển đổi tệp WAV của mình thành MP3 bằng mã sau:

import sounddevice as sd
sd.play(myarray, 44100)
8

Sử dụng

import sounddevice as sd
sd.play(myarray, 44100)
19 là một cách tổng quát hơn để tải các tệp âm thanh. Ví dụ: nếu bạn muốn chuyển đổi tệp của mình từ MP3 sang WAV, bạn có thể làm như sau:

import sounddevice as sd
sd.play(myarray, 44100)
9

Mã này sẽ hoạt động cho bất kỳ định dạng tệp âm thanh nào mà

"""PyAudio Example: Play a WAVE file."""

import pyaudio
import wave
import sys

CHUNK = 1024

if len(sys.argv) < 2:
    print("Plays a wave file.\n\nUsage: %s filename.wav" % sys.argv[0])
    sys.exit(-1)

wf = wave.open(sys.argv[1], 'rb')

p = pyaudio.PyAudio()

stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                channels=wf.getnchannels(),
                rate=wf.getframerate(),
                output=True)

data = wf.readframes(CHUNK)

while data != '':
    stream.write(data)
    data = wf.readframes(CHUNK)

stream.stop_stream()
stream.close()

p.terminate()
7 hỗ trợ.

So sánh các thư viện âm thanh

Dưới đây là bảng tiện dụng so sánh chức năng của các thư viện được thảo luận trong hướng dẫn này:

Các thư viện được bao gồm trong hướng dẫn này được chọn để dễ sử dụng và phổ biến. Để biết danh sách toàn diện hơn các thư viện âm thanh cho Python, hãy xem trang Wiki trên Audio in Python.

Kết luận: Phát và ghi âm trong Python

Trong hướng dẫn này, bạn đã học cách sử dụng một số thư viện âm thanh phổ biến nhất để phát và ghi âm thanh trong Python. Bạn cũng đã thấy cách lưu âm thanh của bạn trong một loạt các định dạng khác nhau.

Bây giờ bạn có thể:

  • Chơi một loạt các định dạng âm thanh, bao gồm các mảng WAV, MP3 và Numpy a large range of audio formats, including WAV, MP3 and NumPy arrays
  • Ghi âm âm thanh từ micrô của bạn đến một mảng numpy hoặc python audio from your microphone to a NumPy or Python array
  • Lưu trữ âm thanh được ghi của bạn một loạt các định dạng khác nhau, bao gồm WAV và MP3 your recorded audio a range of different formats, including WAV and MP3
  • Chuyển đổi tệp âm thanh của bạn thành một loạt các định dạng âm thanh khác nhau your sound files to a range of different audio formats

Bây giờ bạn có thông tin bạn cần để giúp bạn quyết định sử dụng thư viện nào để bắt đầu làm việc với âm thanh trong Python. Đi ra, và phát triển một số ứng dụng âm thanh tuyệt vời!

Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để làm sâu sắc thêm sự hiểu biết của bạn: chơi và ghi âm âm thanh trong Python This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Playing and Recording Sound in Python

Làm thế nào để bạn phát trực tuyến âm thanh trong Python?

def Generate_sample (self, ob, preview): in ("* Mẫu tạo ...") tone_out = mảng (ob, dtype = int16) nếu xem trước: in ("* Xem trước tệp âm thanh ...") TOBYTES () PYA = pyaudio. Pyaudio () luồng = pya. Mở (Định dạng = PYA.

Python có thể chơi âm thanh không?

Đó là một nhiệm vụ dễ dàng để phát âm thanh bằng cách sử dụng tập lệnh Python, 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 â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.

Làm thế nào để bạn xử lý một âm thanh trong Python?

Khái niệm cơ bản xử lý âm thanh trong Python..
Đọc và ghi các tệp âm thanh ở các định dạng khác nhau (WAV, MP3, WMA, v.v.) ..
Phát âm thanh trên máy tính của bạn ..
Biểu diễn âm thanh dưới dạng dạng sóng và xử lý nó: bộ lọc, mẫu lại, xây dựng phổ phổ, v.v. ..

Làm thế nào để bạn tải một tệp âm thanh trong Python?

Trong chương này, bạn sẽ học cách sử dụng thư viện hữu ích này để đảm bảo tất cả các tệp âm thanh của bạn ở đúng hình dạng để phiên âm ...
Giới thiệu về Pydub.....
Nhập tệp âm thanh với Pydub ..
Phát một tệp âm thanh với pydub ..
Tham số âm thanh với pydub ..
Điều chỉnh các tham số âm thanh ..
Thao tác với các tệp âm thanh với pydub ..