Потоковый микрофон и фоновый аудиофайл с использованием Python - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь транслировать аудио с микрофона, подключенного к моему компьютеру.Я также должен позаботиться о том, чтобы

  1. , если я воспроизводил аудиофайл, когда что-то говорил в микрофоне, тогда мой код мог бы идентифицировать как звук микрофона, так и звук из файла.играть в фоновом режиме.

(Я попытался сделать это, увеличив количество каналов в моем коде, и даже протестировал количество устройств ввода, но звук из фонового файла не был записан, только мой микрофон был захвачен.)

сохраните его в файле WAV,

, а затем преобразуйте файл WAV в текст.

Мне удалось записать звук с микрофона и преобразовать речь в текст с помощью Google API.Но я сталкиваюсь с проблемой в части фоновой музыки.

Я использовал Обнаружение и запись звука в Python , чтобы сделать часть микрофона.Для захвата звука из фонового файла я случайно проверил количество устройств ввода на моей машине, используя приведенный ниже код </p> <pre><code>import pyaudio import wave p = pyaudio.PyAudio() info = p.get_host_api_info_by_index(0) numdevices = info.get('deviceCount') for i in range(0, numdevices): if (p.get_device_info_by_host_api_device_index(0, i).get('maxInputChannels')) > 0: print("Input Device id ", i, " - ", p.get_device_info_by_host_api_device_index(0, i).get('name')) stream=p.open(format=pyaudio.paInt16, channels=2, rate=44100, input=True, frames_per_buffer=1024, output_device_index=0) frames= [] for i in range(0,1000): data=stream.read(1024) frames.append(data) stream.stop_stream() stream.close() p.terminate() wf=wave.open('out.wav','wb') wf.setnchannels(2) wf.setsampwidth(p.get_sample_size(pyaudio.paInt16)) wf.setframerate(44100) wf.writeframes(b''.join(frames)) wf.close()

Вывод был:
Идентификатор устройства ввода 0 - Microsoft Sound Mapper - Вход
Идентификатор устройства ввода 1 - Микрофон гарнитуры (Jabra UC VO

Не удалось записать файлаудио в объекте потока, только мой собственный голос в микрофоне. Кто-нибудь может подсказать, где я ошибаюсь? Или предложить лучший подход к проблеме?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...