두 개의 스트리밍 오디오 신호 사이의 시간 이동을 감지하기 위해 프로젝트 작업을 해왔습니다. 나는 python3, Pyaudio와 함께 작업했으며, Motux828 사운드 카드를 사용하여 스테레오 입력을받는 Neumann KU-100 마이크를 사용하고 있습니다. 그래서 내 input_device_index
을 확인하면 MOTU 사운드 카드에 연결된 4 번째 하나 인 올바른 번호입니다.사운드 카드가있는 Pyaudio 녹음 wav 파일에 빈 녹음이 있습니다.
import time
import pyaudio
import wave
CHUNK = 1024 * 3 # Chunk is the bytes which are currently processed
FORMAT = pyaudio.paInt16
RATE = 44100
RECORD_SECONDS = 2
WAVE_OUTPUT = "temp.wav"
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,channels=2,rate=RATE,input=True,frames_per_buffer=CHUNK,input_device_index=4)
frames = [] # np array storing all the data
for i in range(0, int(RATE/CHUNK * RECORD_SECONDS)):
data = stream1.read(CHUNK)
frames.append(data1)
stream.stop_stream()
stream.close()
p.terminate()
wavef = wave.open(WAVE_OUTPUT, 'wb') # opening the file
wavef.setnchannels(1)
wavef.setsampwidth(p.get_sample_size(FORMAT))
wavef.setframerate(RATE)
wavef.writeframes(b''.join(frames1)) # writing the data to be saved
wavef.close()
내가 (자연스럽게) 거의 소음
이 또한 내가 특정와 제 3 자 소프트웨어와 함께 녹음 할 수 있습니다와 함께, 아니 사운드 웨이브 파일을 기록 할 것 :
그러나 나는 기록 할 때 마이크로폰. 완벽하게 작동합니다.
참고 : 사운드 카드는 24 비트 깊이는 일반적으로, 나는 또한 순수한 노이즈 웨이브 파일을 기록 paInt24
시도이다
잘못 입력 장치 일부 누락 '서브 index' 입력 channell 위치로 리디렉션? 사용하기 전에 입력 장치를 관리해야하며, Linux에서는 'ALSA'로 리디렉션해야합니다. – dsgdfg
[plot_input.py] (https://github.com/spatialaudio/python-sounddevice/blob/master/examples/plot_input.py)를 사용하여 실제로 입력 장치에 신호가 있는지 확인할 수 있습니다. – Matthias