Bàn Phím Âm Nhạc RaspPi
Minh Họa/Giải Thích
Người tạo/Vai trò
- Andrew Darling
- Đã viết cấu trúc Lập trình Hướng Đối Tượng và logic cho mã.
- Riley Royall
- Đã xây dựng mạch cho RPBP.
- Mehmet Yilmaz
- Đã viết thành phần giao diện người dùng (GUI) và bộ sinh bản nhạc cho mã.
Giới Thiệu
Dự án Raspberry Pi Buzzer Piano (RPBP) là một dự án cuối kỳ cho Python Sensor Systems (CSCI-250), một lớp đại học được cung cấp bởi Colorado School of Mines, trong học kỳ Mùa Thu 2019. Dự án là một dự án nhóm gồm Andrew Darling, Riley Royall, và Mehmet Yilmaz. Nó được hoàn thành chính thức vào khoảng cuối tháng 11 năm 2019, đầu tháng 12 năm 2019.
Dự án của chúng tôi là một Raspberry Pi Buzzer Piano (RPBP). Ý tưởng RPBP này là một bàn phím âm nhạc có một tập hợp 13 phím, trong đó các phím chỉ là các nút bấm, có thể hoạt động như các phím Piano. Khi một phím được nhấn, nó sẽ khiến một hoặc nhiều còi kêu ở các tần số khác nhau tùy thuộc vào nút nào được nhấn. Sẽ có hai chiết áp (potentiometer), trong đó một cái sẽ được dùng để thay đổi giữa 3 chế độ của RPBP và cái thứ hai được dùng để thay đổi quãng (octave) của các còi. Ba chế độ trên RPBP là: Chơi Tự Do, Ghi âm, và Phát lại. Chế độ Chơi Tự Do cho phép người dùng chơi RPBP và chỉ nghe phím họ nhấn. Chế độ Ghi âm cho phép người dùng Chơi Tự Do RPBP đồng thời ghi lại vào một tệp npy cũng như tạo Bản Nhạc, dưới dạng PDF, cho bản ghi đó. Chế độ Phát lại cho phép người dùng nhập tên tệp đã ghi và mạch sẽ phát tệp đã ghi đó qua các còi. Tất cả Bản Nhạc sẽ được lưu vào một thư mục duy nhất, vì vậy người dùng luôn có thể xem lại các bản nhạc của họ nếu họ muốn. Mỗi nút/phím có một LED để báo cho người dùng khi một nút/phím đã được nhấn. Dự án này chỉ được chứng minh hoạt động trên Rasbian (Raspberry Pi OS) khi các yêu cầu, được liệt kê bên dưới, được cài đặt đúng cách.
Yêu cầu
- LilyPond
- Python3
- Raspberry Pi B 3+
- Raspberry Pi OS (ISO)
- Làm LilyPond hoạt động với ARM (Raspberry Pi)
- NumPy
- Bash
- Bảng mạch
Thông tin
- Chế độ:
- Chơi Tự Do: Cho phép người dùng chỉ chơi RPBP.
- Ghi âm: Cho phép người dùng ghi lại những gì họ chơi, lưu bản ghi đó, và tạo bản nhạc cho những gì họ ghi.
- Phát lại: Cho phép người dùng phát lại bất kỳ bản ghi nào họ tải xuống hoặc đã tạo.
- Tắt tiếng: Tắt tất cả các còi trên RPBP.
- Cách chuyển giữa các chế độ:
- Thay đổi các cài đặt/giá trị trên GUI và nhấn nút Gửi.
- Ghi chú khác:
- Để tìm hiểu thêm về RPBP từ GUI, nhấn nút README và README này sẽ mở ra.
Mạch
- Bạn có thể xem hình ảnh của bảng mạch được sử dụng cho dự án này trong phần Hình Ảnh Mạch.
- Pi Wedge được kết nối với một Raspberry Pi 3 B+ thông qua một cáp ruy băng.
- Raspberry Pi chạy mã được cung cấp trong kho lưu trữ này với các driver được liệt kê trong README này.
- Xin lỗi vì sơ đồ mạch lộn xộn như vậy, thật tiếc chúng tôi đã không ghi chép phần này tốt lắm.
Cách sử dụng:
- Đầu tiên, đảm bảo tất cả các yêu cầu đã được đáp ứng, sau đó thực thi script bash start.sh và một GUI sẽ xuất hiện.
- Thứ hai, chọn chế độ bạn muốn sử dụng dưới nhãn “Chế độ”.
- [ những bước này dành cho những người chọn chế độ “Chơi Tự Do” ]
- Third_10: Nhấn nút Gửi và bắt đầu chơi trên RPBP
- [ những bước này dành cho những người chọn chế độ “Ghi âm” ]
- Third_20, Ghi tên bạn muốn đặt cho tệp ghi âm của mình dưới nhãn “Tên bản ghi”.
- Third_21, Nhấn nút có tên Gửi và một đèn LED đỏ sẽ sáng lên.
- Third_22, Chơi trên RPBP và khi bạn xong, nhấn nút Dừng trên GUI.
- Third_23, Sau khi bạn nhấn nút Dừng, bản ghi của bạn sẽ được lưu và bản nhạc của bạn sẽ được tạo và mở dưới dạng PDF để bạn xem và nó sẽ được lưu trong thư mục SHEETS.
- [ những bước này dành cho những người chọn chế độ “Phát lại” ]
- Third_30, Chọn tệp bài hát bạn muốn phát dưới nhãn “Gửi”
- Third_31, Nhấn nút Gửi và bắt đầu nghe tệp bài hát bạn đã chọn.
- [ những bước này dành cho những người chọn chế độ “Tắt tiếng” ]
- Third_40, Chỉ cần nhấn nút Gửi và tất cả các còi sẽ bị tắt tiếng cho đến khi bạn chuyển sang chế độ khác
- Fourth, sau khi bạn hoàn tất với RPBP, nhấn nút Thoát để đóng GUI và chương trình
Hình Ảnh Mạch