Anmelden:     


Forum: Greek Forum

Topic: Latency & Sample Rate
Καλησπέρα στην ομάδα. Θα ήθελα να μου πείτε το latency πόσο πρέπει να είναι? Ήταν στο 256 αλλά μου είπαν κάποιοι ότι όσο πιο χαμηλά είναι, τόσο το καλύτερο. Το έβαλα στο 64 και όντως ακούγεται καλύτερα από το 256. Είναι πράγματι αλήθεια ή τα αυτιά μου βγάζουν ότι ναναι συμπέρασμα? 😂 Επίσης το Sample Rate το έχω βάλει στα 44100. Να το αφήσω εκεί ή να το πάω στα 48000? Λέγεται ότι τα 44100 η ποιότητα είναι πιο καλή γιατί υποστηρίζει καλύτερα τις συχνότητες σε σχέση με τα 48000. Θα ήθελα την άποψη σας! Ευχαριστώ πολύ!
 

geposted Wed 05 Mar 25 @ 12:45 pm
Τα έχεις μπερδέψει λίγο και δεν ξέρω αν πρέπει να σου τα εξηγήσω αναλυτικά ή συνοπτικά για να τα ξεμπερδέψεις...

Ας ξεκινήσουμε με το sample rate. Η σύντομη απάντηση είναι "εξαρτάται" και εξαρτάται από πολλούς παράγοντες. Αν θεωρήσουμε οτι η κάρτα ήχου που έχεις υποστηρίζει πολλαπλά sample rates (κάποιες κάρτες υποστηρίζουν μόνο ένα) τότε η σωστή επιλογή είναι η τιμή αυτή στην οποία βρίσκονται τα περισσότερα κομμάτια της μουσικής σου βιβλιοθήκης.
Για 99 στους 100 χρήστες, αυτό σημαίνει οτι αν παίζεις μόνο ήχο η σωστή τιμή είναι 44.100 ενώ αν παίζεις και πολλά βίντεο τότε ΙΣΩΣ η καλύτερη τιμή να είναι 48000

ΔΕΝ ΤΙΘΕΤΑΙ ΘΕΜΑ ΣΤΗΝ ΔΙΑΦΟΡΑ ΠΟΙΟΤΗΤΑΣ μεταξύ 44100 και 48000. Τουλάχιστον όχι πρακτική διαφορά που να μπορεί να γίνει αντιληπτή σε ένα ηχοσύστημα PA.

Πάμε τώρα στο latency. Latency σημαίνει καθυστέρηση, και για την ακρίβεια είναι ο χρόνος που μεσολαβεί από την στιγμή που ένα πρόγραμμα στέλνει δεδομένα στην κάρτα ήχου, μέχρι αυτά τα δεδομένα να μεταφραστούν σε σήμα στην έξοδο της κάρτας ήχου.
Αν ο παραπάνω ορισμός σε μπερδεύει, σκέψου το latency σαν τον χρόνο που μεσολαβεί από την στιγμή που κάνεις κλικ στο κουμπί play, μέχρι την στιγμή που ακούς το τραγούδι να παίζει.
Η τιμή αυτή συνήθως μετριέται σε miliseconds (χιλιοστά του δευτερολέπτου)
Από τον ορισμό του latency, προκύπτει οτι όσο πιο μικρό είναι, τόσο το καλύτερο, υπό την έννοια οτι η απόκριση του συστήματος (controller - computer - dj software - soundcard) είναι πιο άμεση.
Όμως, η τιμή latency ενός συστήματος εξαρτάται από μία άλλη μεταβλητή που ονομάζεται buffer.

Και εδώ, περνάμε σε αυτό που θέλει προσοχή για να καταλάβεις. Το latency μετριέται σε ms. Τυπικές τιμές latency για επαγγελματικά συστήματα / κάρτες ήχου είναι από 5ms μέχρι 12ms
Η τιμή που αναφέρεις εσύ (256) δεν είναι ms αλλά samples και είναι το μέγεθος του buffer.

Για να καταλάβεις πως δουλεύει η κάρτα σου, σκέψου το εξής:
Με το που αρχίζεις να παίζεις ήχο, ξεκινά μια ροή δεδομένων σαν να τρέχει μια βρύση με νερό. Η κάρτα ήχου σου είναι μια καφετιέρα που έχει ένα "κουβά" που γεμίζει με αυτό το νερό. Με το που γεμίσει ο κουβάς η κάρτα σου αρχίζει να τραβά νερό από τον κουβά, το επεξεργάζεται (φτιάχνει καφέ) και το αδειάζει σαν καφέ πλέον στην έξοδο.
Αυτό τον "κουβά" τον ονομάζουμε buffer. Όσο πιο μεγάλος είναι ο κουβάς, τόσο πιο αργά θα γεμίσει όταν ξεκινήσει η ροή των δεδομένων.
Θα μου πεις, τι τον θέλουμε τον κουβά; Ο κουβάς πολύ απλά διασφαλίζει την ομαλή ροή δεδομένων προς την "καφετιέρα"
Βλέπεις η καφετιέρα με το που αρχίσει να δουλεύει, πρέπει να βγάζει σταθερή ροή καφέ. Όμως η είσοδος του νερού στην καφετιέρα δεν είναι σταθερή. Στην πραγματικότητα ο κουβάς ανά πάσα στιγμή μπορεί να είναι από γεμάτος μέχρι σχεδόν άδειος ανάλογα με την ροή του νερού που μπαίνει και τη ροή που βγαίνει.
Αυτό που ΔΕΝ θέλουμε, είναι να αδειάσει ο κουβάς κάποια στιγμή τελείως.
Έτσι λοιπόν πρέπει να ισορροπήσουμε τα πράγματα:
Από την μία μικρό buffer σημαίνει καλύτερη/ταχύτερη απόκριση.
Από την άλλη μεγάλο buffer σημαίνει μεγαλύτερη ασφάλεια και προστασία σε περίπτωση που ο υπολογιστής μας είναι απασχολημένος και η ροή δεδομένων προς την κάρτα ήχου καθυστερήσει λιγάκι.
Η για να το πιο απλά, μικρό buffer επίσης σημαίνει αυξημένες πιθανότητες διακοπής του ήχου επειδή η κάρτα ήχου "ξέμεινε" από δεδομένα.

Οπότε, ψάχνουμε να βρούμε την "ιδανική" τιμή που να συνδυάζει την ταχύτερη δυνατή απόκριση με την μέγιστη δυνατή ασφάλεια.
Αυτή η τιμή για τα περισσότερα συστήματα και για τους περισσότερους χρήστες είναι από 256 μέχρι 512 SAMPLES

Δηλαδή το buffer έχει μέγεθος 256 samples.
Και επειδή η κάρτα ήχου σου παίζει στα 44100 Samples per second (sample rate) τα 256 samples μας κάνουν 5,8ms latency (απλή μέθοδος των τριών)
Αν η κάρτα έπαιζε με 48000 sample rate τότε τα 256 samples θα μας έκαναν 5,3ms latency
Αντίστοιχα με 512 samples έχουμε 11,6ms και 10,6ms latency αντίστοιχα.

Έτσι συνδέεται, μέσω του sample rate, το μέγεθος του buffer της κάρτας ήχου με το latency.

Σωστή τιμή για το buffer δεν υπάρχει. Γενικά λέμε οτι όσο πιο μικρό, τόσο πιο καλά, αλλά με μέτρο..
Μπορεί το σύστημα σου σε μια δοκιμή μίας ώρας να παίζει και με 64 samples buffer χωρίς προβλήματα, αλλά όταν το σύστημα σου προσπαθήσει να εκτελέσει την Χ/Υ/Ζ εργασία, ξαφνικά να μην προλαβαίνει να γεμίζει αρκετά γρήγορα ένα τόσο μικρό "κουβά"
Επίσης αν τόση ώρα δεν το κατάλαβες, το μέγεθος του buffer δεν έχει ΚΑΜΙΑ μα ΚΑΜΙΑ σχέση με "ποιότητα" ή "πιστότητα" ήχου.

Τέλος, πριν σε αφήσω, να σου πω τα εξής:
Γενικά τόσο το αυτί σου όσο και το μάτι σου δεν μπορούν να καταλάβουν διαφορά στην "καθυστέρηση" κάτω από τα 12msec
Οπότε σε γενικές γραμμές τα buffers μεταξύ 256 και 512 samples πρέπει να σε καλύπτουν.
Χαμηλότερα buffers κυνηγάμε μόνο σε συστήματα DVS (timecode) γιατί οι χρόνοι διπλασιάζονται. Βλέπεις στο timecode δεν έχουμε μόνο το buffer εξόδου (αναπαραγωγής) αλλά και το buffer εισόδου (ανάγνωσης του ήχου του βινυλίου)
Γι αυτό και όσοι ασχολούνται με scratch και timecode κυνηγάνε τιμές buffer κοντά στα 64 ή 128 samples ή καταφεύγουν στο να χρησιμοποιούν πολύ υψηλά sample rates.
Αν δεν είσαι DMC champion και δεν σκοπεύεις να γίνεις, τότε τιμές latency κάτω από 5ms σου είναι παντελώς άχρηστες.
 

Ουαου! Έχω μείνει με το στόμα ανοιχτό! Σε ευχαριστώ πολύ Phantom που αφιέρωσες αρκετό χρόνο για να μου εξηγήσεις για το Sample Rate & latency. Το sample rate θα το βάλω στα 44100 και το latency στα 256 όπως ήταν. Ότι έγραψες, ήταν όλα μα ολα κατανοητά!!!!!!! Ειδικά αυτό με το κουβα και με την καφετέρια! Σε ευχαριστώ πολύ! Να σαι πάντα καλά!