Jump to content



Δρομολόγηση ήχου συστήματος στην είσοδο του μικροφώνου για χρήση σε videoconference, OBS κτλ.


gdp77

Recommended Posts

Κατά τη διάρκεια της πανδημίας και της βαριάς χρήσης τηλεκπαίδευσης, ο εκπαιδευτικός οργανισμός στον οποίο εργάζομαι έκανε χρήση του 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 (συνημμένο) που θα σας σετάρει το σύστημα ήχου αυτόματα χωρίς να κοπιάσετε.

 

Η ακόλουθη εικόνα δείχνει τι θα υλοποιήσουμε:

 

O1dH7Is10oDbZ_ZyBtfKMbo4vlrbs95WXV3nRgBFf3Wq0tmsy0_ejxQFv4nEmQ2T7Kbroh8wqTEDU4SeA1wAr6C8o64E8v6hfo9MEFlv3R9cX0GZT9ZIoUGlo_jG4YO2VKByTpUI5HWWJ0APDpC_Whk

 

Όλες οι αλλαγές που γίνονται από το script που έφτιαξα είναι προσωρινές και χάνονται μετά από επανεκκίνηση του συστήματος ή επανεκκίνηση του sound server (systemctl --user restart pulseaudio.service).

 

Μόλις τρέξουμε το script, θα μας εμφανίσει τις εξόδους ήχου του συστήματος και θα πρέπει να επιλέξουμε με αριθμό αυτήν που επιθυμούμε σαν default έξοδο:

 

-YXUs6OUm1kjiGf2P163QSWkqSaxqx9rf3yNwvbkOUGAr69WFEPgENQI61wVFPOP8KDf-JhagRQKiVpyL72qdtB9KHrzVyuyAb2hB21LsO3144OldsuGCfMdxxjSbm9JmdgYWzZuaPqwmSm8P8YJZrY

 

Στη συνέχεια θα εμφανίσει τις εισόδους και θα πρέπει να επιλέξουμε το μικρόφωνο που επιθυμούμε. ΠΡΟΣΟΧΗ μην επιλέξετε κάποια είσοδο με κατάληξη “.monitor”:

 

OWPTbrnrVGgxAeWaEptZDrYk-e_dHtzfYPO1yftdV9qZxdxMjtYHyLP0ueLn-VdFIorI3en4PuFuuC50k9WlzQWBqN0321_d_Tt5_9ge9TKMC_kckfFCqf5beZBA22PFTiLqdjFrbyvUoYs351DDCkk

 

Τέλος, ανοίγουμε την εφαρμογή video conference της αρεσκείας μας και επιλέγουμε στις ρυθμίσεις της εφαρμογής έξοδο στα ακουστικά μας (ΠΡΟΣΟΧΗ) και είσοδο από το εικονικό μικρόφωνο “virtual 2”.

 

Αυτό ήταν. Στα ακουστικά μας θα ακούμε τα πάντα όλα, ενώ ο οποιοσδήποτε ήχος από το σύστημά μας θα περνάει στους συνομιλητές μας, χωρίς πρόβλημα επιστροφής ήχου.

 

Εάν επιθυμούμε κάποια άλλη αναδρομολόγηση, μπορούμε να την πετύχουμε χειροκίνητα πλέον από την εφαρμογή pavucontrol που μπορούμε να εγκαταστήσουμε από το software center της διανομής μας, αν δεν είναι ήδη εγκατεστημένη.

redirect_sound.sh

  • Like 7
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.