gdp77 Δημοσιεύτηκε Φεβρουάριος 1, 2023 #1 Κοινοποίηση Δημοσιεύτηκε Φεβρουάριος 1, 2023 Κατά τη διάρκεια της πανδημίας και της βαριάς χρήσης τηλεκπαίδευσης, ο εκπαιδευτικός οργανισμός στον οποίο εργάζομαι έκανε χρήση του webex training (όχι meetings). Η συγκεκριμένη εφαρμογή δεν είχε δυνατότητα διαμοιρασμού του audio συστήματος, λειτουργία σχεδόν απαραίτητη σε πολλά μαθήματα για ευνόητους λόγους. Οι περισσότερες δασκάλες, (μέσα στην άγνοιά τους) ανέβαζαν το volume στα ηχεία του υπολογιστή, ώστε ο ήχος να περάσει μέσω του φυσικού μικροφώνου στους μαθητές. Έτσι δημιουργούνταν “ωραίες” καταστάσεις με την επιστροφή του ήχου στους μαθητές και infinite loops κτλ. Η λύση που έδωσα τότε στο πρόβλημα αυτό ήταν να χρησιμοποιήσω virtual devices (VB-Cable) και μια εξαιρετική εφαρμογή αναδρομολόγησης ήχου (VB-voicemeeter). Με σωστές ρυθμίσεις στο default μικρόφωνο και ηχεία των Windows και αντίστοιχες ρυθμίσεις στην εφαρμογή τηλεδιάσκεψης, μπορούσα να πετύχω αυτό που ήθελα, δηλαδή να περνάω τον ήχο συστήματος σαν είσοδο στο μικρόφωνο, αλλά ταυτόχρονα να τον ακούω και εγώ στα ακουστικά μου, χωρίς να υπάρχουν προβλήματα επιστροφής ήχου κτλ. Φυσικά όλα αυτά έγιναν στα windows, μια που το webex training ήταν (και είναι) windows only app και δεν έτρεχε με κανέναν θεό στο Linux. Fast forward στο σήμερα, που χρησιμοποιώ πλέον εφαρμογές τηλεδιάσκεψης για προσωπική χρήση στο Linux. Τα ΖΟΟΜ και Webex δεν είναι πλέον δωρεάν (έχουν time limit) και η εφαρμογή που χρησιμοποιώ είναι το Google Meet που καλύπτει όλες τις ανάγκες μου. Το πρόβλημα του Google Meet είναι ότι μπορεί να διαμοιράσει ήχο συστήματος, αλλά μόνο μέσα από tab του Google Chrome. Δηλαδή μπορώ να περάσω τον ήχο ενός youtube video (εφόσον παίζει σε chrome tab), αλλά όχι τον ήχο από ένα π.χ. video που παίζει τοπικά στο vlc. Επομένως έπρεπε να βρω τρόπο να κάνω στο Linux, ότι έκανα και με το Voicemeeter στα Windows. Στο Linux, στην πλειονότητα των διανομών, χρησιμοποιείται το PulseAudio ως sound server, ενώ σιγά σιγά αντικαθίσταται από το πιο μοντέρνο pipewire. To Linux Mint χρησιμοποιεί το PulseAudio, επομένως ο οδηγός που ακολουθεί θα δουλέψει σε οποιαδήποτε διανομή χρησιμοποιεί PulseAudio. Αυτό που θα κάνουμε είναι με τη χρήση εικονικών συσκευών (null_sinks) και “καλωδίων” (loopbacks) να αναδρομολογήσουμε τον ήχο, χωρίς να έχουμε πρόβλημα επιστροφής (δηλαδή ο ήχος-φωνή των συνομιλητών να τους επιστρέφει πίσω). Σημειωτέον ότι όλα τα παρακάτω απαιτούν τη χρήση ακουστικών και ΟΧΙ ηχείων, καθώς στη δεύτερη περίπτωση η φωνή των συνομιλητών θα επιστρέφει μέσω του φυσικού μικροφώνου και θα δημιουργεί πρόβλημα “infinite loop”. Για να διευκολύνω όποιον επιθυμεί να υλοποιήσει τέτοια αναδρομολόγηση ήχου για τις δικές του ανάγκες, έφτιαξα ένα script (συνημμένο) που θα σας σετάρει το σύστημα ήχου αυτόματα χωρίς να κοπιάσετε. Η ακόλουθη εικόνα δείχνει τι θα υλοποιήσουμε: Όλες οι αλλαγές που γίνονται από το script που έφτιαξα είναι προσωρινές και χάνονται μετά από επανεκκίνηση του συστήματος ή επανεκκίνηση του sound server (systemctl --user restart pulseaudio.service). Μόλις τρέξουμε το script, θα μας εμφανίσει τις εξόδους ήχου του συστήματος και θα πρέπει να επιλέξουμε με αριθμό αυτήν που επιθυμούμε σαν default έξοδο: Στη συνέχεια θα εμφανίσει τις εισόδους και θα πρέπει να επιλέξουμε το μικρόφωνο που επιθυμούμε. ΠΡΟΣΟΧΗ μην επιλέξετε κάποια είσοδο με κατάληξη “.monitor”: Τέλος, ανοίγουμε την εφαρμογή video conference της αρεσκείας μας και επιλέγουμε στις ρυθμίσεις της εφαρμογής έξοδο στα ακουστικά μας (ΠΡΟΣΟΧΗ) και είσοδο από το εικονικό μικρόφωνο “virtual 2”. Αυτό ήταν. Στα ακουστικά μας θα ακούμε τα πάντα όλα, ενώ ο οποιοσδήποτε ήχος από το σύστημά μας θα περνάει στους συνομιλητές μας, χωρίς πρόβλημα επιστροφής ήχου. Εάν επιθυμούμε κάποια άλλη αναδρομολόγηση, μπορούμε να την πετύχουμε χειροκίνητα πλέον από την εφαρμογή pavucontrol που μπορούμε να εγκαταστήσουμε από το software center της διανομής μας, αν δεν είναι ήδη εγκατεστημένη. redirect_sound.sh 7 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now