Hướng dẫn sounddevice python example - ví dụ về trăn sounddevice

Python-Sundevice
query_devicesTrả về thông tin về các thiết bị có sẵn.
DeviceListMột danh sách với thông tin về tất cả các thiết bị âm thanh có sẵn.
query_hostapisTrả về thông tin về API máy chủ có sẵn.
check_input_settingsKiểm tra nếu cài đặt thiết bị đầu vào được hỗ trợ.
check_output_settingsKiểm tra nếu cài đặt thiết bị đầu ra được hỗ trợ.
________ 7 ________ 8 (thiết bị = none, kint = none) [nguồn] ¶(device=None, kind=None)[source]

Trả về thông tin về các thiết bị có sẵn.

Thông tin và khả năng của các thiết bị Portaudio. Các thiết bị có thể hỗ trợ đầu vào, đầu ra hoặc cả đầu vào và đầu ra.

Để tìm (các) thiết bị đầu vào/đầu ra mặc định, hãy sử dụng default.device.

Parameters:
  • thiết bị (int hoặc str, tùy chọn) - ID thiết bị số hoặc (các) tên con thiết bị. Nếu được chỉ định, thông tin chỉ về thiết bị đã cho được trả về trong một từ điển. (int or str, optional) – Numeric device ID or device name substring(s). If specified, information about only the given device is returned in a single dictionary.
  • loại ({’đầu vào,’ đầu ra ({‘input’, ‘output’}, optional) – If device is not specified and kind is
    >>> sd.query_devices()
      0 Built-in Line Input, Core Audio (2 in, 0 out)
    > 1 Built-in Digital Input, Core Audio (2 in, 0 out)
    < 2 Built-in Output, Core Audio (0 in, 2 out)
      3 Built-in Line Output, Core Audio (0 in, 2 out)
      4 Built-in Digital Output, Core Audio (0 in, 2 out)
    
    0 or
    >>> sd.query_devices()
      0 Built-in Line Input, Core Audio (2 in, 0 out)
    > 1 Built-in Digital Input, Core Audio (2 in, 0 out)
    < 2 Built-in Output, Core Audio (0 in, 2 out)
      3 Built-in Line Output, Core Audio (0 in, 2 out)
      4 Built-in Digital Output, Core Audio (0 in, 2 out)
    
    1, a single dictionary is returned with information about the default input or output device, respectively.
Returns:

Dict hoặc Devicelist - Một từ điển có thông tin về thiết bị đã cho hoặc - nếu không có đối số nào được chỉ định - DeviceList chứa một từ điển cho mỗi thiết bị có sẵn. Các từ điển có các khóa sau:

>>> sd.query_devices()
  0 Built-in Line Input, Core Audio (2 in, 0 out)
> 1 Built-in Digital Input, Core Audio (2 in, 0 out)
< 2 Built-in Output, Core Audio (0 in, 2 out)
  3 Built-in Line Output, Core Audio (0 in, 2 out)
  4 Built-in Digital Output, Core Audio (0 in, 2 out)
3

Tên của thiết bị.

>>> sd.query_devices()
  0 Built-in Line Input, Core Audio (2 in, 0 out)
> 1 Built-in Digital Input, Core Audio (2 in, 0 out)
< 2 Built-in Output, Core Audio (0 in, 2 out)
  3 Built-in Line Output, Core Audio (0 in, 2 out)
  4 Built-in Digital Output, Core Audio (0 in, 2 out)
4

ID của API máy chủ tương ứng. Sử dụng

>>> sd.query_devices()
  0 Built-in Line Input, Core Audio (2 in, 0 out)
> 1 Built-in Digital Input, Core Audio (2 in, 0 out)
< 2 Built-in Output, Core Audio (0 in, 2 out)
  3 Built-in Line Output, Core Audio (0 in, 2 out)
  4 Built-in Digital Output, Core Audio (0 in, 2 out)
5 để lấy thông tin về API máy chủ.

>>> sd.query_devices()
  0 Built-in Line Input, Core Audio (2 in, 0 out)
> 1 Built-in Digital Input, Core Audio (2 in, 0 out)
< 2 Built-in Output, Core Audio (0 in, 2 out)
  3 Built-in Line Output, Core Audio (0 in, 2 out)
  4 Built-in Digital Output, Core Audio (0 in, 2 out)
6,
>>> sd.query_devices()
  0 Built-in Line Input, Core Audio (2 in, 0 out)
> 1 Built-in Digital Input, Core Audio (2 in, 0 out)
< 2 Built-in Output, Core Audio (0 in, 2 out)
  3 Built-in Line Output, Core Audio (0 in, 2 out)
  4 Built-in Digital Output, Core Audio (0 in, 2 out)
7

Số lượng kênh đầu vào/đầu ra tối đa được thiết bị hỗ trợ. Xem

>>> sd.query_devices()
  0 Built-in Line Input, Core Audio (2 in, 0 out)
> 1 Built-in Digital Input, Core Audio (2 in, 0 out)
< 2 Built-in Output, Core Audio (0 in, 2 out)
  3 Built-in Line Output, Core Audio (0 in, 2 out)
  4 Built-in Digital Output, Core Audio (0 in, 2 out)
8.

>>> sd.query_devices()
  0 Built-in Line Input, Core Audio (2 in, 0 out)
> 1 Built-in Digital Input, Core Audio (2 in, 0 out)
< 2 Built-in Output, Core Audio (0 in, 2 out)
  3 Built-in Line Output, Core Audio (0 in, 2 out)
  4 Built-in Digital Output, Core Audio (0 in, 2 out)
9, query_devices0

Giá trị độ trễ mặc định cho hiệu suất tương tác. Điều này được sử dụng nếu query_devices1 (hoặc đối số độ trễ của query_devices2, query_devices3, v.v.) được đặt thành query_devices4.

query_devices5, query_devices6

Giá trị độ trễ mặc định cho các ứng dụng không tương tác mạnh mẽ (ví dụ: phát tệp âm thanh). Điều này được sử dụng nếu query_devices1 (hoặc đối số độ trễ của query_devices2, query_devices3, v.v.) được đặt thành DeviceList0.

DeviceList1

Tần số lấy mẫu mặc định của thiết bị. Điều này được sử dụng nếu DeviceList2 không được đặt.

Ghi chú

Danh sách các thiết bị cũng có thể được hiển thị trong một thiết bị đầu cuối:

Ví dụ

DeviceList được trả về có thể được lập chỉ mục và lặp lại như bất kỳ loại trình tự nào (mang lại từ điển đã đề cập đến), nhưng nó cũng có một biểu diễn chuỗi đặc biệt được hiển thị khi được sử dụng trong phiên Python tương tác.

Mỗi thiết bị có sẵn được liệt kê trên một dòng cùng với ID thiết bị tương ứng, có thể được gán cho default.device hoặc được sử dụng làm đối số thiết bị trong DeviceList5, query_devices3, v.v.

Ký tự đầu tiên của một dòng là DeviceList7 cho thiết bị đầu vào mặc định, DeviceList8 cho thiết bị đầu ra mặc định và DeviceList9 cho thiết bị đầu vào/đầu ra mặc định. Sau ID thiết bị và tên thiết bị, tên API máy chủ tương ứng được hiển thị. Ở cuối mỗi dòng, số lượng kênh đầu vào và đầu ra tối đa được hiển thị.

Trên máy tính GNU/Linux, nó có thể trông giống như thế này:

>>> import sounddevice as sd
>>> sd.query_devices()
   0 HDA Intel: ALC662 rev1 Analog (hw:0,0), ALSA (2 in, 2 out)
   1 HDA Intel: ALC662 rev1 Digital (hw:0,1), ALSA (0 in, 2 out)
   2 HDA Intel: HDMI 0 (hw:0,3), ALSA (0 in, 8 out)
   3 sysdefault, ALSA (128 in, 128 out)
   4 front, ALSA (0 in, 2 out)
   5 surround40, ALSA (0 in, 2 out)
   6 surround51, ALSA (0 in, 2 out)
   7 surround71, ALSA (0 in, 2 out)
   8 iec958, ALSA (0 in, 2 out)
   9 spdif, ALSA (0 in, 2 out)
  10 hdmi, ALSA (0 in, 8 out)
* 11 default, ALSA (128 in, 128 out)
  12 dmix, ALSA (0 in, 2 out)
  13 /dev/dsp, OSS (16 in, 16 out)

Lưu ý rằng ALSA cung cấp quyền truy cập vào một số thiết bị thực tế của người Viking và một số thiết bị ảo. Cái sau đôi khi có số lượng đầu vào và đầu ra (ảo) cao một cách lố bịch.

Trên macOS, bạn có thể nhận được một cái gì đó tương tự như thế này:

>>> sd.query_devices()
  0 Built-in Line Input, Core Audio (2 in, 0 out)
> 1 Built-in Digital Input, Core Audio (2 in, 0 out)
< 2 Built-in Output, Core Audio (0 in, 2 out)
  3 Built-in Line Output, Core Audio (0 in, 2 out)
  4 Built-in Digital Output, Core Audio (0 in, 2 out)
Lớp ________ 7 ________ 41 [Nguồn] ¶[source]

Một danh sách với thông tin về tất cả các thiết bị âm thanh có sẵn.

Lớp này không có nghĩa là được khởi tạo bởi người dùng. Thay vào đó, nó được trả lại bởi query_hostapis2. Nó chứa một từ điển cho mỗi thiết bị có sẵn, giữ các khóa được mô tả trong query_hostapis2.

Lớp này có một biểu diễn chuỗi đặc biệt được hiển thị dưới dạng giá trị trả về query_hostapis2 nếu được sử dụng trong phiên Python tương tác. Nó cũng sẽ được hiển thị khi sử dụng hàm query_hostapis5. Hơn nữa, nó có thể thu được với query_hostapis6 và query_hostapis7.

________ 7 ________ 49 (index = none) [nguồn] ¶(index=None)[source]

Trả về thông tin về API máy chủ có sẵn.

Parameters:Index (int, tùy chọn) - Nếu được chỉ định, thông tin chỉ về chỉ mục API máy chủ đã cho được trả về trong một từ điển. (int, optional) – If specified, information about only the given host API index is returned in a single dictionary.
Returns:Dict hoặc Tuple of Dict - Một từ điển có thông tin về chỉ mục API máy chủ đã cho hoặc - nếu không có chỉ mục nào được chỉ định - một bộ chứa một từ điển cho mỗi API máy chủ có sẵn. Các từ điển có các khóa sau: ________ 13 Tên của API máy chủ .________ 51A Danh sách ID thiết bị thuộc API máy chủ. Sử dụng query_hostapis2 để lấy thông tin về thiết bị .________ 53, check_input_settings4 ID thiết bị của thiết bị đầu vào/đầu ra mặc định của API máy chủ. Nếu không có thiết bị đầu vào/đầu ra mặc định tồn tại cho API máy chủ đã cho, thì đây là -1.

Ghi chú

(Các) thiết bị mặc định tổng thể - có thể được ghi đè bằng cách gán cho default.device - ưu tiên (các) (các) lần so với check_input_settings6 và thông tin trong các từ điển đã đề cập.

________ 7 ________ 58 (thiết bị = không, kênh = none, dtype = không(device=None, channels=None, dtype=None, extra_settings=None, samplerate=None)[source]

Kiểm tra nếu cài đặt thiết bị đầu vào được hỗ trợ.

Tất cả các tham số là tùy chọn, cài đặt check_input_settings9 được sử dụng cho bất kỳ tham số không xác định nào.Nếu các cài đặt được hỗ trợ, chức năng không làm gì cả;Nếu không, một ngoại lệ được nâng lên.

Parameters:
  • thiết bị (int hoặc str, tùy chọn) - ID thiết bị hoặc con tên thiết bị, xem default.device. (int or str, optional) – Device ID or device name substring(s), see default.device.
  • Các kênh (int, tùy chọn) - Số lượng kênh đầu vào, xem
    >>> sd.query_devices()
      0 Built-in Line Input, Core Audio (2 in, 0 out)
    > 1 Built-in Digital Input, Core Audio (2 in, 0 out)
    < 2 Built-in Output, Core Audio (0 in, 2 out)
      3 Built-in Line Output, Core Audio (0 in, 2 out)
      4 Built-in Digital Output, Core Audio (0 in, 2 out)
    
    8.
    (int, optional) – Number of input channels, see
    >>> sd.query_devices()
      0 Built-in Line Input, Core Audio (2 in, 0 out)
    > 1 Built-in Digital Input, Core Audio (2 in, 0 out)
    < 2 Built-in Output, Core Audio (0 in, 2 out)
      3 Built-in Line Output, Core Audio (0 in, 2 out)
      4 Built-in Digital Output, Core Audio (0 in, 2 out)
    
    8.
  • DTYPE (str hoặc numpy.dtype, tùy chọn) - Kiểu dữ liệu cho các mẫu đầu vào, xem check_output_settings2. (str or numpy.dtype, optional) – Data type for input samples, see check_output_settings2.
  • Extra_Sinstall (Cài đặt đối tượng, tùy chọn)-Điều này có thể được sử dụng cho các cài đặt đầu vào dành riêng cho máy chủ-API.Xem check_output_settings3. (settings object, optional) – This can be used for host-API-specific input settings. See check_output_settings3.
  • Lấy mẫu (phao, tùy chọn) - Tần số lấy mẫu, xem DeviceList2. (float, optional) – Sampling frequency, see DeviceList2.
________ 7 ________ 66 (thiết bị = không, kênh = none, dtype = không(device=None, channels=None, dtype=None, extra_settings=None, samplerate=None)[source]

Kiểm tra nếu cài đặt thiết bị đầu ra được hỗ trợ.

Giống như check_output_settings7, chỉ dành cho cài đặt thiết bị đầu ra.