Comments (5)
안녕하세요! 저도 demo.py 가 없는 것을 확인하고 문의 하려다가 해당 이슈를 확인하였는데요.
혹시 아직 업로드가 안된 상태일까요?
from deeplearningproject.
안녕하세요! @yunjeong-chang 문의주셔서 감사합니다.
현재 깃허브 이슈가 발생해서 업로드를 하지 못한 상황인데요, 바로 처리를 하지 못하고 있습니다 ㅠㅠ
임시방편으로 demo.py
파일 텍스트와 데모에 필요한 UI 파일 먼저 전달드립니다. @VEOjiwon @yunjeong-chang
# demo.py
import numpy as np
import pyqtgraph as pg
import pyaudio
from PyQt5 import QtCore, uic
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
import librosa
import torch
SAMPLING_RATE = 22050
CHUNK_SIZE = 22050
form_class = uic.loadUiType("22.ui")[0]
def feature_engineering_mel_spectrum(signal, sampling_rate, n_mels):
cur_frame_temp = signal
mel_spectrum_temp = librosa.feature.melspectrogram(
y=cur_frame_temp,
sr=sampling_rate,
n_mels=n_mels,
n_fft=2048,
hop_length=512,
)
mel_spectrum_temp = librosa.core.power_to_db(mel_spectrum_temp)
feature_vector = mel_spectrum_temp
feature_vector = feature_vector[np.newaxis, :,:, np.newaxis]
return feature_vector
class MicrophoneRecorder():
def __init__(self, signal):
self.signal = signal
self.p = pyaudio.PyAudio()
self.stream = self.p.open(
format=pyaudio.paFloat32,
channels=1,
rate=SAMPLING_RATE,
input=True,
frames_per_buffer=CHUNK_SIZE
)
def read(self):
data = self.stream.read(CHUNK_SIZE, False)
y = np.fromstring(data, 'float32')
self.signal.emit(y)
def close(self):
print('멈춤')
self.stream.stop_stream()
self.stream.close()
self.p.terminate()
class MyWindow(QMainWindow, form_class):
read_collected = QtCore.pyqtSignal(np.ndarray)
def __init__(self, model):
super(MyWindow, self).__init__()
self.setupUi(self)
self.read_collected.connect(self.update)
self.model = model
# Bargraph
pg.setConfigOptions(background='w', foreground='k')
# hbox = QHBoxLayout()
self.pw1 = pg.PlotWidget(title="BarGraph")
self.pw1.showGrid(x=True, y=True)
self.graph_box.addWidget(self.pw1)
# self.setLayout(hbox)
self.pw1.setGeometry(4, 1, 10, 5) # x, y, width, height
ticks = [list(zip(range(2), ('Environmental sound', 'Scream sound')))]
xax = self.pw1.getAxis('bottom')
xax.setTicks(ticks)
self.show()
def update(self, chunk):
x = np.arange(2)
feature_vector = feature_engineering_mel_spectrum(chunk, SAMPLING_RATE, 64)
feature_vector = torch.tensor(feature_vector).float()
feature_vector = feature_vector.squeeze(3).unsqueeze(1)
y_softmax = float(
torch.sigmoid(self.model(feature_vector)).detach().numpy()
)
if y_softmax > 0.5:
pixmap = QPixmap("img/scream.png")
self.label_5.setPixmap(QPixmap(pixmap))
else:
pixmap = QPixmap("img/normal.png")
self.label_5.setPixmap(QPixmap(pixmap))
self.pw1.clear()
barchart = pg.BarGraphItem(
x=x, height=[1 - y_softmax, y_softmax], width=1, brush=(159, 191, 229)
)
self.pw1.addItem(barchart)
데모에 필요한 UI 파일은 https://drive.google.com/file/d/1V9a8tQ4elolzxPz0D2Nv72RivSzGCgTb/view?usp=sharing 위치에 있습니다. demo.py
와 22.ui
파일 모두 scream_detection
프로젝트 디렉토리 내에 위치시키면 됩니다.
데이터 파일을 신경쓰다 데모와 관련된 파일들을 제가 놓쳤었네요. 이슈로 올려주신 덕분에 인지 할 수 있었습니다. 다시 한번 감사드립니다 :)
from deeplearningproject.
비명탐지에서 demo.py 파일을 사용하였는데, github와 책에는 코드가 없습니다.
어디서 찾아봐야 할까요?
@VEOjiwon
안녕하세요! 실수로 누락된것 같습니다. 추가로 올려두도록 하겠습니다. 확인 감사합니다 :)
현재 lfs 데이터 쿼터 초과로 데이터에 접근이 안되는 문제가 있는데요. 해결 후 업로드해두도록 하겠습니다 :)
from deeplearningproject.
해당 demo.py
와 22.ui
파일 모두 깃헙에 업로드 되었습니다 :)
from deeplearningproject.
demo.py
가 실행되지 않는데 저만 그런 건지 궁금하네요.
from deeplearningproject.
Related Issues (6)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deeplearningproject.