MapleStory Finger Point

파이썬 피아노 3

[3] Pyiano - 소리 멀티 출력 [끝]

그동안 건반을 치면 한 번에 하나의 소리만 출력됐다. 예를 들어 도를 치고 바로 레를 치면 도 소리가 멈추며 레 소리로 바로 넘어갔다. 멀티 작업이 되지 않았던 것이다. 알고 보니 저번에 소리 파일을 재생하는 코드를 개별로 설정만 해주면 끝나는 문제였다. def click_C(self, event): self.C.setStyleSheet("background-color: #d1d1d1;") file = "audio/25.MP3" pygame.mixer.init(self.freq, self.bitsize, self.channels, self.buffer) pygame.mixer.music.load(file) pygame.mixer.music.play() 각 클릭 이벤트 함수마다 그냥 pygame 모듈에 설..

[2] Pyiano - 클릭 시 소리 출력

이번에는 간단하게 진행할 것이다. 지난번에는 건반 클릭 이벤트만 처리했는데, 누르면 피아노 소리가 나도록 설정해야 한다. 일단 먼저 피아노 소리 파일이 있어야 하는데 구글링 해보니 쉽게 찾을 수 있었다. 여기 있다. 출처 각각 mp3 파일과 wav 파일이 있는데, 파이썬에는 'wave'라는 모듈이 있어 wav 파일을 쉽게 읽고 쓸 수 있다. wave 모듈을 사용했는데, 왜인지 모르겠지만 재생이 되지 않아 부득이하게 그냥 간편한 pygame 모듈을 사용한다. 아 그리고 일단 loop 문은 지운 상태로 코드를 작성했다. 왜냐면 loop문이 끝나야 음악 파일이 재생이 된다.. import os import sys from PyQt5 import QtWidgets, QtGui, QtCore from pyiano..

[1] Pyiano - Ui 제작

어렸을 적 코흘리개였을 때, 난 피아노 학원에 다녔었다. 아마 체르니 90번까지 배웠던 기억이 난다. 그렇다. 체르니 90번은 없다. 그렇기 때문에 파이썬으로 피아노를 만들어 보려고 한다. 먼저 Qt Designer를 실행하여 기본 Ui 틀을 제작한다. ui파일을 다 제작하였으면 이제 파이썬 파일로 변환해준다. pyuic5 -x pyiano.ui -o pyiano.py 위의 명령을 cmd에서 실행해준다. 그럼 이제 이벤트 처리를 할 코드를 작성해야 한다. import sys from PyQt5 import QtWidgets, QtGui, QtCore from pyiano import Ui_MainWindow class Pyiano(Ui_MainWindow): def __init__(self): super..