Mục lục:

Máy trống Raspberry Pi: 5 bước
Máy trống Raspberry Pi: 5 bước

Video: Máy trống Raspberry Pi: 5 bước

Video: Máy trống Raspberry Pi: 5 bước
Video: Cách cài hệ điều hành cho Raspberry Pi vô cùng dễ! 2024, Tháng mười một
Anonim
Máy trống Raspberry Pi
Máy trống Raspberry Pi

Trình trình tự mẫu, thông qua Raspberry Pi + Python.

Trình tự liên kết có 4 phức điệu và cho phép người dùng lưu trữ và sắp xếp 6 trình tự khác nhau mà họ có thể xen kẽ giữa các chuỗi trong thời gian thực và hỗ trợ khả năng thay đổi giữa các mẫu khác nhau.

Tôi đã viết kịch bản theo cách hoàn toàn có thể hoạt động được với bất kỳ bộ điều khiển và âm thanh MIDI nào. Tôi sử dụng 18 ngân hàng âm thanh khác nhau, mỗi ngân hàng 16 mẫu, tuy nhiên việc thêm hoặc bớt các ngân hàng và mẫu thử rất dễ dàng và không cần sửa đổi nhiều. Nếu bạn gặp khó khăn hãy gửi email cho tôi: [email protected]

Tìm mã trên GitHub tại:

Vui lòng cho tôi biết nếu bạn sử dụng nó, và đặc biệt là nếu bạn tạo video với nó!

Bước 1: Phụ thuộc

Chương trình này yêu cầu các Mô-đun Python (không được tích hợp sẵn) sau:

mido

pygame

numpy

Tuy nhiên, Mido gây ra một số phức tạp vì bản thân Mido đòi hỏi một số phụ thuộc. Để đảm bảo tất cả chúng đều được cài đặt, chỉ cần nhập các lệnh sau vào thiết bị đầu cuối của Raspberry Pi (bỏ qua '$') và tất cả sẽ ổn. Các mô-đun khác có thể được cài đặt bình thường.

$ sudo apt-get cập nhật

$ sudo apt-get install build-essential

$ sudo apt-get install libasound-dev hoặc libasound2-dev

$ sudo apt-get install libjack0

$ sudo apt-get install libjack-dev

$ sudo apt-get install python-pip

$ sudo apt-get install python-dev

$ sudo pip cài đặt python-rtmidi

$ sudo pip cài đặt mido

Bước 2: Định cấu hình giá trị đầu vào Midi

Định cấu hình giá trị đầu vào Midi
Định cấu hình giá trị đầu vào Midi

Trong Python Script chính tồn tại một mảng được gọi là noteList bao gồm 16 số nguyên (dòng 165.) Đây là các giá trị ghi chú MIDI mà bộ điều khiển của chúng tôi gửi đến Pi để kích hoạt âm thanh. Tuy nhiên, mỗi bộ điều khiển midi đều khác nhau, vì vậy trừ khi bạn cũng có Akai LPD8, bạn rất có thể cần phải thay đổi các giá trị này để phù hợp với thiết bị của mình.

Github repo cũng bao gồm một tập lệnh khác có tên "midihelp.py" được tạo riêng cho mục đích này! Tất cả những gì nó làm là in các giá trị đầu vào từ bộ điều khiển MIDI đầu tiên mà máy tính nhận ra vào bảng điều khiển. Tất cả những gì bạn phải làm là thay thế những giá trị này trong mảng nếu chúng khác với những giá trị có trong noteList.

Thứ tự các ghi chú cũng tương quan với hiệu ứng âm thanh nào được phát trên mỗi thư mục, vì vậy hãy ghi nhớ điều đó.

Bước 3: Thêm các thư mục bổ sung với các mẫu

Các bộ công cụ mẫu trong tập lệnh được lưu trữ qua các thư mục trong cùng một thư mục, hãy thiết lập chính xác cách bộ công cụ 808 nằm trong tệp GitHub. Bằng cách này, tôi có thể có tất cả các loại tập mẫu khác nhau được lưu trữ trong các thư mục dễ dàng sắp xếp và thay thế.

Điều duy nhất cần thay đổi trong chính script là biến foldNum chỉ cho script biết có bao nhiêu thư mục mẫu. Hiện tại, tập lệnh có foldNum được đặt thành một vì chỉ có một thư mục con trong cùng một thư mục (bộ 808.). thay đổi điều này, hãy cho tôi biết nếu bạn cần trợ giúp.

Tên của các thư mục không thực sự quan trọng (miễn là tất cả chúng đều khác nhau) vì Script chỉ đọc số lượng các thư mục trong cùng một thư mục và lấy các đường dẫn theo cách đó. Tuy nhiên, bản thân tên của các tệp cũng quan trọng, hãy xem thêm ở bước tiếp theo.

Bước 4: Thêm và định cấu hình các mẫu bổ sung trong các thư mục mới

Thêm và định cấu hình các mẫu bổ sung trong các thư mục mới
Thêm và định cấu hình các mẫu bổ sung trong các thư mục mới

Âm thanh được tải vào trình lấy mẫu thông qua các thư mục trong cùng thư mục chứa tệp.wav có tên được đánh số từ 0-15. Xem thư mục 808 đi kèm để biết ví dụ về điều này. MỌI thư mục con có các mẫu phải giống hệt nhau.

Chỉ mục của đầu vào MIDI trong mảng noteList tương ứng chính xác với tên tệp.wav.

Ví dụ:

  • khi bạn kích hoạt ghi chú MIDI được lưu trữ trong noteList [0] thì tệp wav 0.wav sẽ phát.
  • khi bạn kích hoạt ghi chú MIDI được lưu trữ trong noteList [8] thì tệp wav 8.wav sẽ phát.

Tôi đã làm điều này một phần để mọi bộ điều khiển MIDI đơn lẻ có thể được thiết lập dễ dàng để làm việc với tập lệnh và cũng vì vậy tôi có thể dễ dàng mở rộng hoặc giới hạn mẫu và số đầu vào, cũng như sắp xếp các tệp và tập lệnh sao cho trống khởi động. chẳng hạn, âm thanh sẽ luôn được lưu dưới dạng 0.wav và sẽ được kích hoạt bởi nốt MIDI đầu tiên.

Tôi đã chọn 16 giá trị hơi tùy ý để tương ứng với 16 đầu vào trên bộ điều khiển của tôi, vì vậy nếu bạn muốn tạo bộ tuần tự chỉ với 1 mẫu hoặc với nhiều giá trị khác, tất cả những gì bạn phải làm là đánh số các tệp âm thanh cho phù hợp và trừ hoặc cộng các số được lưu trữ trong mảng noteList để khớp.

Nếu bộ công cụ 808 đi kèm hoạt động bình thường nhưng bạn gặp khó khăn với các mẫu của riêng mình, giải pháp rất có thể là thay đổi tốc độ mẫu của tệp để phù hợp với tốc độ mẫu 22, 050khz của PyGame và độ sâu bit là 16. Bạn có thể thực hiện việc này trong Audacity hoặc bất kỳ phần mềm chỉnh sửa âm thanh nào khác. Chúng sẽ hoạt động hoàn hảo từ đó!

Bước 5: Tham khảo bảng số

Được rồi, có rất nhiều thứ đang diễn ra trong trình tự sắp xếp, nhiều hơn những gì tôi nghĩ ban đầu, vì vậy tôi đã nhồi nhét khá nhiều vào một Bảng số để phù hợp với chức năng tăng lên. Hãy ghi nhớ điều này, Dấu hoa thị * và Dấu chấm. cả hai đều hoạt động như các phím chức năng.

THẨM QUYỀN GIẢI QUYẾT

CHỨC NĂNG CHÍNH

[8] - Bật và tắt Máy đếm nhịp

[9] - Bật và tắt Chế độ ghi

[Enter] - Phát / Tạm dừng trình tự

[0] - Xóa ghi chú hiện tại theo trình tự

[Num Lock and *] - Tắt máy

[Lưu ý MIDI và.] - Không định lượng thành số chẵn

CÁC CHỨC NĂNG TEMPO

[+] - Tăng tốc độ khóa học BPM

[-] - Khóa học Làm chậm BPM

[+ và *] - Tăng tốc nhanh chóng BPM

[- và *] - Làm chậm nhanh chóng BPM

[+ và.] - BPM tăng tốc tốt

[- và.] - Tốt Làm chậm BPM

CÁC CHỨC NĂNG CỦA SEQUENCE

[1-6] Gọi lại trình tự 1-6

[1-6 và.] Chuỗi cửa hàng 1-6

[0 và.] Xóa trình tự hiện tại

THAY ĐỔI THƯ MỤC MẪU

[1-9 và *] - Thay đổi thành Gói mẫu trong Thư mục 1-9

[1-9 và * và.] - Thay đổi thành Gói mẫu trong Thư mục 10-18

LỜI KHUYÊN CỦA SEQUENCE:

-Xóa chuỗi hiện tại [0 và.] Và lưu trữ nó vào bất kỳ chuỗi nào bạn muốn xóa khỏi bộ nhớ.

-Gọi một chuỗi và lưu trữ nó vào một số khác để sao chép nó.

Đề xuất: