» Nhạc cụ »Bộ tổng hợp bốn giọng nói trên Arduino Uno

Bộ tổng hợp bốn giọng nói trên Arduino Uno



Tác giả của Instructables với biệt danh rgco đã đưa ra một bộ tổng hợp 1,5 quãng tám giọng nói trên Arduino Uno. Để so sánh, các bộ tổng hợp trẻ em phổ biến khác nhau chỉ khác nhau về thiết kế và được tạo ra bởi cùng một con chip là ba giọng nói. Thật vậy, họ có thể tự động đồng hành cùng âm nhạc với nhịp điệu, ghi nhớ giai điệu một giọng nói và bắt chước giọng nói của động vật. Nhưng sau đó tự làm âm thanh đẹp hơn. Tại sao?



Đó là tất cả về các tham số. Lấy mẫu tần số 31 kHz, 9 bit, 4 giọng nói, tổng hợp FM với thời gian quét thay đổi theo thời gian, phong bì ADSR, 12 dụng cụ ảo, 18 phím trải dài 1,5 quãng tám.

Bậc thầy tổng hợp mạch tổng hợp trong Fritzing:



Trong đó, nó mô phỏng vị trí của các thành phần trên bảng loại bánh mì và các kết nối giữa chúng:



Và thu thập các chương trình trong cuộc sống thực:



Chỉ cần rót và sử dụng LỚN là điều đơn giản nhất bạn có thể làm với thiết kế. 18 phím (từ TRƯỚC quãng tám thứ tư đến FA thứ năm) - để chơi, lần thứ mười chín chuyển các nhạc cụ ảo trong một chiếc nhẫn: piano, xylophone, guitar, cymbals, chuông, funky, rung, kim loại, violin, bass, kèn, accordion. Bản chất của âm thanh bị ảnh hưởng bởi thời lượng của các lần nhấn phím, nhưng không phải là nỗ lực, không giống như các bộ tổng hợp chuyên nghiệp. Nhưng nhà phát triển muốn bạn thử lập trình các công cụ ảo của bạn. Mỗi trong số chúng được đưa ra bởi mười tham số. Trình hướng dẫn cho bạn biết nó phụ thuộc vào tham số nào.

ldness - khối lượng

Nếu tham số này nhỏ hơn 64, quá tải và các biến dạng liên quan sẽ bị loại trừ. Nhưng nếu bạn lập trình một nhạc cụ ảo không phát ra âm lượng tối đa trong thời gian dài, giá trị của tham số này có thể vượt quá 64, vì cả bốn giọng nói đều phát ra âm thanh không thường xuyên.

pitch0 - thay đổi cao độ

Phạm vi tương ứng với ở trên, nếu bạn đặt tham số này thành 12. Giảm di chuyển xuống, tăng - tăng. Zero tương ứng với một sự thay đổi xuống chính xác một quãng tám, 24 - chính xác là một quãng tám.

ADSR_a - tốc độ xoay âm lượng từ 0 đến tối đa

Càng nhỏ, càng chậm.Ví dụ: 8192 tương ứng với 4 ms, 256 đến 128 ms.

ADSR_d - tốc độ để giảm âm lượng từ mức tối đa xuống mức được chỉ định bởi tham số ADSR_s.

Nguyên tắc là như nhau.

ADSR_s - giá trị mà âm lượng giảm khi nhấn phím trong một thời gian dài

Ví dụ: 256 - âm lượng duy trì tối đa mọi lúc trong khi phím được giữ. 192 - âm lượng giảm xuống 80 phần trăm và vẫn như vậy trong khi phím được giữ. 0 - âm lượng giảm xuống 0, ngay cả khi phím được giữ.

ADSR_r - tốc độ để giảm âm lượng về 0 sau khi nhả phím

Nguyên tắc tương tự như đối với các tham số ADSR_a và ADSR_d.

FM_inc - tỷ lệ tần số điều chế so với âm

Với giá trị 256, tỷ lệ này là 1: 1, với 512 - 2: 1, với 128 - 1: 2, phần còn lại là tương tự. Nếu tham số này được đặt thành bội số của 64, âm thanh sẽ là tiếng anh.

FM_a1 - phạm vi điều chế tần số ở đầu ghi chú

256 tương ứng với một loạt các sóng hài. Khi giảm, âm thanh sạch hơn, với sự gia tăng hài hòa, nó trở nên nhiều hơn.

FM_a2 - điều chế tần số quét ở cuối ghi chú

Nguyên tắc là như nhau. Đối với hầu hết các nhạc cụ thực, hòa âm phân rã nhanh hơn âm cơ bản. Nếu bạn làm ngược lại, bạn sẽ nhận được âm thanh khác thường.

FM_dec - tốc độ chuyển đổi của dải điều chế tần số từ bộ được đặt bởi FM_a1 sang bộ được đặt bởi FM_a2

Nguyên tắc tương tự như đối với các tham số ADSR_a, ADSR_d và ADSR_r.

Tần số PWM là 31.250 Hz có được bằng cách chia tần số xung nhịp (16 MHz) cho 512. Chương trình được thiết kế theo cách các sự kiện được liên kết với thời gian mà không bị gián đoạn. Thay vào đó, một bit tràn bộ đếm thời gian có liên quan. Để chương trình quản lý thực hiện mọi thứ theo yêu cầu của nó, chỉ các số nguyên có độ dài 8 và 16 bit được sử dụng. Sóng hình sin được trình bày dưới dạng bảng gồm các số 8 bit. Các hoạt động phụ trợ - đọc trạng thái chính, thay đổi nhạc cụ ảo, chọn giọng nói, tính toán các tham số ghi chú thay đổi theo thời gian - được phân phối trong số 15 quy trình, mất 0,48 ms để hoàn thành. Tại thời điểm này, một số thao tác được thực hiện với độ chính xác 32 bit, cần thiết để nhân hai số nhị phân 16 bit.

Một sóng hình sin đơn giản nghe có vẻ buồn tẻ vì không có sóng hài trong phổ của nó. Tổng hợp FM cho phép bạn nhận được chúng và thay đổi phổ của chúng theo thời gian, mô phỏng âm thanh của các nhạc cụ thực sự. Nhiều tần số cho âm thanh anharmonic xảy ra, ví dụ, trong tiếng chuông. Thiết bị cũng bắt chước sự thay đổi phổ vốn có trong các nhạc cụ thực theo thời gian, khi một số sóng hài phân rã nhanh hơn các thiết bị khác.
10
9.3
8.4

Thêm một bình luận

    • cườinhững nụ cườixaxađược rồikhông biếtyahookhông
      ông chủvết xướcđồ ngốcvângvâng-vânghung hăngbí mật
      xin lỗinhảynhảy2nhảy3ân xágiúp đỡđồ uống
      dừng lạibạn bètốttốt lànhcòingấtlưỡi
      hút thuốcvỗ taycraytuyên bốgiễu cợtdon-t_mentiontải về
      nhiệttôi rấtcười1mdacuộc họpmoskingtiêu cực
      không phảibỏng ngôtrừng phạtđọcsợsợ hãitìm kiếm
      chế nhạocảm ơncái nàyto_cluecựu sinh viêncấp tínhđồng ý
      xấubeeeđen_eyeblum3đỏ mặttự hàobuồn chán
      bị kiểm duyệtdễ chịubí mật2đe dọachiến thắngyusun_bespectacled
      shokrespekthahacó trướcchào mừngkrutoyya_za
      ya_dobryingười trợ giúpne_huliganne_othodifludcấmđóng
1 bình luận
kiril_vihrov7892
Một dự án thú vị.
Gần đây tôi thấy dự án "Tổng hợp trên Arduino" là các phím, gần như toàn bộ bàn phím PC được sử dụng
Trong số các chi tiết của tất cả Arduino, loa và máy tính.
Ứng dụng PC thực hiện mọi công việc, nó điều khiển Arduino thông qua cổng com
lặp đi lặp lại, mọi thứ hoạt động tốt. Nhìn có thể giúp

Chúng tôi khuyên bạn nên đọc:

Đưa nó cho điện thoại thông minh ...