Mục lục:

Bộ tổng hợp Arpeggiating (Mosquito I): 6 bước
Bộ tổng hợp Arpeggiating (Mosquito I): 6 bước

Video: Bộ tổng hợp Arpeggiating (Mosquito I): 6 bước

Video: Bộ tổng hợp Arpeggiating (Mosquito I): 6 bước
Video: VIA SYNC3 Video Tour 2024, Tháng bảy
Anonim
Bộ tổng hợp Arpeggiating (Mosquito I)
Bộ tổng hợp Arpeggiating (Mosquito I)

Mosquito I là một bộ tổng hợp arpeggiating nhỏ sử dụng Arduino Nano và thư viện tổng hợp âm thanh Mozzi. Nó có thể phát hơn hai mươi chuỗi 8 bước nhưng bạn có thể thêm bao nhiêu chuỗi tùy chỉnh tùy thích. Nó tương đối đơn giản để thiết lập và không yêu cầu nhiều bộ phận.

Quân nhu:

  • Arduino Nano (hoặc bất kỳ Arduino nào thực sự nên hoạt động)
  • Chiết áp 5 ea (Tuyến tính 10K)
  • 2 ea Các nút ấn
  • 1 đèn LED
  • Điện trở 1 ea (330 ohm)
  • Điện trở 2 ea (1K)
  • Điện trở 1 ea (2K)
  • 1 ea Tụ điện (100 uF)
  • Tụ gốm 1 ea (33 nF)
  • 1 giắc cắm âm thanh nổi ea
  • Trèo lên dây
  • Breadboard

Bước 1: Thiết lập Arduino

Thiết lập Arduino
Thiết lập Arduino
Thiết lập Arduino
Thiết lập Arduino

Đầu tiên, hãy lấy Nano trên breadboard và thiết lập sức mạnh của chúng tôi:

  1. Đặt Nano trên breadboard. Đặt như trong hình trên. Nó sẽ nằm giữa kênh trung tâm của breadboard. Bạn sẽ muốn nó nằm ở một đầu của breadboard, với cổng USB hướng về phía đó. Bằng cách này, cáp sẽ không vướng vào khi chúng ta cắm nó vào. Nếu bạn đang sử dụng Arduino lớn hơn như Uno hoặc Mega, tất nhiên bạn sẽ không gắn nó vào breadboard.
  2. Kết nối đường ray điện với Arduino. Kết nối một trong các đường ray dương (màu đỏ) của breadboard của bạn với chân 5V của Arduino bằng cách sử dụng dây dẫn hoặc dây nhảy. Sau đó, kết nối một trong các đường ray âm (màu xanh lam) với một trong các chân GND của Nano.
  3. Kết nối các thanh ray điện với nhau. Để lấy điện dọc theo các đường ray ở cả hai bên của breadboard, hãy kết nối các đường ray ở hai bên của breadboard với nhau bằng cách chạy một dây từ thanh dương ở bên này sang thanh dương ở bên kia. Lặp lại điều này với các đường ray âm.

Bước 2: Thêm các điều khiển

Thêm các điều khiển
Thêm các điều khiển

Mosquito Tôi sử dụng năm chiết áp và hai nút để điều khiển.

Chiết áp:

  1. Đặt các chậu lên bảng bánh mì. Đặt các chậu sao cho mỗi chốt nằm trên hàng của chính nó.
  2. Kết nối chậu với ray điện. Kết nối chốt bên trái của mỗi nồi (nếu bạn đang nhìn vào mặt núm) với một trong các thanh ray âm trên breadboard. Kết nối chốt bên phải của mỗi nồi với một trong các đường ray dương của bảng mạch.
  3. Kết nối chậu với Arduino. Kết nối chân giữa của mỗi nồi với một trong các chân tương tự trên Arduino. Chốt chính giữa của nồi thứ nhất kết nối với A0, chân của nồi thứ hai với A1, v.v. với nồi cuối cùng được kết nối với A4.

Nút ấn:

  1. Đặt các nút trên breadboard. Đặt hai nút ấn trên breadboard để chúng nằm giữa kênh trung tâm.
  2. Kết nối những mặt tích cực. Trên một mặt của breadboard, kết nối một trong các chốt của nút nhấn với thanh ray dương.
  3. Kết nối các mặt tiêu cực. Đặt một trong các điện trở 1K trên bảng mạch sao cho một đầu được kết nối với chân không sử dụng của nút nhấn và đầu kia của điện trở kết nối với thanh ray âm.
  4. Nút kết nối với Arduino. Chạy một dây trên hàng nối nút với thanh ray âm vào chốt D2. Làm tương tự với nút còn lại nhưng kết nối nó với D3.

Bước 3: Thêm đầu ra

Thêm đầu ra
Thêm đầu ra

Chúng tôi đang xuất âm thanh từ chân số 9 cũng như nhấp nháy đèn LED ở bước đầu tiên của mọi chuỗi. Đây là cách thiết lập phần cứng cho việc đó.

DẪN ĐẾN

  1. Đặt một đèn LED vào một không gian trống trên bảng mạch.
  2. Kết nối chân âm (ngắn) của đèn LED với thanh ray âm.
  3. Đặt điện trở hạn chế dòng điện. Kết nối một bên của điện trở 330 ohm với chân dương (dài) của đèn LED. Kết nối phía bên kia của điện trở với chân D4 của Arduino.

Đầu ra âm thanh

  1. Đặt mạng RC. Tín hiệu đầu ra từ Arduino đến từ chân 9 nhưng tín hiệu có thể nóng hơn một chút so với một số loa có thể xử lý. Để đưa nó xuống một thứ gì đó gần hơn với mức dòng, tôi đã thêm một mạng RC (dựa trên thiết kế của Notes & Volts). Đặt các tụ điện 33nF và 100uF, cùng với điện trở 2K như trong hình / sơ đồ. Đảm bảo rằng tụ điện 100uF được kết nối với đúng cực (chân dương / dài đi vào chân 9 trên Arduino và chân âm / ngắn được kết nối với giắc cắm).
  2. Kết nối mặt âm của giắc cắm âm thanh với mặt đất. Kết nối giắc cắm âm thanh sẽ thay đổi một chút tùy thuộc vào loại bạn sử dụng, nhưng nhìn chung chúng đều hoạt động giống nhau. Chúng ta cần kết nối tay áo của giắc cắm với đất. Điều này đôi khi được đánh dấu bằng biểu tượng dấu trừ hoặc được gắn nhãn là "tay áo", "nhẫn" hoặc "gnd". Nếu không có nhãn nào trên giắc cắm âm thanh của bạn, bạn có thể cần tham khảo biểu dữ liệu hoặc chỉ cần kiểm tra kỹ giắc cắm và xem liệu bạn có thể xác định chân cắm nào được kết nối với ống bọc hoặc vòng ngoài của giắc cắm hay không.
  3. Kết nối mặt tích cực của giắc cắm âm thanh với mặt âm của tụ điện 100uF. Tín hiệu âm thanh của chúng tôi bây giờ đi từ chân 9 của Arduino qua mạng RC và xuất hiện từ mặt âm của tụ điện 100uF. Chúng tôi sẽ kết nối điều đó với mặt tích cực của giắc cắm âm thanh của chúng tôi. Điều này thường được đánh dấu bằng một biểu tượng dấu cộng hoặc có thể được gắn nhãn "mẹo". Một lần nữa, nếu nó không được gắn nhãn, bạn có thể cần phải kiểm tra nó để tìm ra chân nào sẽ kết nối với đầu giắc cắm. Ngoài ra, nếu bạn đang sử dụng giắc cắm âm thanh nổi, có thể có đầu nối L và đầu cắm R. Vì chúng tôi đang xuất tín hiệu đơn âm, bạn chỉ có thể kết nối với một trong các kết nối đầu.

Quan trọng: Nếu nhận thấy âm thanh quá nhỏ, bạn có thể loại bỏ mạng RC ở bước 1 và kết nối trực tiếp với âm thanh từ chân 9 của Arduino. Điều này sẽ ổn nếu bạn đang kết nối âm thanh với thứ gì đó bằng pre-amp như loa máy tính bên ngoài, nơi bạn có núm âm lượng, nhưng tôi sẽ không khuyên bạn nên dùng nó cho những thứ như tai nghe, tai nghe hoặc dây trực tiếp với loa. Nếu bạn quyết định loại bỏ mạng RC, tôi khuyên bạn nên giảm âm lượng trên loa xuống hết cỡ trước khi kích hoạt Arduino, sau đó tăng dần âm lượng để tránh làm phát ra tiếng loa của bạn.

Sau khi bạn đã thiết lập xong mọi thứ, hãy kiểm tra kỹ để đảm bảo rằng tất cả các kết nối đều chính xác và khớp với hình ảnh và sơ đồ ở trên

Bước 4: Tải lên mã

Bây giờ, phần cứng đã được thiết lập xong, chúng tôi đã sẵn sàng giải quyết phần mềm:

  1. Khởi chạy Arduino IDE. Trên máy tính của bạn, khởi chạy Arduino IDE (nếu chưa có, bạn có thể tải xuống từ
  2. Tải xuống thư viện Mozzi. Thư viện Mozzi là thứ cho phép chúng tôi sử dụng Arduino của mình như một bộ tổng hợp. Để tải thư viện này trong IDE của bạn, hãy truy cập trang github của Mozzi https://sensorium.github.io/Mozzi/download/. Nhấp vào nút "Mã" màu xanh lá cây và chọn Tải xuống ZIP.
  3. Cài đặt thư viện Mozzi từ tệp zip. Trong Arduino IDE, đi tới Sketch-> Bao gồm Thư viện-> Thêm Thư viện. ZIP… Điều hướng đến tệp zip bạn đã tải xuống để thêm nó. Bây giờ bạn sẽ thấy Mozzi được liệt kê trong phần Phác thảo-> Bao gồm Thư viện.
  4. Tải xuống mã Mosquito I Arduino. Bạn có thể lấy cái này từ trang github của tôi https://github.com/analogsketchbook/mosquito_one. (Lưu ý rằng các sơ đồ cũng có sẵn ở đó nếu bạn cần chúng để tham khảo hệ thống dây điện.
  5. Kết nối Arduino với máy tính và tải mã lên.

Bước 5: Lộn xộn xung quanh

Đó là nó. Bạn sẽ có thể kết nối loa của mình với giắc cắm âm thanh và nghe âm thanh ngọt ngào của sự tổng hợp đa dạng từ Nano ittybitty đó! Nếu ban đầu bạn không nghe thấy gì, hãy thử tập trung các nút vào tất cả các bình để đảm bảo rằng bạn đang nhận được các giá trị ban đầu phù hợp.

Đây là những gì các điều khiển làm:

Bình:

Tốc độ: Điều này kiểm soát tốc độ trình tự phát lại. Tắt nó sẽ phát các ghi chú rời rạc theo trình tự. Việc xoay nó lên sẽ làm nhòe các nốt nhạc lại với nhau để tạo ra các dạng sóng hoàn toàn mới.

Legato: Nồi thứ hai kiểm soát độ dài của nốt nhạc hoặc nốt nhạc. Xoay nó nhiều hơn sang trái sẽ tạo ra các nốt ngắn, có độ dài, trong khi xoay nó sang phải sẽ tạo ra các nốt dài hơn.

Cao độ: Điều này đặt cao độ cơ bản cho chuỗi. Điều khiển cao độ đang thiết lập các giá trị MIDI, vì vậy nó tăng / giảm cao độ theo từng nửa cung thay vì dịch chuyển cao độ liên tục.

Pha: Xoay núm này sang bên phải tạo ra hiệu ứng pha tinh tế. Về mặt kỹ thuật, điều này làm cho hai bộ dao động trong Mosquito I bị lệch một chút, đây là nguyên nhân gây ra sự phân kỳ. Tuy nhiên, nó không phải là theo dõi cao độ nên hiệu ứng phân kỳ có lẽ dễ nhận thấy hơn ở các nốt thấp hơn.

Bộ lọc: Núm này điều khiển tần số cắt của Bộ lọc thông thấp. Xoay sang trái sẽ cắt bỏ các tần số cao tạo ra âm thanh bị bóp nghẹt hơn, trong khi xoay sang phải sẽ tạo ra âm thanh sáng hơn.

Nút:

Mosquito có hơn hai mươi chuỗi khác nhau mà nó có thể phát theo mặc định. Các nút nhấn cho phép bạn chọn trình tự đang phát. Một nút di chuyển bạn lên danh sách các trình tự và nút kia sẽ di chuyển xuống danh sách.

Bước 6: Tùy chỉnh

Tùy biến
Tùy biến

Tôi đã thêm một loạt các chuỗi mặc định, hầu hết là các thang âm khác nhau, nhưng bạn có thể tùy chỉnh mã khá dễ dàng để thay đổi trình tự các nốt đang được chơi, thêm các nốt mới hoặc thay đổi số lượng nốt trong một chuỗi. Dưới đây là chi tiết về cách thực hiện trong trường hợp bạn muốn tùy chỉnh nó.

Thay đổi ghi chú trong trình tự hiện có

Các trình tự được lưu trữ trong một mảng các mảng được gọi là GHI CHÚ. Mỗi nốt được lưu trữ dưới dạng giá trị nốt MIDI, vì vậy nếu bạn muốn thay đổi các nốt trong một chuỗi cụ thể, chỉ cần thay đổi số nốt MIDI cho chuỗi đó. Thiết lập mặc định là phát 8 bước cho mỗi chuỗi, do đó bạn chỉ có thể có 8 giá trị MIDI trong một chuỗi (xem bên dưới nếu bạn muốn có độ dài chuỗi khác nhau).

Một điều cần lưu ý, núm cao độ thêm độ lệch nốt vào các giá trị MIDI được chỉ định trong mảng GHI CHÚ. Khi núm xoay được căn giữa, nó sẽ phát các nốt MIDI được chỉ ra trong mảng, nhưng khi bạn xoay núm cao độ, nó sẽ thêm hoặc bớt một nửa âm cho các nốt đang được chơi.

Thêm chuỗi mới

Bạn có thể thêm chuỗi mới vào mảng GHI CHÚ bằng cách chỉ cần thêm mảng 8 ghi chú mới vào cuối danh sách. Tuy nhiên, nếu bạn làm điều này, bạn cũng sẽ cần thay đổi giá trị của biến numSequences để khớp với số chuỗi mới. Ví dụ: mảng NOTES có 21 chuỗi theo mặc định nên biến numSequences được đặt thành 21. Nếu bạn thêm một chuỗi mới, bạn sẽ cần thay đổi biến numSequences thành 22.

Bạn có thể thêm bao nhiêu chuỗi mới tùy thích.

Thay đổi độ dài trình tự

Nếu bạn muốn thay đổi độ dài của trình tự (nếu bạn muốn nói trình tự 4 bước hoặc 16 bước), bạn có thể làm điều đó, nhưng lưu ý duy nhất là tất cả các trình tự cần có cùng độ dài. Bạn cũng sẽ cần đặt biến numNotes để phù hợp với độ dài của các chuỗi của bạn.

Các thay đổi khác

Có một số tùy chỉnh khác có thể thực hiện được chẳng hạn như chuyển đổi loại dạng sóng, cài đặt / giá trị bộ lọc, nằm ngoài phạm vi của hướng dẫn này. Việc tìm ra mã Mozzi lúc đầu có thể hơi khó khăn, nhưng tôi đã cố gắng ghi lại mã càng nhiều càng tốt để cho thấy các phần khác nhau của mã đang làm gì.

Có một vài phần chính của mã cho Mozzi có những cách sử dụng khá cụ thể và tôi đã liệt kê chúng bên dưới để cung cấp cho bạn và ý tưởng về những gì chúng được sử dụng cho:

  • setup () - Nếu bạn đã lập trình cho Arduinos trước khi quen thuộc với chức năng này và nó được sử dụng khá nhiều trong Mozzi. Chúng tôi chủ yếu sử dụng nó để thiết lập cài đặt mặc định cho bộ tạo dao động, bộ lọc, v.v.
  • updateControl () - Đây là nơi mà phần mềm chia sẻ mã Mozzi đang hoạt động. Đó là nơi chúng tôi đọc các giá trị nồi và nút, ánh xạ và chuyển đổi các giá trị đó để đưa vào bộ tổng hợp và nơi quá trình giải trình tự đang được thực hiện.
  • updateAudio () - Đây là kết quả cuối cùng từ thư viện Mozzi. Thông thường, mã ở đây được giữ rất nhỏ và gọn gàng bởi vì chức năng này đang được Mozzi sử dụng để tối đa hóa tất cả các chu kỳ đồng hồ mà nó có thể. Như bạn có thể thấy trong mã muỗi, nó có thể hơi khó hiểu nhưng về cơ bản tất cả những gì chúng ta đang làm là kết hợp / nhân các dạng sóng khác nhau của chúng ta và sau đó bithifting chúng để phù hợp với một phạm vi số cụ thể. Tốt nhất là giữ cho chức năng này thật nhẹ (không phải gọi Serial hoặc ghim đọc) và thay vào đó hãy đặt hầu hết nội dung vào hàm controlUpdate (). Tài liệu Mozzi trình bày chi tiết về vấn đề này một cách kỹ lưỡng hơn.

Đề xuất: