네오 트렐리스로 음악 만들기

4170 단어 hardwareelectronics
한동안 네오 트렐리스를 가지고 놀았습니다. 삶의 변화와 우선순위 때문에 상자에 포장하고 몇 달 동안 그것에 대해 개구리를 했다가 다시 돌아왔습니다. 몇 달 전에 만든 대략적인 코드를 잃어버렸기 때문에 처음부터 다시 시작하여 Adafruit에서 documentation을 다시 읽기로 했습니다. 나는 마침내 모든 것을 기억하고 작업을 시작했습니다. 우선 저는 이미 seesaw NeoTrellis 라이브러리의 예 중 하나인 "인터럽트"를 좋아합니다.





기본적으로 키보드에서 화려한 무지개를 켜고 그 중 하나를 누르면 지정된 색상으로 켜집니다. 그 코드를 연구한 후에 나는 키를 해킹하는 빠르고 더러운 방법이 직렬 모니터에 인쇄하여 키의 코드를 얻는 것이라고 결정했습니다. 키의 식별 코드는 실제로 각 키의 색상을 생성하고 반환하는 기능의 일부였습니다. 기본적으로 고유한 [코드+색상] 데이터를 선택하고 키를 누를 때마다 직렬 모니터에 인쇄하도록 프로그래밍했습니다. 그런 식으로 직렬 모니터를 열고 각 키를 눌러 코드를 가져옵니다. 어쨌든 내 NeoTrellis는 4x4 매트릭스이기 때문에 앞서 언급한 이상한 코드 대신 키를 눌렀을 때 모니터에 고유한 ID 문자를 인쇄하는 방식으로 키를 매핑하고 조건부를 만들었습니다. 결국 키는 다음과 같이 설정되었습니다.








이자형
에프
G
시간


제이
케이



N
영형



최종 결과는 위의 왼쪽 모서리에 있는 키를 누르면 직렬(제 경우에는 tty/ACM0) 모니터에 "A"가 인쇄되고 오른쪽 하단 모서리에 있는 키를 누르면 "P"가 인쇄된다는 것입니다. 등등. 이 작업이 완료되면 파이썬으로 변경했습니다. pyserial을 사용하여 tty/ACM0 내용을 읽었습니다.

device='/dev/ttyACM0'
arduino = serial.Serial(device, 9600,timeout=1)


내 원래 아이디어는 단순한 "경고음"소리와 유사한 소리를 재생하는 것이었습니다. 내 시스템에서 알림 소리를 검색하고 mplayer 명령을 사용하여 벨이나 기타와 같은 일부 샘플 사운드의 wav 파일을 재생했습니다.

     valor = arduino.readline()
     valor = valor.decode('utf-8')
     if "A" in valor:
        print("playing sample music")
        subprocess.run(["mplayer", "/<path_to_my_music>/a.wav"])


이것이 효과가 있었기 때문에 나는 조금 더 나아가기로 결정했습니다. Audacity를 열고 마이크와 우쿨렐레를 가져갔습니다. 몇 가지 기본 코드를 녹음하고 project 메인 폴더의 음악 폴더에 저장하기 시작했습니다. 입으로 재미있는 소리를 내서 녹음하기도 했습니다. 기본 시스템 대신 해당 폴더에서 경로를 읽도록 파이썬 코드를 변경했습니다.

     valor = arduino.readline()
     valor = valor.decode('utf-8')
     if "A" in valor:
        print("playing ukelele chord F")
        subprocess.run(["mplayer", "/<new_path_to_my_music>/ukelele1.wav"])
     ...


키 신호 중 하나로만 탈출하는 while true 루프로 이것을 마무리했습니다(제 경우에는 키의 마지막 행을 옵션 버튼으로 사용하기로 결정했기 때문에 "M"을 사용했습니다).

그리고 그게 다야! 이제 네오트렐리스를 사용하여 내 컴퓨터에서 내가 녹음한 것을 재생할 수 있습니다. 하지만 이것은 단지 예일 뿐입니다. 연재물에 이 맵이 있으면 실제로 폴더를 열거나 파이어폭스 탭을 열거나 필요한 모든 것을 열도록 프로그래밍할 수 있습니다. "git 관리"도우미를 만들 생각입니다. 하지만 몇 초의 지연이 있습니다!



Here's a short video 녹음과 네오트렐리스를 보여줍니다.





폴라: "내가 뭔가를 만들었어!" - 마스토돈.그린



첨부: 동영상 1개

나는 뭔가를 만들었습니다!



마스토돈.그린



.

좋은 웹페이지 즐겨찾기