Trăn sóng tam giác

Tổng hợp âm thanh dựa trên 5 dạng sóng. sin, tam giác, răng cưa (saw), xung và hình vuông (là trường hợp cụ thể của xung)

Để sử dụng chúng hiệu quả trong các tác phẩm tổng hợp âm thanh hoặc lập trình âm thanh, bạn cần biết các thuộc tính cơ bản của chúng

  • công thức toán học để tạo ra nó,
  • trực quan hóa miền thời gian,
  • phổ biên độ. sóng hài nào có mặt và biên độ của chúng phân rã như thế nào, và
  • nó nghe như thế nào

Trong bài viết này, bạn sẽ tìm hiểu tất cả các thuộc tính này về 5 dạng sóng cơ bản

Ghi chú. bài viết này hiển thị các dạng sóng ở dạng liên tục (tương tự), có nghĩa là các vấn đề như tạo răng cưa hoặc tạo hiệu quả không được xem xét. Hãy nhớ rằng tất cả các dạng sóng này (ngoài hình sin) đều có phổ biên độ vô hạn

Tại sao tìm hiểu về dạng sóng cơ bản?

Tìm hiểu về các dạng sóng cơ bản trong tổng hợp âm thanh sẽ giúp bạn

  • khai thác khả năng của các bộ tổng hợp hiện đại,
  • đạt được âm sắc mong muốn ngay cả trong các buổi biểu diễn trực tiếp,
  • hiểu hành vi của bộ tạo dao động (thường được đánh dấu là VCO, bộ tạo dao động được điều khiển bằng điện áp) và bộ điều biến (thường được đánh dấu là LFO, bộ tạo dao động tần số thấp),
  • sử dụng các dạng sóng này trong các dẫn xuất toán học của phân tích, tổng hợp và hiệu ứng âm thanh,
  • viết mã hiệu quả để tạo các dạng sóng này cho thuật toán tổng hợp âm thanh và hiệu ứng âm thanh,
  • phát hiện bất kỳ sự không nhất quán nào trong các tín hiệu này trong một hệ thống,
  • tránh các vấn đề tiềm ẩn với răng cưa, và
  • khám phá xem răng cưa có thể đến từ đâu (e. g. , từ một phổ không giới hạn)

các dạng sóng

Chuyển đến dạng sóng lựa chọn

Sin

Hình sin là dạng sóng tổng hợp âm thanh cơ bản nhất

Công thức sin rất đơn giản

s(t)=sin⁡(2πft),(1)s(t) = \sin (2 \pi f t), \quad (1)s(t)=sin(2πft),(1)

trong đó fff là tần số của sin tính bằng Hz và ttt is time in seconds.

Một hình sin ở 220 Hz nghe như thế này

Trình duyệt của bạn không hỗ trợ thẻ âm thanh

Biểu diễn miền thời gian (dạng sóng) của hình sin trông như thế này

Trăn sóng tam giác
Hình 1. dạng sóng sin. biểu diễn miền thời gian của sóng hình sin

Phổ biên độ của một hình sin rất nhàm chán vì nó chỉ bao gồm một phần. tần số cơ bản

Trăn sóng tam giác
Hình 2. Phổ biên độ của một hình sin

Như bạn có thể thấy, nó chỉ có một điều hòa. Điều đó có ý nghĩa bởi vì tính toán phổ giả định rằng tín hiệu được phân tích là sự chồng chất (tổng) của các sin. Và một sin bao gồm chỉ… một sin 🙃

Tam giác

Một hình tam giác chỉ phức tạp hơn một chút so với hình sin

Công thức tam giác là [Wikipedia]

s(t)=4∣ft−⌊ft+12⌋∣−1,(2)s(t) = 4 \left. ft - \left\lfloor ft + \frac{1}{2} \right\rfloor \right. - 1, \quad (2)s(t)=4ftft+211,(2)

trong đó fff là tần số của tam giác tính bằng Hz và ttt is time in seconds.

Sóng tam giác ở tần số 220 Hz nghe như thế này

Trình duyệt của bạn không hỗ trợ thẻ âm thanh

Như bạn có thể nghe thấy, nó sáng hơn một chút so với hình sin

Dạng sóng tam giác trong miền thời gian trông như sau

Trăn sóng tam giác
Hình 3. Dạng sóng tam giác. biểu diễn miền thời gian của sóng tam giác

Cốt truyện trong Hình 3 thực sự trông giống như một hình tam giác

Điều này làm cho công thức từ phương trình 2 trực quan hơn. về bản chất, dạng sóng tam giác là sự khác biệt giữa hàm tuyến tính và hàm bước dịch chuyển. Sự khác biệt này tăng và giảm từng phần một cách tuyến tính và do đó chúng ta có được một hình tam giác

Phổ biên độ của dạng sóng tam giác chỉ chứa các hài bậc lẻ (Hình 4)

Trăn sóng tam giác
hinh 4. Phổ biên độ của một tam giác

Biên độ của sóng hài phân rã theo 1n2\frac{1}{n^2}n21, where nnn is the harmonic’s index (the fundamental has n=1n=1n=1, the first overtone has n=2n=2n=2, and so on).

Quảng trường

Sóng vuông thú vị hơn sóng sin hay tam giác vì đặc trưng của nó là âm sắc “rỗng”

Sóng vuông ở 220 Hz nghe như thế này

Trình duyệt của bạn không hỗ trợ thẻ âm thanh

Đối với tôi, công thức đơn giản nhất cho dạng sóng vuông chỉ là lấy dấu của sin

s(t)=sgn(sin⁡(2πft)),(3)s(t) = \text{sgn} (\sin (2 \pi f t)), \quad (3)s(t)=sgn(sin(2πft)),(3)

trong đó fff là tần số của hình vuông tính bằng Hz và ttt is time in seconds.

Tất nhiên, có thể có các công thức thay thế, chẳng hạn như các công thức sử dụng phép toán modulo

Dạng sóng vuông trong miền thời gian có dạng hình chữ nhật (Hình 5)

Trăn sóng tam giác
Hình 5. dạng sóng vuông. biểu diễn miền thời gian của sóng vuông

Phổ biên độ của sóng vuông chỉ bao gồm các sóng hài lẻ, chính xác như trường hợp của sóng tam giác (Hình 6)

Trăn sóng tam giác
Hình 6. Phổ biên độ của một hình vuông

Biên độ của sóng hài hình vuông phân rã chậm hơn trong trường hợp hình tam giác. chúng phân rã dưới dạng 1n\frac{1}{n}n1 . , where nnn is the harmonic’s index (n=1n=1n=1 corresponds to the fundamental).

Răng Cưa (Saw)

Dạng sóng răng cưa (hay đơn giản là “saw”) là dạng sóng yêu thích của tôi, nhờ âm thanh phong phú, “béo” của nó phát cực kỳ hay với bộ lọc thông thấp tốt

Sóng răng cưa ở tần số 220 Hz nghe như thế này

Trình duyệt của bạn không hỗ trợ thẻ âm thanh

A, đẹp quá ❤️

Công thức đơn giản nhất cho sóng răng cưa là cách tiếp cận modulo

s(t)=2(ft%1f)f−1,(0)s(t) = 2 \left( ft \% \frac{1}{f} \right) f - 1, s(t)=2(ft%f1)f1,(0)

trong đó fff là tần số của răng cưa tính bằng Hz, ttt is time in seconds, and %\%% is the modulo operator applied to real values.

Công thức cho biết: “tăng giá trị một cách tuyến tính ( ftftft), jump back to 0 every period (%1f\% \frac{1}{f}%f1), scale to the [0,1][0, 1][0,1] range (multiplication by fff), and then expand the range from [0,1][0, 1][0,1] to [−1,1][-1, 1][1,1] (multiplication by 222 and subtraction of 111).”

Dạng sóng răng cưa trong miền thời gian được hiển thị trong Hình 7

Trăn sóng tam giác
Hình 7. dạng sóng răng cưa. biểu diễn miền thời gian của sóng răng cưa

Đây được gọi là đường răng cưa dốc lên vì độ dốc của nó tăng lên trong mỗi chu kỳ. Nếu nó đang rơi xuống, nó sẽ được gọi là dốc xuống răng cưa. Since it’s just a matter of phase inversion, ramp-up and ramp-down variants have the same properties. Độ dốc quan trọng nhất khi chúng ta sử dụng dạng sóng răng cưa để điều chỉnh một số tham số khác, tôi. e. , khi chúng ta sử dụng răng cưa trong bộ tạo dao động tần số thấp (LFO). Sau đó, chúng ta có thể tạo cảm giác tăng lên theo chu kỳ (dốc lên) hoặc giảm xuống theo chu kỳ (dốc xuống)

Cái tên "cưa" xuất phát từ hình dạng giống như răng của dạng sóng

Phổ biên độ của răng cưa có thể được nhìn thấy trong Hình 8

Trăn sóng tam giác
Hình 8. Phổ biên độ của răng cưa

Phổ của dạng sóng răng cưa chứa hài lẻ và chẵn. Biên độ của sóng hài răng cưa phân rã thành 1n\frac{1}{n}n1, where nnn is the harmonic’s index (n=1n=1n=1 corresponds to the fundamental frequency).

Xung

Dạng sóng xung (còn gọi là chuỗi xung) là dạng tổng quát của dạng sóng vuông

Một dạng sóng xung ví dụ trong miền thời gian được hiển thị trong Hình 9

Trăn sóng tam giác
Hình 9. dạng sóng xung. biểu diễn miền thời gian của sóng xung với chu kỳ nhiệm vụ 20%

Chu kỳ nhiệm vụ của dạng sóng này là 20%. Điều đó có nghĩa là trong 20% ​​thời gian của nó, giá trị là 1. Đối với 80% còn lại, giá trị là -1

Chu kỳ nhiệm vụ chỉ định phần nào của khoảng thời gian mà giá trị của dạng sóng là 1

Cho D=0. 5D=0. 5Đ=0. 5 , chúng ta thu được dạng sóng vuông.

Dạng sóng xung với chu kỳ nhiệm vụ 20% ở 220 Hz nghe như thế này

Trình duyệt của bạn không hỗ trợ thẻ âm thanh

Sóng xung có thể được tạo ra theo nhiều cách khác nhau. Tôi đã sử dụng công thức dựa trên chuỗi Fourier [Pluta2019]

s(t)=(2D−1)+∑k=1∞4kπsin⁡(πkD)cos⁡(2πkf0t−πkD),10s(t) = (2D - 1) + \sum_{k= s(t)=(2D1)+k=1kπ4sin(πkD)cos(2πkf0tπkD),10

trong đó DDD là chu kỳ hoạt động, kk . k is the harmonic’s index, f0f_0f0 is the fundamental frequency in Hz, and ttt is time in seconds.

Phổ biên độ của sóng xung cho D=0. 2Đ=0. 2Đ=0. 2 được minh họa trong Hình 10.

Trăn sóng tam giác
Hình 11. Phổ biên độ của sóng xung với chu kỳ nhiệm vụ 20%

Tuy nhiên, phổ biên độ thay đổi linh hoạt theo chu kỳ nhiệm vụ. Tôi đã hình dung nó trên Hình 11

Trăn sóng tam giác

Hình 12. Dạng sóng miền thời gian và phổ biên độ của sóng xung cho các giá trị khác nhau của chu kỳ nhiệm vụ

Như bạn có thể thấy trong hình, đối với chu kỳ nhiệm vụ bằng 50%, chúng ta có sóng vuông và phổ biên độ chỉ có sóng hài lẻ của nó

Mức giảm đầu tiên từ bên trái trong phổ biên độ được xác định bởi chu kỳ nhiệm vụ. sự sụt giảm xảy ra tại D−1D^{-1}D1-th harmonic.

Ví dụ: đối với sóng vuông, D=0. 5D=0. 5Đ=0. 5 nên lần giảm đầu tiên xảy ra tại (12)−1=2\left(\frac{1} . (21)1=2-nd harmonic.

Trong hình, bạn cũng có thể thấy một trục trặc nhỏ xung quanh tần số DC (0 Hz). Đó là bởi vì đối với các giá trị rất cao hoặc rất thấp của chu kỳ nhiệm vụ, thành phần DC khá quan trọng (giá trị trung bình của các giá trị dạng sóng khác không đáng kể). Tôi đã cố tình ẩn thành phần DC khỏi các ô để làm rõ nhưng một số thành phần vẫn xuất hiện do rò rỉ quang phổ

Thành phần DC phải được ghi nhớ trong các ứng dụng âm nhạc vì nó không thêm thông tin âm nhạc (chúng ta không thể nghe thấy nó) nhưng nó có thể làm hỏng phần cứng mà nó chạy qua

Tóm lược

Trong bài viết này, bạn đã tìm hiểu mọi thứ về các dạng sóng cơ bản (sin, tam giác, vuông, cưa, xung) mà bạn cần để tổng hợp âm thanh. Làm quen với các dạng sóng này sẽ giúp bạn khai thác các khả năng của bộ tổng hợp và viết mã của riêng bạn

Những dạng sóng này là một phần của câu đố khi phát triển bộ tổng hợp âm thanh phần mềm của riêng bạn. Nếu bạn muốn biết thông tin nào khác là cần thiết để phát triển plugin âm thanh, hãy tải xuống Danh sách kiểm tra dành cho nhà phát triển plugin âm thanh cuối cùng miễn phí của tôi

Thư mục

[Pluta2019] Marek Pluta, Tổng hợp âm thanh để tái tạo và biểu diễn âm nhạc, chuyên khảo, Nhà xuất bản Đại học Khoa học và Công nghệ AGH, Kraków 2019

[VälimäkiHuovilainen2006] Vesa Välimäki và Antti Huovilainen, Các thuật toán tạo dao động và bộ lọc cho tổng hợp tương tự ảo, Tạp chí Âm nhạc Máy tính, 30. 2, trang. 19–31, Mùa hè 2006. PDF