그동안 건반을 치면 한 번에 하나의 소리만 출력됐다.
예를 들어 도를 치고 바로 레를 치면 도 소리가 멈추며 레 소리로 바로 넘어갔다.
멀티 작업이 되지 않았던 것이다.
알고 보니 저번에 소리 파일을 재생하는 코드를 개별로 설정만 해주면 끝나는 문제였다.
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 모듈에 설정하였었는데,
def click_C(self, event):
self.C.setStyleSheet("background-color: #d1d1d1;")
audio_c = pygame.mixer.Sound("audio/25.MP3")
audio_c.play()
이렇게 별도 변수를 만들어 적용하면 된다.
pygame.mixer.init은 setupUi 함수에 한 번만 적용하면 끝.
.
.
.
그런데 이제 문제가 있다.
지금 가지고 있는 피아노 건반 오디오 파일은 극히 일부이다.
진짜 피아노를 만들려면 더 많은 파일이 필요하지만 지금 가지고 있는 게 최선이다.
여기서 더 진행하기 위해서는 파일을 구하는게 먼저일 것 같다.
사람들이 하지 않는 것은 모두 이유가 있다.
파이썬으로 프로그램을 만들면 다들 파이썬은 구리다고 한다.
나도 동의한다.
파이썬은 딱 그정도인 것 같다.
프로그래밍을 처음 배웠을 때, 유일하게 나를 반겨준 언어가 파이썬이었는데..
이젠 파이썬의 실체를 알아버렸다.
어쨌든 Pyiano를 만들바에 그냥 구글에 피아노 프로그램 치면 아주 많이 나온다.
반응형
'미니 프로젝트 > Python 피아노' 카테고리의 다른 글
[2] Pyiano - 클릭 시 소리 출력 (0) | 2021.02.24 |
---|---|
[1] Pyiano - Ui 제작 (4) | 2021.02.23 |