Запись на виртуальный аудиокабель через Python (PyAudio, Sounddevice)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Запись на виртуальный аудиокабель через Python (PyAudio, Sounddevice)

Сообщение Anonymous »

Я пытаюсь записать данные на виртуальный аудиокабель с помощью Python. Пока мне все равно, какой модуль я использую, поэтому я попробовал PyAudio и Sounddevive. Я установил виртуальный кабель от VB-Audio. Он отображается в моем списке устройств. Проблемы возникают, когда я хочу инициализировать выходной поток с помощью кабеля. Выдается ошибка: OSError: [Errno -9998] Неверное количество каналов
Проверяю список устройств, индексы и количество каналов, у меня есть следующие варианты кабеля:3 Выход CABLE (VB-Audio Virtual, MME (2 входа, 0 выходов)

9 Вход CABLE (VB-Audio Virtual C, MME (0 входов, 2 выхода) выход)

9 входов CABLE (VB-Audio Virtual C, MME (0 входов, 2 выхода)

20 входов CABLE (виртуальный кабель VB-Audio), Windows DirectSound ( 0 входов, 2 выхода)

24 CABLE Вход (виртуальный кабель VB-Audio), Windows WASAPI (0 входов, 2 выхода)

28 CABLE Выход (Виртуальный кабель VB-Audio), Windows WASAPI (2 входа, 0 выходов)

35 Выход CABLE (VB-Audio Point), Windows WDM-KS (8 входов, 0 выходов)
Инстинктивно я хотел бы записать на вход CABLE, но почему-то на входах нет доступных входных каналов, и прямое использование выходного канала с правильным количеством каналов также вызывает ту же ошибку. Любая. идея о чем Я мог бы сделать?
import numpy as np
import soundcard as sc
import soundfile as sf
import sounddevice as sd
import pyaudio

# Initialize PyAudio
p = pyaudio.PyAudio()

buffer_size = 512

# set devices to in- and output from
mic_input_index = 1
input_sample_rate = int(sd.query_devices(mic_input_index)['default_samplerate'])
v_cable_output_index = 14

# Open an audio stream for input
input_stream = p.open(format=pyaudio.paInt16,
channels=2,
rate=input_sample_rate,
input=True,
frames_per_buffer=buffer_size,
input_device_index=mic_input_index)

# Open an audio stream for output (virtual audio device)
output_stream = p.open(format=pyaudio.paInt16,
channels=8,
rate=input_sample_rate,
output=True,
output_device_index=v_cable_output_index)

while True:
try:
# Read audio data
data = input_stream.read(buffer_size)
audio_array = np.frombuffer(data, dtype=np.int16)
processed_audio = audio_array

# Play the processed audio to the virtual audio device
output_stream.write(processed_audio.tobytes())

except KeyboardInterrupt:
break


Подробнее здесь: https://stackoverflow.com/questions/771 ... ounddevice
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Python: как использовать такие библиотеки, как pyaudio или sounddevice, для автоматической записи?
    Anonymous » » в форуме Python
    0 Ответы
    45 Просмотры
    Последнее сообщение Anonymous
  • Я использую PyvidPlayer2, и это дает мне ошибку, когда я не имею Pyaudio, но я уже скачал Pyaudio
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Запись и экспорт с помощью PyAudio
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как остановить запись с помощью PyAudio в операторе Final:
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как остановить запись с помощью PyAudio в операторе Final:
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»