Code Monkey home page Code Monkey logo

Comments (5)

yunjeong-chang avatar yunjeong-chang commented on July 23, 2024 2

안녕하세요! 저도 demo.py 가 없는 것을 확인하고 문의 하려다가 해당 이슈를 확인하였는데요.
혹시 아직 업로드가 안된 상태일까요?

from deeplearningproject.

hunhoon21 avatar hunhoon21 commented on July 23, 2024 2

안녕하세요! @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.py22.ui 파일 모두 scream_detection 프로젝트 디렉토리 내에 위치시키면 됩니다.

데이터 파일을 신경쓰다 데모와 관련된 파일들을 제가 놓쳤었네요. 이슈로 올려주신 덕분에 인지 할 수 있었습니다. 다시 한번 감사드립니다 :)

from deeplearningproject.

hunhoon21 avatar hunhoon21 commented on July 23, 2024

비명탐지에서 demo.py 파일을 사용하였는데, github와 책에는 코드가 없습니다.
어디서 찾아봐야 할까요?

@VEOjiwon
안녕하세요! 실수로 누락된것 같습니다. 추가로 올려두도록 하겠습니다. 확인 감사합니다 :)


현재 lfs 데이터 쿼터 초과로 데이터에 접근이 안되는 문제가 있는데요. 해결 후 업로드해두도록 하겠습니다 :)

from deeplearningproject.

hunhoon21 avatar hunhoon21 commented on July 23, 2024

해당 demo.py22.ui 파일 모두 깃헙에 업로드 되었습니다 :)

from deeplearningproject.

privetin avatar privetin commented on July 23, 2024

demo.py가 실행되지 않는데 저만 그런 건지 궁금하네요.

from deeplearningproject.

Related Issues (6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.