warpie είπε:
[...]
Απλα δεν ειναι τοσο απλο το πραγμα και θα'θελα καποιο ετοιμο software.
[...]
Δύο ιδέες στα γρήγορα, αν και δεν ξέρω τι είδους προγραμματιστικές δυνατότητες έχεις σε openGL (στην gpu δουλεύεις απ'ευθείας; σε textures αποθηκεύονται οι ήχοι? )
Για το ratio, αν έχεις τα 2 σήματα συγχρονισμένα με ακρίβεια sample, μπορείς να κάνεις το εξής: Δημιούργησε έναν πίνακα Α με πλήθος στοιχείων πχ. n=20 floats και για κάθε sample του dry σήματος, γράφε στην θέση Α[j] την τιμή του αντίστοιχου sample του "wet" σήματος. Αν τα samples είναι στο διάστημα (-1,1) το j βρίσκεται με j = floor( abs(d)*n), όπου d η τιμή του dry sample.
Βρες μετά μία μέση τιμή ή rms για κάθε στοιχείο του A (θα χρειαστείς και έναν δεύτερο πίνακα όπου σε κάθε θέση θα γράφεις πόσα στοιχεία έχεις γράψει στην αντίστοιχη θέση του Α) Με αυτή τη διαδικασία, θα έχεις σε κάθε στοιχείο του A μια μέση τιμή για το πώς "απεικονίζονται" οι εντάσεις απ'το dry στο wet, την οποία μπορείς να κάνεις Plot κατ'ευθείαν. Πχ. τα samples του dry με ένταση -6db (+/- .5), θα αντιστοιχούν στην θέση (n/2 - 1) του πίνακα, η οποία θα έχεις βρει ότι έχει μία μέση τιμή πχ. -3db. Αμέσως έχεις μια συσχέτιση εντάσεων απ'το dry σήμα στο wet, η οποία θα είναι πιο ακριβής για όσο πιο "σκληρό" knee.
Για το knee: μπορείς να στέλνεις στον κομπρέσορα μία τετραγωνική κυματομορφή με peak στα 0dB (πρέπει να έχει πολύ χαμηλή συχνότητα σε επίπεδα lfo, ώστε η περίοδός της να είναι συγκρίσιμη με το attack του κομπρέσσορα) και να δεις πόσο αργό ή γρήγορο decay εισάγει ο κομπρέσσορας όταν περνάει η κυματομορφή το threshold.
(Edit: τώρα που το ξαναδιαβάζω αυτό, μάλλον το attack θα βρεις έτσι! οπότε άκυρο

)
Όσο για τα impulse responses, έχω την εντύπωση (δεν είμαι 100% σίγουρος πάντως) ότι δεν θα βοήθουσαν, γιατί ένα "φίλτρο" πρέπει να είναι γραμμικό-χρονικά αναλλοίωτο (LTI) για να ισχύει η συγκεκριμένη θεωρία, πράγμα που δεν νομίζω ότι ισχύει για τον κομπρέσορα, καθώς η έξοδος επηρρεάζεται από τους χρόνους attack και release.