Untuk permulaan yang sederhana saya akan menggunakan karakteristik non-linear g( x ) yang menekan sinyal input Anda:
y= g( x )
dimana (seperti yang ditunjukkan oleh endolith dalam komentar) xadalah amplop dari sinyal audio input dany adalah amplop keluaran yang diterapkan pada sinyal audio aktual. g(x )dapat berupa fungsi apa pun yang mengurangi nilai input besar lebih kuat dari nilai input kecil. The A-Law danμFungsi -Law telah dikembangkan untuk kompres sinyal bicara untuk telepon, misalnya Saya tidak tahu seberapa bagus ini terdengar untuk musik.
Fungsi kompresi lain yang sangat sederhana adalah menipiskan semua amplitudo di atas ambang batas tertentu δ:
g( x ) = {xa x + ( 1 - a ) δuntukuntukx ≤ δx > δ
dimana
a < 1adalah pelemahan. Tetapi ini tidak akan bekerja dengan baik karena indera pendengaran kita bersifat logaritmik sehingga pelemahannya mungkin terlalu kuat. Inilah sebabnya mengapa kompresor audio bekerja pada skala logaritmik dan mengarah ke fungsi yang sama seperti di atas, tetapi semua nilai diambil logaritmik dan sehubungan dengan nilai maksimum yang mungkin. Untuk
x > 0:
catatan( g( x ) ) = {catatan( x )1rcatatan( x ) + ( 1 -1r) log( δ)untukuntukx ≤ δx > δ
Untuk kompresor audio, δ biasanya diberikan dalam dB dan r dinyatakan sebagai beberapa rasio, misalnya 3: 1 (yaitu r = 3). Ini menghasilkan fungsi eksponensial, ketika dinyatakan secara linear (harap itu benar, silakan periksa jugax > 0):
g( x ) = {xδ1 - 1 / rx1 / runtukuntukx ≤ δx > δ
Fungsi ini memiliki "lutut keras", artinya fungsinya
catatang( x ) tidak dapat dibedakan pada
x = δ. Untuk "lutut lunak" Anda memerlukan transisi yang mulus pada saat itu. Perpanjangan fungsi di atas untuk negatif
x mudah, cukup kalikan dengan fungsi signum dan ambil nilai absolut dari
x.
Serangan dan pelepasan berdampak pada suara yang berbeda seperti tendangan, jerat, dan vokal. Mereka menentukan berapa lama sebelum ambang tercapai, kompresor harus mulai bekerja dan berapa lama harus tetap bekerja setelah sinyal jatuh di bawah ambang batas. Untuk menerapkan ini, Anda harus menggunakan semacam pandangan ke depan.
Seperti semua amplitudo di bawah ini δdilemahkan, rentang dinamis yang tersedia tidak sepenuhnya dieksploitasi. Ini dikoreksi oleh apa yang disebut "make up gain" yang hanya merupakan perkalian sederhana dari sinyal terkompresi dengan faktor penguatanG > 1. Dengan terlebih dahulu mengurangi rentang dinamis dan kemudian memperkuat kompresor sinyal dapat membuat musik tampak "lebih keras".