네오 트렐리스로 음악 만들기
4170 단어 hardwareelectronics
기본적으로 키보드에서 화려한 무지개를 켜고 그 중 하나를 누르면 지정된 색상으로 켜집니다. 그 코드를 연구한 후에 나는 키를 해킹하는 빠르고 더러운 방법이 직렬 모니터에 인쇄하여 키의 코드를 얻는 것이라고 결정했습니다. 키의 식별 코드는 실제로 각 키의 색상을 생성하고 반환하는 기능의 일부였습니다. 기본적으로 고유한 [코드+색상] 데이터를 선택하고 키를 누를 때마다 직렬 모니터에 인쇄하도록 프로그래밍했습니다. 그런 식으로 직렬 모니터를 열고 각 키를 눌러 코드를 가져옵니다. 어쨌든 내 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개
나는 뭔가를 만들었습니다!
마스토돈.그린
.
Reference
이 문제에 관하여(네오 트렐리스로 음악 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/terceranexus6/music-making-with-neo-trellis-30if텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)