Python sounddevice dừng ghi âm

Vì trăn hầu như có thể làm mọi thứ mà người ta có thể tưởng tượng bao gồm phát và ghi âm thanh. Bài viết này sẽ giúp bạn làm quen với một số thư viện python và các phương pháp chuyển tiếp thẳng bằng cách sử dụng các thư viện đó để phát và ghi âm thanh trong python, với một số chức năng khác để đổi lấy một số dòng python bổ sung

Hầu hết các tệp âm thanh đều ở định dạng tệp MP3 và WAV. Các tệp âm thanh WAV là định dạng âm thanh kỹ thuật số đơn giản nhất với tốc độ ghi cao không mất dữ liệu do đó các tệp WAV có dung lượng lớn so với các định dạng khác. Vì lý do tương tự, các định dạng MP3 được sử dụng có kích thước nhỏ và nén các tệp với rất ít sự khác biệt đối với chất lượng âm thanh tổng thể. Ngoài ra, rất dễ dàng chuyển đổi WAV sang MP3 bằng phần mềm mã nguồn mở và miễn phí được phổ biến rộng rãi trên internet

Phát âm thanh

Dưới đây được đề cập là một số thư viện python mà bạn có thể phát các định dạng âm thanh khác nhau trong python bao gồm định dạng MP3, định dạng WAV và thậm chí cả mảng NumPy.  

Phương pháp 1. Sử dụng Playsound

Gói sẵn sàng sử dụng để phát các tệp âm thanh chỉ với một dòng mã. Người ta có thể phát các tệp WAV hoặc MP3 với nó. Đó là một mô-đun chức năng duy nhất không phụ thuộc vào việc phát âm thanh.  

Tài liệu về thư viện playsound đề cập rằng nó đã được thử nghiệm cho các tệp WAV và MP3, nhưng cũng có thể hoạt động với các định dạng tệp khác mà việc kiểm tra tùy thuộc vào người dùng. Mô-đun playsound chỉ chứa một thứ - chức năng [còn được đặt tên] playound

Sau đây là các dòng mã để phát một tệp

Python3




#import the library

from playsoundimport playsound

 

playsound['full_path/filename.mp3']

 
 

đầu ra

 

https. //phương tiện truyền thông. chuyên viên máy tính. org/wp-content/uploads/20210106104353/1. phát âm thanh. mp4

 

Phương pháp 2. Sử dụng Simpleaudio

 

ví dụ 1

 

Đây là thư viện python đa nền tảng để phát lại cả tệp WAV đơn âm và âm thanh nổi mà không có phụ thuộc nào khác để phát lại âm thanh. Trăn 3. 7 trở lên được hỗ trợ chính thức trên macOS, Windows và Linux.  

 

Sau đây là mã đơn giản để chơi một. wav mặc dù nó tiêu tốn ít dòng mã hơn so với thư viện trên

 

Python3




________số 8_______

import from0

 

from1

from2

import from4

from5

 

from6

from7from8 from9

 

playsound0

playsound1

playsound2from8 playsound4

 

playsound5

playsound6from8 playsound8

playsound9

import0

import1

import2

đầu ra

https. //phương tiện truyền thông. chuyên viên máy tính. org/wp-content/uploads/20210106104928/2. -simpleaudio. mp4

ví dụ 2

Simpleaudio có thể được sử dụng để phát các đối tượng byte & mảng NumPy và Python bằng cách sử dụng Simpleaudio. play_buffer[] Mảng Numpy có thể được sử dụng để lưu trữ âm thanh nhưng có một số yêu cầu quan trọng. Nếu chúng lưu trữ âm thanh nổi, mảng phải có hai cột, mỗi cột chứa một kênh dữ liệu âm thanh. Chúng cũng phải có loại d số nguyên 16 bit đã ký và các giá trị biên độ mẫu do đó phải nằm trong khoảng từ -32768 đến 32767. Dưới đây là mã để tạo một mảng NumPy và phát lại bằng cách sử dụng âm thanh đơn giản. play_buffer[]

Python3




import import4

import import6

import7

import8from8 playsound0

playsound1from8 import8playsound4 playsound5 playsound4playsound4 playsound8playsound9 playsound[0 playsound[1]

 

playsound[3

playsound[4from8 playsound[6

playsound[7

playsound[8_______1_______8 'full_path/filename.mp3'0

 

'full_path/filename.mp3'1

'full_path/filename.mp3'2

'full_path/filename.mp3'3

'full_path/filename.mp3'4from8 'full_path/filename.mp3'6_______6_______7_______6_______8playsound4 ]0]1]

 

]3

]4_______1_______8 ]6playsound4 'full_path/filename.mp3'4playsound4 playsound5 playsound4 # import library2

# import library3from8 # import library5playsound4 'full_path/filename.mp3'4playsound4 playsound5 playsound4 # import library2

 

import2

import3_______1_______8 import5

 

import6

import7

import3_______2_______4from8 from01 playsound[0 from03from04from05from06from07

 

from08

import3_______1_______8 from11

 

from12

playsound6from8 from15from16from17playsound5from19

 

from20

from21

import2

đầu ra

https. //phương tiện truyền thông. chuyên viên máy tính. org/wp-content/uploads/20210106105228/2. 1-simpleaudio. mp4

Phương pháp 3. sử dụng winound

ví dụ 1

Đó là mô-đun tích hợp để truy cập cơ chế phát âm thanh cơ bản. Nó chỉ cho phép bạn phát các tệp WAV [nó không hỗ trợ bất kỳ định dạng tệp nào khác] hoặc phát ra tiếng bíp từ loa của bạn, nhưng nó chỉ hoạt động trên Windows như tên gợi ý WINsound. Đó là mô-đun tích hợp nên không cần cài đặt thêm

Python3




from23

import from25

 

from26

đầu ra

https. //phương tiện truyền thông. chuyên viên máy tính. org/wp-content/uploads/20210106110137/3. 1-winsound. mp4

ví dụ 2

Nó cũng có thể được sử dụng để phát ra tiếng bíp cho loa của bạn hoặc Phát [các] âm thanh mặc định của Windows. Trong đoạn mã sau, âm thanh tiếng bíp 5000Hz được phát trong 1000ms sau âm thanh thoát khỏi cửa sổ.  

Python3




from23

import from25

 

from30

from31from32from17from34from35

 

from36

from37_______1_______38from39

đầu ra

https. //phương tiện truyền thông. chuyên viên máy tính. org/wp-content/uploads/20210106110140/3. 2-winsound. mp4

Nhược điểm chính của thư viện này là nó chỉ dành cho người dùng hệ điều hành Windows và cũng không hỗ trợ phát lại bất kỳ tệp nào khác ngoài định dạng WAV

Phương pháp 4. Sử dụng thiết bị âm thanh

Mô-đun Python này cung cấp các liên kết cho thư viện PortAudio và một số chức năng tiện lợi để phát và ghi các mảng NumPy có chứa tín hiệu âm thanh. Nó có sẵn cho các hệ điều hành Linux, macOS và Windows

Trong đoạn mã sau, một dòng chứa ‘ sf. read[] ‘ trích xuất tất cả dữ liệu âm thanh thô cùng với tốc độ lấy mẫu của tệp như được lưu trong tiêu đề RIFF của nó; . wait[] ‘ đảm bảo rằng tập lệnh kết thúc sau ‘ sd. phát [dữ liệu, sr] ‘ kết thúc phát âm thanh

Python3




from40

import from42

import from44

 

from45

from46_______1_______8 from48from8 from50from35

 

from52

from53

 

from54

from55from8 from57

 

from58

from59

đầu ra

https. //phương tiện truyền thông. chuyên viên máy tính. org/wp-content/uploads/20210106112410/4. 1-thiết bị âm thanh. mp4

Phương pháp 5. sử dụng pydub

Mặc dù pydub có thể dễ dàng mở và lưu các tệp WAV mà không có bất kỳ phụ thuộc nào khác, nhưng phải cài đặt sẵn ít nhất một gói phát lại âm thanh từ [simpleaudio, pyaudio, ffplay và avplay ]. Nó cung cấp triển khai python thuần túy để thao tác âm thanh

Mã sau nhập hai thư viện, thư viện đầu tiên tải tệp và thư viện thứ hai để phát tệp đã tải. Ngoài ra, hai cách được trình bày để tải. tập tin wav

Python3




from from61import from63

from from65_______3_______ playsound6

 

import3_______1_______8 from70from71from17from73from8from75]

import3_______1_______8 from79from71]

 

from82

 
 

đầu ra

 

https. //phương tiện truyền thông. chuyên viên máy tính. org/wp-content/uploads/20210106112416/5. 1-pydub. mp4

 

Phương pháp 6. Sử dụng pyaudio

 

PyAudio là một thư viện âm thanh đa nền tảng khác dành cho Python. Mặc dù nó có nhiều khả năng hơn thư viện âm thanh đơn giản, chẳng hạn như ghi âm và truyền phát âm thanh liên tục, nhưng phần lớn phụ thuộc vào việc có PortAudio dẫn đến việc cài đặt phức tạp hơn. Nó cũng cung cấp các liên kết Python cho PortAudio, thư viện I/O âm thanh đa nền tảng do python-sounddevice cung cấp. Với PyAudio, bạn có thể dễ dàng sử dụng Python để phát và ghi âm thanh trên nhiều nền tảng khác nhau

 

Python3




from83

import from85

import from87

 

from88from8 from90

 

from91

from92_______1_______8 from94

 

from95

from96from8 from98from99playsound00playsound01]

 

playsound03

playsound04_______1_______8 playsound06

 

playsound07

playsound08

playsound09

playsound10

playsound11from8 playsound13_______1_______99_______2_______8from73 from8 playsound18

playsound19_______2_______20from8 playsound22

playsound19_______2_______24from8 playsound26

playsound19_______2_______28from8 playsound30]

 

playsound32

playsound33from8 playsound35

 

playsound36

playsound37

playsound38 playsound39from8 playsound41

playsound42_______2_______43

playsound42_______2_______33from8 playsound35

 

playsound48

playsound49

playsound50

playsound51

đầu ra

https. //phương tiện truyền thông. chuyên viên máy tính. org/wp-content/uploads/20210106121909/6. -pyaudio_play. mp4

Ghi âm thanh

Bây giờ chỉ cần chuyển sang chế độ ghi lại bài viết. Rất ít thư viện được đề cập ở trên được sử dụng cho cùng một mục đích, cả phát và ghi đều có thể được giải thích chung nhưng đối với nhiều thư viện, nó có thể hơi khó hiểu. Vì vậy, các phần dành riêng khác nhau được ưu tiên ở đây

Lưu ý- Trước khi sử dụng bất kỳ thư viện nào để ghi âm, hãy đảm bảo rằng micrô của thiết bị của bạn thực sự được kết nối và BẬT cũng như không bị Tắt tiếng. người ta có thể kiểm tra tương tự bằng cách sử dụng các tính năng và cài đặt của hệ điều hành

Phương pháp 1. Sử dụng python-sounddevice

Thư viện này cho phép bạn phát [đã giải thích ở trên] và ghi lại các mảng NumPy chứa thông tin tín hiệu âm thanh. Mô-đun này yêu cầu scipy hoặc wavio để lưu âm thanh đã ghi, điều này có nghĩa là thư viện scipy hoặc wavio phải được cài đặt sẵn cùng với Numpy trước khi sử dụng gói này để ghi

Python3




playsound52

import from42

from playsound56_______3_______ playsound58

import playsound60

 

playsound61

playsound62from8 playsound64

 

playsound65

playsound66from8 playsound68

 

playsound69

playsound70

playsound71_______1_______8 playsound73_______2_______74_______2_______75playsound4 playsound77

playsound78playsound79from8 playsound81_______1_______8 playsound5]

 

playsound85

playsound86

 

playsound87

playsound88

playsound89

playsound90playsound91playsound92

 

playsound93

playsound94

playsound95

playsound96playsound97playsound98from8playsound5]

 
 

đầu ra

 

https. //phương tiện truyền thông. chuyên viên máy tính. org/wp-content/uploads/20210106114323/1. -record_soundvice. mp4

 

Như đã nêu trong phần Âm thanh, thiết bị âm thanh có tùy chọn mặc định để chỉ định kênh và tần số để sử dụng nhiều lần. Sau đó, không cần chuyển tùy chọn này làm đối số trong sd. phương thức rec[]. Đoạn mã sau thể hiện điều tương tự cùng với việc người ta cũng có thể thay đổi kiểu dữ liệu của mảng đã ghi từ kiểu mặc định float32 sang kiểu khác

 

Python3




import from42

 

import04_______1_______8 import06

import07from8 playsound5

 

import10_______1_______8 playsound73_______2_______74playsound75playsound4 import16

 

import17

import18

 

playsound86

 
 

Phát lại và ghi đồng thời

 

Để Phát một mảng có tên my_arr và Ghi cùng lúc. Ở đây tỷ lệ mẫu là smpl_rate

 

Python3




import from42

import import4

 

playsound[4from8 playsound[6

 

import27_______1_______8 import29import30from16from17from16import34

import35from8 import37from8_______2_______5]

 

playsound86

 
 

https. //phương tiện truyền thông. chuyên viên máy tính. org/wp-content/uploads/20210101111541/play_rec. mp4

 

Phương pháp 2. Sử dụng pyaudio

 

Như trên, chúng tôi đã phát âm thanh bằng pyaudio bằng cách đọc tệp pyaudio. Suối[]. Để ghi lại âm thanh, chúng ta phải ghi vào cùng một luồng này. Sau đây là đoạn mã để ghi lại một vài giây âm thanh và lưu đoạn mã đó vào một. tập tin wav

 

Python3




import from85

import from87

 

import46

from92_______1_______8 from94

 

import50

import51from8 import53

import54from8 playsound5

 

import57

import58from8 playsound64

playsound[8_______1_______8 import63

from88from8 import66

 

playsound03

playsound04______1_______8 import70

 

playsound11from8 playsound13_______1_______99_______2_______8from73from8import78from8import80

import81playsound24from8import84import85from8playsound30from17

import81import90from8import92

 

import93_______2_______8import95]

 

import97

import98from8 playsound00

 

playsound01

playsound02 playsound03_______2_______04 playsound05_______2_______8'full_path/filename.mp3'7from17playsound74playsound10playsound[0 from92playsound4 playsound14

Sounddevice trong Python là gì?

Như đã nêu trong tài liệu của nó, python-sounddevice “ cung cấp các liên kết cho thư viện PortAudio và một vài chức năng tiện lợi để phát và ghi các mảng NumPy chứa tín hiệu âm thanh”. In order to play WAV files, numpy and soundfile need to be installed, to open WAV files as NumPy arrays.

Làm cách nào để cài đặt Sounddevice trong Python?

Cài đặt .
cài đặt conda -c conda-forge python-sounddevice
python3 -m pip cài đặt thiết bị âm thanh
python3 -m pip gỡ cài đặt sounddevice

Chủ Đề