Các loại hoạt động cơ bản được thực hiện trên tín hiệu âm thanh để tạo ra âm thanh thú vị là gì?


10

Tôi không biết câu hỏi này có hợp lý không vì tôi rất mới với dsp.

Trong bước đột phá giới hạn của tôi vào dsp âm thanh tôi đã đi qua:

  1. Điều chế tần số
  2. Điều biến biên độ
  3. Tổng hợp phụ gia
  4. Tổng hợp trừ

Câu hỏi của tôi là: đây có phải là các loại cơ bản chính của thao tác tín hiệu (đặc biệt cho âm thanh)?

Nói cách khác, tất cả các hiệu ứng và những thứ ưa thích mà FL Studio với một bộ plugin đầy đủ có thể làm được, được chia thành một chuỗi và kết hợp của 4 thao tác trên? Hoặc có một bó nhiều hơn? Một DAW hiện đại với các plugin về mặt lý thuyết có thể được chia thành bất kỳ loại nào theo cách này không? Làm 4 loại trên thậm chí có ý nghĩa trong chính họ?!

Một chút nền tảng: Về cơ bản, tôi đang cố gắng tạo ra một trình tổng hợp / biên tập âm thanh rất cơ bản (nhưng rất linh hoạt) như một dự án để học cả dsp lập trình và âm thanh. Sử dụng java, tôi bắt đầu bằng cách bắt chước các lớp tổng hợp thế giới thực cơ bản, gọi những thứ như Dao động và LFO và tương tự, nhưng mỗi khi tôi học được điều gì đó mới, tôi thấy mình phải viết lại mọi thứ để phù hợp với khái niệm mới vào chương trình.

Tôi đang cố gắng bắt đầu lại bây giờ và đưa ra các đối tượng và cấu trúc cơ bản của chương trình. Để làm điều đó đúng, tôi cần biết làm thế nào tôi nên cho phép các đối tượng này tương tác, v.v ...

Cảm ơn!

CHỈNH SỬA * * *

Cảm ơn các ý kiến ​​và câu trả lời hữu ích. Tôi nhận ra có lẽ tôi đã đánh giá thấp khía cạnh dsp của công cụ và tôi sẽ không thể tạo một mẫu và cấu trúc cơ bản cho một trình tổng hợp đơn giản và sau đó chỉ cần mở rộng / xây dựng trên nó. Tôi có thể sẽ phải liên tục xây dựng lại nhiều lần khi tôi học những thứ mới và cách "phù hợp" để làm mọi thứ ... Sẽ mất nhiều thời gian hơn, nhưng có lẽ tôi sẽ học được nhiều hơn? Cũng xin lỗi, tôi dường như không có đủ đại diện để nâng đỡ bất cứ ai ... ngay khi tôi có thể, tôi sẽ làm.

CHỈNH SỬA * EDIT ***

Tôi nên thêm rằng một chút googling đã tiết lộ hướng dẫn cơ bản này về "các loại tổng hợp" mà tôi thấy có liên quan và thú vị.


Bạn có muốn nền tảng lý thuyết về các kỹ thuật tổng hợp, hoặc bạn muốn một cái gì đó giống như thế này (tức là các phương pháp phổ biến được sử dụng trong thực tế)? dsp.stackexchange.com/questions/192/ Từ
datageist

1
Nếu tôi tổng hợp tất cả các thao tác âm thanh có thể trong càng ít loại càng tốt, tôi sẽ đặt tên cho các phép biến đổi tuyến tính và phi tuyến tính. Nhưng những cái đó quá chung chung và rộng để có thể thực hiện.
Alexey Frunze

@datageist - Tôi đoán tôi sẽ cần cả hai! Nhưng đó là một liên kết rất hữu ích, cảm ơn.
kiman

@Alex Điều đó rất chung chung, nhưng đó là một điểm khởi đầu về mặt khái niệm và ít nhất bây giờ tôi biết rằng tôi đã sủa sai cây.
kiman

nhận sách của Will Pirkle, Thiết kế trình cắm tổng hợp phần mềm trong C ++: Dành cho các đơn vị âm thanh RackAFX, VST3 và Audio. bạn thực sự sẽ tạo ra một trình tổng hợp và tìm hiểu trên đường đi thay vì cố gắng tự mình tìm ra mọi thứ.
panthyon

Câu trả lời:


9

Danh mục AM / FM hơi lạ đối với các hiệu ứng - đúng, bạn có thể nhận được một số hiệu ứng thú vị bằng cách điều chỉnh biên độ của tín hiệu đầu vào; nhưng "điều chế tần số" nghĩa là gì đối với tín hiệu đầu vào phức tạp mà bạn thậm chí không có biểu diễn tần số chính xác? Bạn rất có thể nói rằng mọi hiệu ứng là một điều chế biên độ, bằng tín hiệu , nhưng điều này sẽ không giúp bạn thực hiện nó!out(t)in(t)

Không có công cụ đơn mục đích kỳ diệu nào ở trung tâm của tất cả các hiệu ứng âm thanh được cung cấp bởi phần mềm sản xuất âm nhạc. Nhưng nếu bạn xem mã nguồn của một bộ hiệu ứng âm thanh lớn từ nhà phát triển DSP, thì đây là một số "khối xây dựng" sẽ được phát hiện trong các lớp riêng của chúng và được chia sẻ bởi nhiều hiệu ứng khác nhau. Tôi không ngụ ý rằng điều này tạo thành một cơ sở tốt để phân loại hiệu ứng; nhưng từ quan điểm thực hiện, những khối đó rất cần thiết:

  • Bộ lọc Biquad.
  • Các dòng trễ phân số.
  • Động cơ kết hợp, để tích hợp nhanh tín hiệu đầu vào với các đáp ứng xung có kích thước tùy ý.
  • Waveshaper (ứng dụng hàm phi tuyến tính cho tín hiệu đầu vào trong miền thời gian).
  • Khối xây dựng tổng hợp: bộ dao động, LFO, phong bì ADSR.
  • Máy dò tín hiệu: người theo phong bì, máy chiết xuất.

Với những khối bạn có thể xây dựng:

  • Bộ lọc giống như Synth hoặc wah-wah: một hoặc hai biquads
  • Auto-wah: người theo phong bì + phong bì + biquad
  • Flanger / Phaser: LFO + dòng trì hoãn
  • Điệp khúc: LFO + dòng trì hoãn
  • Thuật toán hồi âm: dòng trễ (mảng bộ lọc lược đồ song song và nối tiếp)
  • Kết luận hồi âm: tích chập
  • Spatializer: tích chập (với các đáp ứng xung của HRTF)
  • Mô phỏng amp guitar: tích chập, waveshappers
  • Biến dạng, Fuzz: đạt được + waveshapper
  • Bitcrusher (quantizer): một trường hợp cụ thể của waveshapper
  • Bộ điều biến vòng với sóng mang hình sin: bộ dao động
  • Cổng tiếng ồn và các hiệu ứng động khác: theo dõi phong bì
  • Mô phỏng băng: tích chập, waveshapper, theo dõi phong bì (để xử lý động lực học)
  • EQ: biquads
  • Tremolo: LFO
  • Thi đua Leslie: tích chập + LFO
  • Trình mã hóa: biquads + người theo phong bì

Mặc dù một số hiệu ứng này chỉ là vấn đề vá các khối khác nhau (flanger thực sự là LFO điều chỉnh đường trễ), một số hiệu ứng khác cần keo dính phức tạp hơn giữa các phần, đủ cụ thể để không được đưa vào khối xây dựng của riêng nó.

Nhìn chung, đây là một tập hợp hiệu ứng thú vị sẽ bao gồm nhiều nền tảng cho sản xuất âm nhạc, nhưng nó không đầy đủ và thực sự có một số hiệu ứng không phù hợp với khung này ... Một số ví dụ: * Giảm tốc độ mẫu bẩn (trong bitcrusher): đúng, đó là phép nhân với lược dirac và sau đó là tích chập bằng cửa sổ hình chữ nhật ... nhưng viết nó dễ dàng hơn khi nhân đôi giá trị của một mẫu trên N mẫu sau thay vì vá điều chế biên độ và một tổ hợp! * Hiệu ứng thay đổi cường độ (thay đổi cường độ, tự động điều chỉnh) không phù hợp với khung này. Chúng cần một biểu diễn phức tạp hơn của tín hiệu âm thanh được thực hiện (bộ phát âm pha cho các phương pháp miền tần số; phát hiện cao độ và dấu cao độ cho các phương pháp miền thời gian).

Tôi khuyên bạn nên chơi với các công cụ phần mềm "kiểu mô-đun" như Pd, Reaktor, Plogue, SyntheEdit ... - và thử thực hiện các hiệu ứng từ các khối xây dựng cơ bản mà chúng cung cấp cho bạn.


2
Đối với giá trị của nó, điều chế tần số được sử dụng trong Tổng hợp FM. Điều này có thể dễ dàng nhận thấy từ trường hợp điều chế FM một âm, dẫn đến tín hiệu có chuỗi Fourier được xác định bởi các hàm Bessel loại thứ nhất.
Bryan

1
"Tổng hợp FM" như được thực hiện trong các bộ tổng hợp (chẳng hạn như dòng Yamaha DX, phần cứng dựa trên OPL và mô phỏng phần mềm của chúng), là một cách hiểu sai, vì điều này thực sự được thực hiện với điều chế pha. vi.wikipedia.org/wiki/Phase_modulation
pichenettes

Tôi không thấy bất kỳ nguồn nào được đính kèm với mục Wikipedia đó. Bất kể, theo mục đó, nó nói rằng chúng có vẻ "tương tự" và PM được sử dụng vì FM khó thực hiện hơn. Tôi không mua cái đó, vì FM là trường hợp đặc biệt của PM. Tuy nhiên, lý thuyết mà tôi đã trích dẫn đằng sau điều chế FM tạo ra các sóng hài liên quan đến các hàm Bessel, và rất hữu ích.
Bryan

@Bryan. Xem Yêu cầu 1 của bằng sáng chế tổng hợp "FM", US4018121. Một sin (wt + I (t) sin w_m t) - đó là điều chế pha. PM dễ thực hiện hơn vì 1 / bạn không cần thêm bộ tích lũy để tích hợp tần số tức thời khác nhau vào một pha - xem một số bài đăng ở đây trong đó mọi người đã cố gắng tạo âm với tần số thay đổi theo thời gian và bị cắn lại 2 / chuyển đổi từ tần số thành gia tăng pha liên quan đến một bộ phận. Với PM, bạn tính toán lại các bước tăng theo tỷ lệ điều chế; với FM, bạn sẽ cần tính toán lại các bước tăng theo tốc độ mẫu.
pichenettes

Câu trả lời rất hữu ích, cảm ơn bạn. Tôi nhận ra rằng tôi đã tập trung rất nhiều vào khía cạnh lập trình (rằng tôi chỉ đang học) và không coi trọng khía cạnh dsp. Nó có thể sẽ không phải là một dự án tôi chỉ có thể bắt đầu nhỏ và xây dựng dần dần, nhưng một dự án mà tôi sẽ phải xây dựng lại và xây dựng lại nhiều lần khi tôi học.
kiman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.