파이썬 녹음으로 가시화
7251 단어 Python
개시하다
'소리를 주제로 기계학습을 조사하는 장르'라는 숙제가 생겨 먼저 소리를 수집하는 방법을 조사해보려고 필기를 했다.
컨디션
라이브러리 설치
pyaudio를 사용하면 바로 이런 정보를 설치할 수 있기 때문이다.
종속 Portaudio 프로그램 라이브러리를 먼저 설치합니다.
PortAudio ./configure --disable-mac-universal && make
sudo make install
Mac에서 pyaudio를 설치할 때 "pa mac core.h가 없습니다"라고 하기 때문에 아래 명령으로 복사합니다.sudo cp include/pa_mac_core.h /usr/local/include/
계속,puyaudio 설치pip install pyaudio
이상.
녹음 및 시각화
raspberryPi와puyaudio로 녹음, 음성 파형 처리
위의 사이트에는 소리를 녹음하여 파일에 저장하는 방법이 기재되어 있으니 참고해 주십시오.import pyaudio
import sys
import time
import wave
chunk = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
RECORD_SECONDS = 3
p = pyaudio.PyAudio()
stream = p.open(
format = FORMAT,
channels = CHANNELS,
rate = RATE,
input = True,
frames_per_buffer = chunk
)
all = []
for i in range(0, int(RATE / chunk * RECORD_SECONDS)):
data = stream.read(chunk)
all.append(data)
stream.close()
p.terminate()
data = b''.join(all)
여기에 데이터 안에 소리가 있는 데이터가 있기 때문에 다음 순서에 따라 가시화합니다.import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x = np.frombuffer(data, dtype="int16") / 32768.0
plt.figure(figsize=(15,3))
plt.plot(x)
plt.show()
x = np.fft.fft(np.frombuffer(data, dtype="int16"))
plt.figure(figsize=(15,3))
plt.plot(x.real[:int(len(x)/2)])
plt.show()
백수를 몇 차례 치는 소리를 녹음한 결과는 가시화되어 다음과 같다.
위쪽은 소리의 파형이고 아래쪽은 FFT의 결과이다.
그럼 이제 어떡하지...(^_^;)
그 다음
나는 각본을 수정하여 아래의 문장을 써 보았다.같이 보세요(^-^)
파이톤으로 사운드 모니터링, 어느 정도 이상 음량 녹음
Reference
이 문제에 관하여(파이썬 녹음으로 가시화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mix_dvd/items/adce7636e2ab33b25208
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
./configure --disable-mac-universal && make
sudo make install
sudo cp include/pa_mac_core.h /usr/local/include/
pip install pyaudio
raspberryPi와puyaudio로 녹음, 음성 파형 처리
위의 사이트에는 소리를 녹음하여 파일에 저장하는 방법이 기재되어 있으니 참고해 주십시오.
import pyaudio
import sys
import time
import wave
chunk = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
RECORD_SECONDS = 3
p = pyaudio.PyAudio()
stream = p.open(
format = FORMAT,
channels = CHANNELS,
rate = RATE,
input = True,
frames_per_buffer = chunk
)
all = []
for i in range(0, int(RATE / chunk * RECORD_SECONDS)):
data = stream.read(chunk)
all.append(data)
stream.close()
p.terminate()
data = b''.join(all)
여기에 데이터 안에 소리가 있는 데이터가 있기 때문에 다음 순서에 따라 가시화합니다.import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x = np.frombuffer(data, dtype="int16") / 32768.0
plt.figure(figsize=(15,3))
plt.plot(x)
plt.show()
x = np.fft.fft(np.frombuffer(data, dtype="int16"))
plt.figure(figsize=(15,3))
plt.plot(x.real[:int(len(x)/2)])
plt.show()
백수를 몇 차례 치는 소리를 녹음한 결과는 가시화되어 다음과 같다.위쪽은 소리의 파형이고 아래쪽은 FFT의 결과이다.
그럼 이제 어떡하지...(^_^;)
그 다음
나는 각본을 수정하여 아래의 문장을 써 보았다.같이 보세요(^-^)
파이톤으로 사운드 모니터링, 어느 정도 이상 음량 녹음
Reference
이 문제에 관하여(파이썬 녹음으로 가시화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mix_dvd/items/adce7636e2ab33b25208
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(파이썬 녹음으로 가시화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mix_dvd/items/adce7636e2ab33b25208텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)