Εχμ … τα πράγματα δεν είναι ακριβώς έτσι …
Κατ΄αρχήν, Latency (για συστήματα επεξεργασίας ήχου) θεωρούμε την καθυστέρηση του ηχητικού σήματος από την πηγή ως τα αυτιά μας.
(πχ. η καθυστέρηση που υπάρχει λόγω απόστασης όταν παίζω ακουστική κιθάρα είναι περίπου 1 milli second, ενώ αν ο φίλος μου παίζει σε απόσταση 3 μέτρων τον ακούω μετά από περίπου 9 ms – αφού η ταχύτητα του ήχου είναι 343 μέτρα το δευτερόλεπτο).
Τώρα, θέλοντας να υπολογίσουμε την καθυστέρηση ενός υπολογιστή (συνολικά) έχουμε :
Συνολική Καθυστέρηση = Καθυστέρηση Εισόδου + Επεξεργασία + Καθυστέρηση εξόδου (Εξαιρούμε τις καθυστερήσεις εκτός του υπολογιστή – πχ από τα ηχεία στα αυτιά μας)
Η μουσική μας λοιπόν μόλις ψηφιοποιηθεί ΔΕΝ επεξεργάζεται άμεσα, αλλά αποθηκεύεται προσωρινά σε buffers και περιμένει κάποιους «κύκλους μηχανής» για να μπορέσουν τα μουσικά μας δεδομένα να χρησιμοποιηθούν. Το πόσους κύκλους μηχανής (με συνέπεια καθυστέρηση) χρειάζονται εξαρτάται από :
1. Audio Driver. :
· Multimedia (MMC). Είναι απλοί drivers, η χρήση τους είναι για απλές λειτουργίες ηχογράφησης και αναπαραγωγής. Στη μουσική παραγωγή εισάγουν σχετικά μεγάλα ποσά καθυστέρησης (Latency) – μέχρι και 500 ms !!
· Direct-X (DX). Συμβατοί με τα Direct-X της Microsoft, με χαμηλώτερο latency από τους MMC drivers, αλλά όχι σε ικανοποιητικά επίπεδα (20 – 30 ms)
· ASIO. Συμβατοί με ASIO Driver Model της Steinberg, είναι οι πλέον ικανοποιητικοί από άποψη καθυστέρησης drivers και εξαρτώνται μόνο από την κάρτα ήχου (βλέπε παρακάτω)
2. Κάρτα ήχου. Εκεί καταχωρούνται τα μουσικά μας δεδομένα (στους λεγόμενους Audio Buffers). Τώρα, ανάλογα με το μέγεθός τους (από 32 bytes -στις καλύτερες κάρτες- μέχρι 4096 bytes. Αυτό σημαίνει καθυστέρηση από 0,7 ms μέχρι 92 ms !! )
3. Υπολογιστής (κυρίως CPU). Όσο μικραίνει κανείς τα Audio Buffers της κάρτας του, τόσο περισσότερη υπολογιστική ισχύ χρειάζεται (για να πηγαινοφέρνει δεδομένα δηλαδή) με συνέπεια αν ο επεξεργαστής δεν «αντέχει» τους μικρούς buffers τότε έχουμε τα λεγόμενα «κρακ» στον ήχο, ενδείξεις δηλαδή ότι το σύστημά σου δεν αντέχει.
4. Ενδογενείς καθυστερήσεις. Πχ, Buffers στο USB ή στο Firewire πρωτόκολλο κλπ.
Και για να μην το πολυκουράζουμε, έχουμε :
1. Διαλέγεις Υπολογιστή με ισχυρό επεξεργαστή (για να σηκώνει χαμηλούς buffers)
2. Διαλέγεις drivers
μόνο ASIO.
3. Διαλέγεις Interface (καλύτερο το
PCI-e, μετά το PCI, μετά το Firewire/USB3 και τέλος το USB2)
4. Διαλέγεις κάρτα ήχου που να μπορεί να «κατέβει» χαμηλά (Καλύτερη είναι η
RME HDSPe η οποία είναι PCI-e
e αλλά έχει και κοντά 800 Ευρά …) αλλά και οι περισσότερες USB κάρτες κατεβαίνουν σίγουρα ως τα 64 bytes. Και έτσι θα έχεις τις χαμηλότερες καθυστερήσεις στον ήχο σου (γενικά, καθυστερήσεις από 5-12 ms είναι αποδεκτές
πχ για real-time παίξιμο κιθάρας … για παραπάνω άστο … πήγαινε για ψάρεμα καλύτερα …
/Πέτροc
pSt. όποια κάρτα λέει zero-latency (0 ms δηλαδή) εννοεί
monitoring (δηλαδή ακούει στα ακουστικά ότι παίζει χωρίς buffers, αλλά δεν ακούει το σήμα στην έξοδο πχ στα ηχεία - είναι κομματάκι παραπλανητικό)
Εδώ τα λέει καλά :
https://www.google.gr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&ved=0CDcQFjADahUKEwjd8rXim5DJAhUmKXIKHaxCBt4&url=https%3A%2F%2Fwww.presonus.com%2Fcommunity%2FLearn%2FThe-Truth-About-Digital-Audio-Latency&usg=AFQjCNGpf0cXilWcpmJls1f4vameYJbGfw&sig2=qHx-WUMnU_L2ZomEqBWZFQ