ΕΛΛΗΝΙΚΟ LINUX Sound HOWTO Jeff Tranter, tranter@pobox.com v1.19, 23 Ιανουαρίου 1998 Το κείμενο αυτό περιγράφει την υποστήριξη του Linux για ήχο. Συγκεκριμένα, παρουσιάζει αναλυτικό πίνακα του υποστηριζόμενου hard­ ware για ήχο, του ported hardware ήχου, περιγράφει πώς να σετάρει κανείς τους drivers του πυρήνα, και τέλος, απαντά στις πιο συχνά διατυπωμένες ερωτήσεις. Ο σκοπός του κειμένου αυτού είναι να βοηθήσει τους νέους χρήστες και να μειώσει το φόρτο στα Usenet news groups και τις λίστες αλληλογραφίας (mailing lists). ______________________________________________________________________ Table of Contents 1. Εισαγωγή 1.1 Ευχαριστίες 1.2 Revision History 1.3 Νέες εκδόσεις του κειμένου 1.4 Feedback 1.5 Πολιτική Διανομής 2. Τεχνολογία καρτών ήχου 3. Υποστηριζόμενο Hardware 3.1 Κάρτες ήχου 3.2 Εναλλακτικοί Drivers Ήχου 3.3 Μεγάφωνο υπολογιστή 3.4 Παράλληλη θύρα 4. Εγκατάσταση 4.1 Εγκατάσταση της Κάρτας Ήχου 4.2 Ρυθμίζοντας τον Πυρήνα 4.3 Δημιουργία των Device files 4.4 Επανεκκίνηση του Linux και Έλεγχος της Εγκατάστασης 4.5 Troubleshooting 4.5.1 Βήμα 1: Βεβαιωθείτε πως πραγματικά τρέχετε τον πυρήνα που κάνατε compile. 4.5.2 Βήμα 2: Βεβαιωθείτε πως οι drivers ήχου του πυρήνα συμπεριλήφθησαν στο compile. 4.5.3 Βήμα 3: Αναγνώρισε ο πυρήνας την κάρτα ήχου κατά την εκκίνηση; 4.5.4 Βήμα 4: Μπορείτε να διαβάσετε δεδομένα από το dsp device ; 4.5.5 Oταν όλα έχουν αποτύχει 5. Απαντήσεις σε Συχνά Διατυπωμένες Ερωτήσεις 5.1 Τι είναι τα sound device files; 5.2 Πώς μπορώ να παίξω έναν ήχο ; 5.3 Πώς μπορώ να ηχογραφήσω έναν ήχο ; 5.4 Μπορώ να έχω περισσότερες από μία κάρτες ; 5.5 Error: No such file or directory for sound devices 5.6 Error: No such device for sound devices 5.7 Error: No space left on device for sound devices 5.8 Error: Device busy for sound devices 5.9 Εξακολουθώ να βλέπω device busy errors! 5.10 Μερική εκτέλεση του (Partial playback) ψηφιοποιημένου ήχου 5.11 Υπάρχουν διακοπές όταν παίζω MOD αρχεία 5.12 Λάθη compile κατά το compilation εφαρμογών ήχου 5.13 SEGV όταν τρέχω εκτελέσιμα αρχεία ήχου τα οποία δούλευαν παλιότερα 5.14 Ποια bugs ή περιορισμοί είναι μέχρι τώρα γνωστά στους drivers ήχου; 5.15 Πού βρίσκεται η τεκμηρίωση των sound driver ioctls() κλπ. ; 5.16 Τι CPU resources απαιτούνται ώστε να παίζω ή να ηχογραφώ ήχους χωρίς διακοπές; 5.17 Προβλήματα με τον PAS16 και τον Adaptec 1542 SCSI host adaptor 5.18 Είναι δυνατό να διαβάζω και να γράφω δείγματα (samples) ταυτόχρονα; 5.19 Η SB16 μου έχει IRQ 2, αλλά το configure δεν επιτρέπει αυτή την τιμή 5.20 Υποστηρίζεται η "SoundBlaster AWE32" ή η "SoundBlaster16 ASP"; 5.21 Αν τρέξω Linux και μετά ξεκινήσω με DOS, παίρνω λάθη και/ή οι εφαρμογές ήχου που έχω δεν δουλεύουν σωστά 5.22 Προβλήματα με το DOOM κάτω από Linux 5.23 Πώς μπορώ να μειώσω το θόρυβο που κάνει η κάρτα ήχου μου; 5.24 Μπορώ να παίξω ήχους, αλλά όχι να ηχογραφήσω 5.25 Η "συμβατή" κάρτα ήχου μου δουλεύει μόνο αν την αρχικοποιήσω πρώτα στο MS-DOS. 5.26 Η κάρτα ήχου μου, η οποία είναι συμβατή με την 16-bit SoundBlaster, δουλεύει μόνο σε 8-bit mode κάτω από Linux. 5.27 Πού μπορώ να βρω εφαρμογές ήχου για Linux ; 5.28 Μπορώ να κάνω compile το driver της κάρτας ήχου ώστε να φορτώνεται σα module; 5.29 Μπορώ να χρησιμοποιήσω την κάρτα ήχου για να αντικαταστήσω το μπιπ της κονσόλας του συστήματος; 5.30 Tι είναι το VoxWare 5.31 Υποστηρίζονται Plug and Play κάρτες ήχου; 5.32 Το Sox/Play/Vplay βγάζει μήνυμα "invalid block size 1024" 5.33 Γιατί ο driver ήχου έχει το δικό του πρόγραμμα για σετάρισμα;> 5.34 Οι ρυθμίσεις του mixer αρχικοποιούνται κάθε φορά που φορτώνω το module του driver ήχου 5.35 Μόνο ο χρήστης root μπορεί να ηχογραφήσει ήχο 5.36 Υποστηρίζεται ήχος στο IBM ThinkPad; 6. Παραπομπές ______________________________________________________________________ 1. Εισαγωγή Αυτό το κείμενο είναι το Linux Sound HOWTO. Είναι ένα σύντομο εγχειρίδιο που καλύπτει οτιδήποτε χρειάζεται κανείς να ξέρει για την εγκατάσταση και ρύθμιση ήχου κάτω από Linux. Απαντάμε στις πιο συχνά διατυπωμένες ερωτήσεις σχετικά με την υποστήριξη ήχου σε Linux, και παραπέμπουμε σε άλλες πηγές πληροφορίας πάνω σε διάφορα θέματα σχετικά με τον ήχο και τη μουσική που παράγεται από τον υπολογιστή. Η εστίαση του κειμένου γίνεται για κάρτες ήχου pertaining to Linux. Για περισσότερες πληροφορίες πάνω στις κάρτες ήχου και τη δημιουργία μουσικής, διαβάστε τα κείμενα που αναφέρονται στο κεφάλαιο Παραπομπές. 1.1. Ευχαριστίες Οι περισσότερες πληροφορίες προήλθαν από την τεκμηρίωση (documentation) που υπήρχε στον κώδικα του driver ήχου, που έγραψε ο Hannu Savolainen (hannu@voxware.pp.fi). Ευχαριστούμε τον Hannu και όλους όσους ανέπτυξαν τους drivers ήχου και βοηθητικές εφαρμογές (utilities) για τον πυρήνα του Linux. Χάρη στο πακέτο SGML Tools, αυτό το HOWTO διατίθεται σε διάφορα formats τα οποία παράχθηκαν όλα από ένα κοινό αρχείο πηγαίου κώδικα (source file). 1.2. Revision History 1η Έκδοση . Στάλθηκε μόνο στη mailing list "SOUND channel of Linux activists" Έκδοση 1.2 μικρές αλλαγές. H πρώτη έκδοση διαθέσιμη σε archive sites Έκδοση 1.3 μετατράπηκε σε SGML. Διαθέσιμη πια σε διάφορα formats χρησιμοποιώντας τα εργαλεία Linuxdoc-SGML του Matt Welsh's. ’άλλαξε πολύ η εμφάνιση λόγω του νέου format, ενώ το περιεχόμενο άλλαξε ελάχιστα Έκδοση 1.4 minor tweaking of SGML. Προστέθηκε η απάντηση για τις ασυμβατότητες του PAS16 και Adaptec1542A SCSI adaptor Έκδοση 1.5 η έκδοση 2.5a του driver ήχου περιλαμβάνεται στις διανομές με πυρήνα 1.1. Σημείωση για την υποστήριξη GUS-MAX. ’άλλες μικρές αλλαγές Έκδοση 1.6 προστέθηκε η πληροφορία για το λάθος "no space on device". Προσθήκη σημείωσης πως το Hacker's Guide βρίσκεται σε "κρυμμένο" directory. Προσθήκη ερώτησης για αμφίδρομο (bidirectional) mode. Πληροφορία για τα λάθη "device busy". ’άλλες μικρές αλλαγές Έκδοση 1.7 προστέθηκε πληροφορία για τις ASP και AWE32. Το VoxWare 2.9 είναι διαθέσιμο. Απάντηση στην ερώτηση για τη χρήση του IRQ2. Αναφορές σε Sound και SCSI HOWTOs Έκδοση 1.8 προστέθηκε η ερώτηση για λάθη κάτω από το DOS. Έγιναν πολλές μικρές αλλαγές ώστε να ταιριάζει με την έκδοση 2.90 του driver ήχου. Πληροφορίες για το DOOM. Απάντηση για τη μείωση του θορύβου Έκδοση 1.9 ερωτήσεις για την ηχογράφηση και για clone cards Έκδοση 1.10 αναφέρεται ότι το HOWTO είναι διαθέσιμο στο WWW, σε εκτυπωμένα αντίγραφα, και σε μετάφραση. Πληροφορία για το DMA conflict με τον QIC tape driver. Πληροφορία για την Sound Galaxy NX Pro και Logitech BusMouse Έκδοση 1.11 Μια πολύ καθυστερημένη ενημέρωση (Ήμουν πολύ απασχολημένος). Το κείμενο τέθηκε κάτω από άδεια GPL και συγχρονίστηκε με την έκδοση 3.0 για driver ήχου. Πληροφορίες για drivers που υποστηρίζουν πολλές νέες κάρτες ήχου. Περισσότερες πληροφορίες για configuration και troubleshooting. Προστέθηκαν πολλά HTML links. Συμμορφώθηκε σύμφωνα με το format του CD-ROM HOWTO Έκδοση 1.12 Νέοι drivers ήχου στον πυρήνα 1.3.34. Νέα ονόματα sound device. Η 1542 address είναι η 334 και όχι η 333. Διευκρινίστηκε η κατάσταση της Creative Labs Emu και ASP. Δείκτης προς τα Web sites της Creative Labs και MediaTrix Έκδοση 1.13 Σημείωση για το όνομα VoxWare. Ενημέρωση με όλες τις υποστηριζόμενες κάρτες ήχου και τις επιλογές στις ρυθμίσεις. Ερώτηση για υποστήριξη Plug and Play. Ερώτηση για το πρόβλημα του block size. Νέες επιλογές στο xconfig και menuconfig. Το modutils έχει υποστήριξη για sound device. Έφυγε η mailing list vger. Δόθηκε έμφαση στο Web site του συγγραφέα. Διάφορες άλλες μικρές αλλαγές Έκδοση 1.14 Η Audio Excell DSP16 δεν υποστηρίζεται για την ώρα (θα πρέπει να δουλέψει πάλι σε μερικούς μήνες). Αλλαγές στο πρόγραμμα configure. Διαθέσιμη η έκδοση του Ιταλικού HOWTO. Τέχνασμα για να θέτουμε την ενίσχυση του μίκτη (mixer) όταν φορτώνεται το module του ήχου. Ο τελευταίος σταθερός πυρήνας είναι ο 2.0. Νέο όνομα για το driver ήχου. Ερώτηση για τα δικαιώματα του root στα αρχεία sound device Έκδοση 1.15 αφαιρέθηκαν κάποιες ερωτήσεις που ήταν πολύ παλιές και άχρηστες πια. Η νέα ηλεκτρονική διεύθυνση του συγγραφέα. Διορθώθηκαν μερικά links που δείχνουν στα πιο πρόσφατα πακέτα λογισμικού. Περισσότερες πληροφορίες για το βιβλίο για πολυμέσα. Μικρές αλλαγές στην ορθογραφία και τη σύνταξη Έκδοση 1.16 Πολλές αλλαγές και διορθώσεις από τον Hannu Savolainen. Προστέθηκε εξαμηνιαία "ύπαρξη-πιο-πρόσφατης-έκδοσης-μετά-από" ημερομηνία. Νέα URL σε web σελίδα για το βιβλίο. link στην ισπανική μετάφραση. Μικρές αλλαγές στην ορθογραφία και τη σύνταξη Έκδοση 1.17 Διαθέσιμη η κινέζικη έκδοση. Εναλλακτικός GUS driver. Packet radio modem. Το Linux Multimedia guide διατίθεται στα γαλλικά και γιαπωνέζικα. Αναφορές σε δυο σχετικά mini-HOWTOs. Δείκτης για το IBM ThinkPad Έκδοση 1.18 Διαθέσιμη η κορεάτικη μετάφραση. Περισσότερες πληροφορίες για την κατάσταση σχετικά με τον ήχο στο MIPS. Ενημερώθηκαν οι πληροφορίες για υποστήριξη πολλαπλών καρτών ήχου. Θα πρέπει να είστε root όταν τρέχετε το fuser Έκδοση 1.19 Προστέθηκαν εγγραφές στο ευρετήριο. Τέθηκε κάτω από καθεστώς LDP αντί GPL 1.3. Νέες εκδόσεις του κειμένου Νέες εκδόσεις αυτού του κειμένου θα στέλνονται περιοδικά στο comp.os.linux.answers newsgroup. Επίσης, θα στέλνονται σε διάφορα ανώνυμα ftp sites που συγκεντρώνουν τέτοιες πληροφορίες όπως και το . Hypertext εκδόσεις αυτού και άλλων Linux HOWTOs είναι διαθέσιμες σε πολλά World-Wide-Web sites, συμπεριλαμβανομένου και του . Οι περισσότερες διανομές Linux CD-ROM περιέχουν τα HOWTOs, συνήθως κάτω από το directory /usr/doc, αλλά μπορείτε να αγοράσετε και τυπωμένα αντίγραφα από διάφορους πωλητές. Μερικές φορές τα HOWTOs που διατίθενται από τους προμηθευτές των CD- ROM, ftp sites, και η εκτυπωμένη μορφή είναι παρωχημένα. Αν η ημερομηνία αυτού του HOWTO είναι παλαιότερη από έξι μήνες από σήμερα, τότε πολύ πιθανά μια νεότερη έκδοση να βρίσκεται στο Internet. Γαλλική μετάφραση του κειμένου διατίθεται στο . Γιαπωνέζικη μετάφραση του κειμένου διατίθεται στο . Ιταλική μετάφραση του κειμένου διατίθεται στο . Ισπανική μετάφραση του κειμένου διατίθεται στο . Κινέζικη μετάφραση του κειμένου διατίθεται στο . Κορεάτικη μετάφραση του κειμένου διατίθεται στο . Οι περισσότερες μεταφράσεις αυτού του κειμένου και άλλων Linux HOWTOs βρίσκονται στο και στο . Αν μεταφράσετε αυτό το κείμενο σε άλλη γλώσσα, ειδοποιήστε με ώστε να κάνω μια αναφορά σε αυτό. 1.4. Feedback Για σχόλια, παρατηρήσεις, διορθώσεις, ενημερώσεις περί της Ελληνικής μετάφρασης αυτού του HOWTO, στείλτε email στην Βούλα Σανιδά : voulariba@hellug.gr ή στον Ευριπίδη Παπακώστα : evris@hellug.gr και εναλλακτικά : ep@rocketmail.com Αυτό το HOWTO μπορεί να βελτιωθεί και να είναι πραγματικά χρήσιμο με τη βοήθεια του αναγνώστη. Αν έχετε οποιαδήποτε πρόταση, διόρθωση, ή σχόλια, παρακαλώ στείλτε τα στο tranter@pobox.com, και θα προσπαθήσω να τα ενσωματώσω στην επόμενη έκδοση αυτού του κειμένου. Είμαι πρόθυμος, αν μπορώ, να απαντήσω σε γενικές ερωτήσεις σχετικά με τις κάρτες ήχου κάτω από το Linux. Πριν με ρωτήσετε, διαβάστε παρακαλώ όλες τις πληροφορίες που παρέχει αυτό το HOWTO, και στείλτε μου λεπτομερείς πληροφορίες για το πρόβλημά σας. Παρακαλώ μη με ρωτάτε για χρήση καρτών ήχου σε άλλα λειτουργικά συστήματα εκτός του Linux. Εάν δημοσιοποιήσετε αυτό το κείμενο σε CD-ROM ή σε χαρτί, θα εκτιμούσα την αποστολή ενός αντιγράφου. Γράψτε μου για τον ταχυδρομικό μου κώδικα. Επίσης αναλογισθείτε την περίπτωση δωρεάς προς το Linux Documentation Project για να στηρίξετε την υποστήριξη της δωρεάν τεκμηρίωσης. Επικοινωνήστε με τον συντονιστή του Linux HOWTO, Tim Bynum , για περισσότερες πληροφορίες. 1.5. Πολιτική Διανομής Copyright (c) 1995-1998 από τον Jeff Tranter. Αυτό το κείμενο μπορεί να διατίθεται σύμφωνα με τους όρους που περιγράφονται στην άδεια χρήσης LDP στο . 2. Τεχνολογία καρτών ήχου Σε αυτό το τμήμα δίνεται μια βασική περιγραφή της τεχνολογίας του ψηφιακού ήχου, με σκοπό να βοηθήσει στην κατανόηση των εννοιών που θα χρησιμοποιηθούν παρακάτω στο κείμενο. Για κάποιον που θέλει να μάθει περισσότερα, καλό θα ήταν να συμβουλευτεί ένα βιβλίο για ψηφιακό ήχο ή ψηφιακή επεξεργασία σήματος. Ο ήχος είναι αναλογικός, μπορεί δηλαδή να λάβει οποιαδήποτε τιμή σε μία συνεχή κλίμακα. Οι υπολογιστές είναι ψηφιακοί, δουλεύουν δηλαδή με διακριτές τιμές. Οι κάρτες ήχου χρησιμοποιούν μία συσκευή γνωστή ως Μετατροπέας Αναλογικού Σήματος σε Ψηφιακό Σήμα (Analog to Digital Converter (A/D ή ADC)) για να μετατρέπει τα πλάτη (voltages) της αναλογικής ηχητικής κυματομορφής σε ψηφιακές ή αριθμητικές τιμές, οι οποίες μπορούν να αποθηκευτούν στη μνήμη. Παρόμοια, ένας Μετατροπέας Ψηφιακού Σήματος σε Αναλογικό (D/A ή DAC) μετατρέπει αριθμητικές τιμές σε αναλογική τάση η οποία με τη σειρά της οδηγεί ένα μεγάφωνο, παράγοντας ήχο. Η διαδικασία της μετατροπής του αναλογικού σήματος σε ψηφιακό, γνωστή ως δειγματοληψία, εισάγει κάποιο σφάλμα. Δύο παράγοντες καθορίζουν πόσο καλά το δειγματοληπτημένο σήμα αντιπροσωπεύει το αρχικό. Ο ρυθμός δειγματοληψίας είναι ο αριθμός των δειγμάτων που πήραμε ανά μονάδα χρόνου (συνήθως εκφράζεται σε δείγματα ανά δευτερόλεπτο ή Hertz). Ένας χαμηλός ρυθμός δειγματοληψίας αντιπροσωπεύει με λιγότερη ακρίβεια το αναλογικό σήμα. Εύρος δειγματοληψίας είναι το εύρος των τιμών που χρησιμοποιείται για να αντιπροσωπεύει κάθε δείγμα, συχνά εκφράζεται σε bits. Όσο μεγαλύτερο είναι το εύρος δειγματοληψίας, τόσο ακριβέστερο θα είναι το ψηφιακό σήμα. Οι κάρτες ήχου χρησιμοποιούν συνήθως εύρος 8 ή 16 bit δειγμάτων με ρυθμούς δειγματοληψίας από 4000 μέχρι 44,000 δείγματα το δευτερόλεπτο. Τα δείγματα αυτά μπορούν να περιέχουν ένα κανάλι (mono) ή δύο (stereo). Σύνθεση FM (FM Synthesis) είναι μια παλιότερη τεχνική για παραγωγή ήχου. Βασίζεται στο συνδυασμό διαφορετικών κυματομορφών (π.χ ημιτονική, triangle, square). Η FM synthesis είναι απλούστερη στην υλοποίηση σε hardware από τον D/A μετατροπέα, αλλά είναι πιο δύσκολη στον προγραμματισμό της και λιγότερο ευέλικτη. Πολλές κάρτες ήχου παρέχουν FM synthesis για λόγους συμβατότητας με παλιότερες κάρτες και λογισμικό. Δίνονται συνήθως επίσης και πολλές ανεξάρτητες γεννήτριες ήχου ή φωνής. Η σύνθεση με βάση πίνακες κυματομορφών (Wavetable Synthesis) συνδυάζει την ευελιξία του μετατροπέα D/A με την ικανότητα πολλαπλών καναλιών της FM synthesis. Με αυτό το σχήμα οι ψηφιοποιημένες φωνές μπορούν να αποθηκεύονται σε ειδικά αφιερωμένη μνήμη, και να παίζονται, να συνδυάζονται, και να μεταβάλλονται με μικρή επιβάρυνση της CPU. Οι κάρτες ήχου τελευταίας τεχνολογίας υποστηρίζουν όλες wavetable synthesis. Οι περισσότερες κάρτες ήχου παρέχουν τη δυνατότητα για μίξη (mixing), συνδυασμό σημάτων από διαφορετικές πηγές εισόδου καθώς και έλεγχο της στάθμης ενίσχυσης των σημάτων (gain levels). MIDI είναι τα αρχικά του Musical Instrument Digital Interface, το οποίο είναι ένα καθιερωμένο πρωτόκολλο τόσο hardware όσο και software για να επιτρέπει την μεταξύ των μουσικών οργάνων επικοινωνία. Τα σήματα που στέλνονται σε ένα MIDI κανάλι (bus) μπορούν να αποθηκευτούν σαν MIDI αρχεία για τη μετέπειτα επεξεργασία (editing) και αναπαραγωγή (playback). Πολλές κάρτες ήχου παρέχουν MIDI interface. Αυτές που δε δίνουν, μπορούν να παίζουν MIDI αρχεία χρησιμοποιώντας τις on-board δυνατότητες της κάρτας ήχου. Τα MOD αρχεία είναι ένα κοινό format για τραγούδια που συνθέτονται σε υπολογιστή. Τα αρχεία αυτά περιέχουν πληροφορίες για τις νότες που θα παιχτούν καθώς και ψηφιοποιημένα δείγματα των οργάνων (ή φωνών). Τα MOD αρχεία προήλθαν από τα computers Amiga, αλλά παίζουν με το κατάλληλο λογισμικό και σε άλλα λειτουργικά, συμπεριλαμβανομένου του Linux. 3. Υποστηριζόμενο Hardware Σε αυτό το τμήμα ακολουθεί μια λίστα των καρτών ήχουκαι interfaces που υποστηρίζονται μέχρι σήμερα από το Linux. Οι πληροφορίες βασίζονται στον πιο πρόσφατο πυρήνα Linux, τη στιγμή της συγγραφής του κειμένου. Ο driver ήχου έχει τη δική του αρίθμηση εκδόσεων (versioning). Η πιο πρόσφατη έκδοση σταθερού πυρήνα Linux είναι η έκδοση 2.0.33, και χρησιμοποιεί τον driver ήχου με έκδοση 3.5.4-960630. Ο Hannu Savolainen έγραψε τον driver ήχου και διαθέτει τις νέες beta εκδόσεις του driver πριν να ενσωματωθούν σε διανομή νέου σταθερού πυρήνα Linux. Η πιο ενημερωμένη λίστα των υποστηριζόμενων καρτών ήχου βρίσκεται στο (USA) ή στο (Ευρώπη). Αυτές οι σελίδες δείχνουν ποια έκδοση του driver ήχου απαιτείται για το συγκεκριμένο τύπο κάρτας ή αν η υποστήριξη της κάρτας βρίσκεται υπό κατασκευή - ανάπτυξη. Το αρχείο /usr/src/linux/drivers/sound/Readme.cardsτο οποίο διανέμεται με τον sound driver του αντίστοιχου πυρήνα περιέχει πληροφορίες για τις υποστηριζόμενες κάρτες ήχου αλλά δεν είναι πάντα η πιο πρόσφατη έκδοση. Οι πληροφορίες σε αυτό το HOWTO είναι έγκυρες για Linux που τρέχει σε πλατφόρμα Intel. Ο driver ήχου πρέπει να δουλεύει επίσης με τις περισσότερες κάρτες ήχου σε πλατφόρμα Alpha. Παρόλα αυτά, μερικές κάρτες μπορεί να έχουν σύγκρουση (conflict) με τις θύρες εισόδου-εξόδου (I/O ports) άλλων συσκευών στα συστήματα Alpha ακόμη και αν δουλεύουν τέλεια σε μηχανές i386, γι' αυτό γενικά δεν είναι δυνατό να πει κανείς με σιγουριά αν μια συγκεκριμένη κάρτα θα δουλέψει ή όχι χωρίς να το δοκιμάσει. Τη στιγμή που γράφεται το κείμενο, ο driver ήχου δε δουλεύει ακόμη για την έκδοση του Linux για PowerPC, αλλά στο μέλλον θα υποστηρίζεται. Η υποστήριξη ήχου παρέχεται και για στην μεταφορά (port) του Linux για MIPs, και μερικές μηχανές MIPs έχουν EISA slots και/ή ενσωματωμένο hardware ήχου. Πληροφορήθηκα πως η ομάδα ανάπτυξης του Linux-MIPs ενδιαφέρεται να προσθέσει στο μέλλον υποστήριξη για ήχο. Ο πυρήνας του Linux περιλαμβάνει ένα ξεχωριστό driver για Atari και Amiga που υλοποιεί ένα συμβατό υποσύνολο του driver ήχου της πλατφόρμας Intel, χρησιμοποιώντας το ενσωματωμένο (built-in) sound hardware αυτών των μηχανών. Η αντίστοιχη μεταφορά (port) του Linux για SPARC δεν υποστηρίζει ήχο. Όπως στην Amiga και στα Atari, οι μηχανές SPARC έχουν ενσωματωμένο hardware ήχου, και έτσι η υποστήριξη θα μπορούσε να γίνει με την δημιουργία ενός νέου driver (η ειρωνεία είναι πως στο Linux το /dev/dsp προσομοιώνει το sound device του SunOS!). 3.1. Κάρτες ήχου · Οι παρακάτω κάρτες ήχου υποστηρίζονται από τον Linux kernel sound driver: · ATI Stereo F/X (δεν κατασκευάζεται πια) · AdLib (δεν κατασκευάζεται πια) · Ensoniq SoundScape (και οι συμβατές που κατασκευάστηκαν από τις Reveal και Spea) · Gravis Ultrasound · Gravis Ultrasound ACE · Gravis Ultrasound Max · Gravis Ultrasound με την επιλογή δειγματοληψίας στα 16 bit · Logitech Sound Man 16 · Logitech SoundMan Games · Logitech SoundMan Wave · MAD16 Pro (OPTi 82C928, 82C929, 82C930, 82C924 chipsets) · Media Vision Jazz16 · MediaTriX AudioTriX Pro · Microsoft Windows Sound System (MSS/WSS) · Mozart (OAK OTI-601) · Orchid SW32 · Personal Sound System (PSS) · Pro Audio Spectrum 16 · Pro Audio Studio 16 · Pro Sonic 16 · Roland MPU-401 MIDI interface · Sound Blaster 1.0 · Sound Blaster 16 · Sound Blaster 16ASP · Sound Blaster 2.0 · Sound Blaster AWE32 · Sound Blaster Pro · TI TM4000M notebook · ThunderBoard · Turtle Beach Tropez ("κλασσική" αλλά όχι Plus) · Turtle Beach Maui · Yamaha FM synthesizers (OPL2, OPL3 και OPL4) · 6850 UART MIDI Interface Πρέπει να σημειωθεί ότι οι Plug and Play (PnP) κάρτες ήχου δεν είναι πλήρως συμβατές με τα παλιότερα μοντέλα (μη PnP) της ίδιας συσκευής. Για παράδειγμα, η SoundBlaster16 PnP δεν είναι πλήρως συμβατή με την SoundBlaster16. Το ίδιο ισχύει για τις κάρτες Soundscape PnP και GUS PnP. Περισσότερες πληροφορίες σχετικά με τις Plug and Play κάρτες, θα βρείτε παρακάτω. Οι παρακάτω κάρτες δεν υποστηρίζονται, είτε γιατί είναι πολύ παλιές είτε επειδή ο κατασκευαστής δεν θα εκδώσει τις προγραμματιστικές λεπτομέρειες που απαιτούνται για να γραφτεί ένας driver: · Pro Audio Spectrum (original) · Pro Audio Spectrum+ · παλιές κάρτες ήχου (Sierra Aria based) της Diamond ’άλλες κάρτες ήχου που ισχυρίζονται ότι είναι συμβατές με κάποια από τις υποστηριζόμενες κάρτες ήχου μπορεί να δουλέψουν αν είναι συμβατές σε επίπεδο hardware (i.e. register level). Παρόλο που οι περισσότερες κάρτες ήχου ισχυρίζονται ότι είναι συμβατές με τη "SoundBlaster", πολύ λίγες απ' αυτές είναι επαρκώς συμβατές ώστε να δουλέψουν με τον Linux SoundBlaster driver. Αυτές οι κάρτες συνήθως δουλεύουν καλύτερα χρησιμοποιώντας τον MSS/WSS ή MAD16 driver. Μόνο οι αυθεντικές κάρτες SoundBlaster που κατασκευάζονται από τη Creative Labs, και που χρησιμοποιούν τα Creative's custom chips (π.χ. SoundBlaster16 Vibra), οι MV Jazz16 και οι ESS688/1688 based κάρτες δουλεύουν με τον SoundBlaster driver. Το να προσπαθήσετε να στήσετε μία "16 bit κάρτα ήχου συμβατή με SoundBlaster Pro" με τον SoundBlaster driver είναι συνήθως χάσιμο χρόνου. Ο πυρήνας του Linux υποστηρίζει τη θύρα SCSI που παρέχουν μερικές κάρτες ήχου (π.χ. ProAudioSpectrum 16) και το αποκλειστικής τεχνολογίας (proprietary) interface για μερικούς οδηγούς CD-ROM (π.χ. Soundblaster Pro). Για περισσότερες πληροφορίες δείτε το SCSI HOWTO και to CDROM HOWTO. Ένα loadable module του πυρήνα για υποστήριξη θύρας joystick, συμπεριλαμβανομένης και αυτής που παρέχεται από μερικές κάρτες ήχου, είναι επίσης διαθέσιμο. Σημειώστε επίσης πως οι drivers για SCSI, CD-ROM, joystick και ήχου, είναι εντελώς ανεξάρτητοι μεταξύ τους. Για τις πιο πρόσφατες πληροφορίες σχετικά με τους drivers των καρτών ήχου δείτε το WWW site του Hannu Savolainen που αναφέρεται στο τμήμα των Παραπομπών. 3.2. Εναλλακτικοί Drivers Ήχου Υπάρχουν μερικοί "ανεπίσημοι" drivers ήχου διαθέσιμοι, δεν συμπεριλαμβάνονται σε επίσημες διανομές Linux, και χρησιμοποιούνται αντί του καθιερωμένου driver ήχου. Μια εμπορική έκδοση του Linux driver ήχου πωλείται από τη 4Front Technologies. Προσφέρει κάποια επιπλέον χαρακτηριστικά από τη δωρεάν έκδοση που περιλαμβάνει ο πυρήνας του Linux. Για περισσότερες πληροφορίες επισκεφτείτε τη Web σελίδα της 4Front Technologies στο . Ο Markus Mummert (mum@mmk.e-technik.tu-muenchen.de) έχει γράψει ένα πακέτο (package) για driver των καρτών ήχου Turtle Beach MultiSound (classic), Tahiti, και Monterey. Η τεκμηρίωση του αναφέρει: "Έχει σχεδιαστεί για υψηλής πιστότητας αναπαραγωγή και ηχογράφηση σε σκληρό δίσκο χωρίς προβλήματα συγχρονισμού ακόμα και σε ένα απασχολημένο σύστημα. Άλλα χαρακτηριστικά όπως wave synthesis, MIDI και επεξεργαστής ψηφιακού σήματος (digital signal processor - DSP) δεν μπορούν να χρησιμοποιηθούν. Επίσης, η ταυτόχρονη ηχογράφηση και αναπαραγωγή δεν είναι δυνατή. Μέχρι τώρα αντικαθιστά το VoxWare και έχει δοκιμαστεί με διάφορους πυρήνες έκδοσηs που κυμαίνεται από 1.0.9 έως 1.2.1. Επίσης, είναι δυνατόν να εγκατασταθεί σε συστήματα UN*X SysV386R3.2." Μπορείτε να τους βρείτε στο . Ο Kim Burgaard (burgaard@daimi.aau.dk) έχει γράψει ένα device driver και βοηθητικά προγράμματα (utilities) για το MIDI interface Roland MPU-401. Η αντίστοιχη εγγραφή στο Linux software map αναφέρει: "Ένας device driver για αληθινά συμβατά MIDI interfaces με το Roland MPU-401 (συμπεριλαμβανομένου του Roland SCC-1 και του RAP-10/ATW-10). Διατίθεται με μια χρήσιμη συλλογή από βοηθητικές εφαρμογές, συμπεριλαμβανόμενου ενός κλασσικού MIDI File player και recorder. Πολλές βελτιώσεις έχουν γίνει από την έκδοση 0.11a. Μεταξύ των άλλων, ο driver τώρα υπόσχεται πολιτική δυνατότητας διαμοιρασμού IRQ (IRQ sharing policy) και ακολουθεί τα stan­ dards του νέου interface για τα modules του πυρήνα. Ύπαρξη μετρονόμου, δυνατότητα για συγχρονισμό π.χ. γραφικών ανά χτύπο (beat) χωρίς απώλεια ακρίβειας, προχωρημένο interface replay/record/overdub και πολλά, πολλά άλλα." Θα τον βρείτε στο . Ο Jaroslav Kysela και μερικοί άλλοι έγραψαν έναν εναλλακτικό driver ήχου για την κάρτα Gravis UltraSound. Πληροφορίες θα βρείτε στο , την home page του Linux UltraSound Project. Μια νέα χρήση για κάρτα ήχου κάτω από Linux είναι ως modem για packet radio. Οι πρόσφατοι πυρήνες 2.1.x περιέχουν ένα driver που δουλεύει με τη SoundBlaster και τις συμβατές με Windows Sound System, που υλοποιεί τα πρωτόκολλα 1200 bps AFSK και 9600 bps FSK. Δείτε το Linux AX25 HOWTO για λεπτομέρειες (Επί τι ευκαιρία, είμαι και εγώ ραδιοερασιτέχνης -- callsign VE3ICH). 3.3. Μεγάφωνο υπολογιστή Ένας εναλλακτικός driver ήχου είναι διαθέσιμος, που δεν απαιτεί επιπλέον hardware ήχου. Χρησιμοποιεί το εσωτερικό ηχείο του υπολογιστή. Είναι συμβατός κυρίως σε επίπεδο software με τον driver της κάρτας ήχου, αλλά, όπως είναι και αναμενόμενο, παρέχει έξοδο πολύ χειρότερης ποιότητας και προκαλεί πολύ μεγαλύτερη επιβάρυνση στη CPU. Τα αποτελέσματα ποικίλουν, και είναι ανάλογα των χαρακτηριστικών των υπαρχόντων εσωτερικών ηχείων. Για περισσότερες πληροφορίες , δείτε την τεκμηρίωση που παρέχεται με την έκδοση του driver. Η τρέχουσα έκδοση είναι η 1.1, και θα τη βρείτε στο 3.4. Παράλληλη θύρα Μια άλλη επιλογή είναι η δημιουργία ενός ψηφιοαναλογικού μετατροπέα χρησιμοποιώντας μια παράλληλη θύρα εκτυπωτή και κάποια επιπλέον υλικά. Αυτό παρέχει αυξημένη ποιότητα ήχου από ότι το εσωτερικό ηχείο του PC, αλλά δημιουργεί επίσης μεγάλη επιβάρυνση στη CPU. Ο driver ήχου για PC, που αναφέρθηκε παραπάνω, υποστηρίζει αυτή τη δυνατότητα και συμπεριλαμβάνει οδηγίες για την κατασκευή του αναγκαίου hardware. 4. Εγκατάσταση Για να ρυθμίσετε το Linux ώστε να υποστηρίζει ήχο ακολουθείτε τα παρακάτω βήματα: 1. Εγκαταστήστε την κάρτα ήχου. 2. Ρυθμίστε και χτίστε τον πυρήνα ώστε να υποστηρίζει ήχο. 3. Δημιουργήστε τα device files. 4. Επανεκκίνηση του πυρήνα Linux και έλεγχος της εγκατάστασης. Στα επόμενα τμήματα θα παρουσιάσουμε κάθε ένα από αυτά τα βήματα αναλυτικά. 4.1. Εγκατάσταση της Κάρτας Ήχου Ακολουθήστε τις οδηγίες του κατασκευαστή για την εγκατάσταση του hardware ή ζητήστε από τον αντιπρόσωπο που αγοράσατε τη συσκευή να σας την εγκαταστήσει. Οι παλιότερες κάρτες ήχου έχουν συνήθως διακόπτες ή jumpers για το IRQ, κανάλι DMA, κλπ. Καταγράψτε τις τιμές που χρησιμοποιήσατε. Αν δεν είσαστε σίγουροι, χρησιμοποιήστε τις προκαθορισμένες, από το εργοστάσιο, τιμές. Προσπαθήστε να αποφύγετε τα conflicts με άλλες συσκευές (π.χ. κάρτες δικτύου ethernet , κάρτες SCSI, παράλληλες και σειριακές θύρες) όσο είναι δυνατό. Συνήθως θα πρέπει να χρησιμοποιήσετε τις ίδιες ρυθμίσεις για I/O port, IRQ, και DMA, που χρησιμοποιείτε στο DOS. Σε μερικές περιπτώσεις, παρόλα αυτά, (ειδικά για τις PnP κάρτες) ίσως χρειαστεί να χρησιμοποιήσετε διαφορετικές ρυθμίσεις για να κάνετε τα πράγματα να δουλέψουν κάτω από Linux. 4.2. Ρυθμίζοντας τον Πυρήνα Με κάθε νέα εγκατάσταση Linux έχετε συνήθως ένα precompiled πυρήνα. Αυτοί οι πυρήνες δεν υποστηρίζουν ήχο. Είναι προτιμότερο να κάνετε compile τον πυρήνα μόνοι σας ξανά με τους drivers που θέλετε. Μπορεί να θέλετε να κάνετε compile ξανά τον πυρήνα για να αναβαθμιστείτε σε μια νέα έκδοση ή να ελευθερώσετε πόρους μνήμης μικραίνοντας το μέγεθος του πυρήνα. Θα πρέπει να συμβουλευτείτε το Linux Kernel HOWTO για τις λεπτομέρειες του χτισίματος ενός πυρήνα. Θα αναφέρω απλά μερικά θέματα που άπτονται μόνο στις κάρτες ήχου. Αν δεν έχετε ρυθμίσει ποτέ τον πυρήνα ώστε να υποστηρίζει ήχο, είναι καλή ιδέα να διαβάσετε όλα τα αρχεία Readme που συμπεριλαμβάνονται με τους drivers ήχου του πυρήνα, ειδικά τις πληροφορίες σχετικά με τον τύπο της κάρτας σας. Τα παρακάτω αρχεία τεκμηρίωσης βρίσκονται στο kernel sound driver directory, συνήθως στο /usr/src/linux/drivers/sound: CHANGELOG - περιγραφή των αλλαγών κάθε έκδοσης COPYING - copying και copyright restrictions Readme - τα πιο πρόσφατα και σημαντικά νέα Readme.aedsp16 - πληροφορίες σχετικά με την κάρτα ήχου Audio Excel DSP 16 Readme.cards - παρατηρήσεις για τη ρύθμιση συγκεκριμένων καρτών Readme.linux - παρατηρήσεις για την εγκατάσταση drivers ήχου διαφορετικών εκδόσεων Readme.modules - πώς να κάνετε build ένα driver σα loadable kernel module Readme.v30 - νέα χαρακτηριστικά στην έκδοση 3.0 του driver ήχου experimental.txt - παρατηρήσεις σε πειραματικά χαρακτηριστικά Ακολουθήστε την τυπική διαδικασία για το χτίσιμο του πυρήνα. Υπάρχουν ως τώρα 3 διαφορετικά interfaces για τη διαδικασία ρύθμισης. Γράφοντας "make xconfig", έχετε ένα γραφικό user interface που τρέχει στα X11. Με την εντολή "make menuconfig" ξεκινάτε ένα menu-based system που χρησιμοποιεί μόνο απεικόνιση menu και κειμένου. Η κλασική μέθοδος, χρησιμοποιώντας το "make config", προσφέρει ένα απλό interface μόνο με κείμενο. Θα πρέπει να προσέξετε ιδιαίτερα όταν χρησιμοποιείτε το "make xconfig" ή το "make menuconfig". Όλες οι ΝΑΙ/ΟΧΙ ερωτήσεις πρέπει να εξεταστούν προσεκτικά. Η προεπιλεγμένη απάντηση που έχουν οι εντολές είναι πάντα ΟΧΙ, το οποίο δεν είναι το κατάλληλο για όλες τις περιπτώσεις. Συγκεκριμένα η επιλογή "/dev/dsp και /dev/audio support" (CONFIG_AUDIO) πρέπει να είναι συνήθως ΝΑΙ. Υποθέτουμε ότι χρησιμοποιείτε την κλασσική διαδικασία για να κάνετε compile, γράφοντας "make config", αν και η διαδικασία είναι παρόμοια για κάθε περίπτωση. Υπάρχουν επίσης δύο διαφορετικοί τρόποι για να ρυθμίσετε τον ήχο. Ο πρώτος είναι ο "παλιός" τρόπος (ο μόνος που υπήρχε πριν τους πυρήνες 2.0.0). Χρησιμοποιεί ένα standalone πρόγραμμα το οποίο είναι μέρος του driver ήχου. Αυτή η μέθοδος δουλεύει με τις περισσότερες κάρτες ήχου εκτός από ελάχιστες που απαιτούν επιπλέον drivers "χαμηλού επιπέδου" (miroSOUND, AWE32, και AEDSP16 cards). Ο δεύτερος είναι η "νέα" και καλύτερη μέθοδος η οποία είναι ενσωματωμένη με το configuration μέσο μενού που χρησιμοποιείται και για τον υπόλοιπο πυρήνα. Αυτός ο τρόπος δε δουλεύει με κάρτες ήχου που ζητούν αρχείο firmware. Αυτό περιλαμβάνει τις κάρτες PSS, SM Wave, AudioTrix Pro και TurtleBeach Tropez/Maui. Με αυτές τις κάρτες πρέπει να χρησιμοποιηθεί η παλιά μέθοδος. Η νέα μέθοδος χρησιμοποιείται πάντα από το "make xconfig". Όταν χρησιμοποιείτε το "make menuconfig" μπορείτε να επιλέξετε μεταξύ του "παλιού" και "νέου" τρόπου στην υποοθόνη για ήχο. Όταν τρέχετε "make config" χρησιμοποιείται αυτόματα η "παλιά" μέθοδος. Παρόλα αυτά, αν έχετε χρησιμοποιήσει τη "νέα" μέθοδο μια φορά, θα χρησιμοποιηθεί και από το "make config" επίσης. Μπορείτε να γυρίσετε στον παλιό τρόπο τρέχοντας το "make menuconfig" και επιλέγοντας τον "παλιό" τρόπο. Ο τρόπος που προτείνουμε είναι η χρήση του "make menuconfig" μαζί με την "παλιά" μέθοδο ρύθμισης ήχου. Πολλά προβλήματα εγκατάστασης οφείλονται (τουλάχιστον σε κάποιο ποσοστό) σε λανθασμένη χρήση του νέου τρόπου. Είναι επίσης δυνατό να φορτώσετε το driver ήχου σαν loadable module του πυρήνα. Συνιστώ αρχικά να χτίσετε το driver στον πυρήνα. Αφού ελέγξετε ότι δουλεύει, μπορείτε να πειραματιστείτε χρησιμοποιώντας την επιλογή kernel module. Όταν τρέχετε make config, ενεργοποιήστε την υποστήριξη ήχου απαντώντας ναι "y" στην ερώτηση Sound card support (CONFIG_SOUND) [M/n/y/?] Στο τέλος των ερωτήσεων για τη ρύθμιση του πυρήνα, θα γίνει compile ένα πρόγραμμα ρύθμισης ήχου, θα τρέξει, και θα σας ρωτήσει τις παραμέτρους που χρειάζονται για την κάρτα σας. Προσοχή στις απαντήσεις σας μια και αν απαντήσετε μία ερώτηση λάθος μπορεί να σας εμποδίσει να απαντήσετε σε μερικές ερωτήσεις που ακολουθούν. Για παράδειγμα, μην απαντήσετε ναι "yes" στην πρώτη ερώτηση (PAS16) αν δεν έχετε PAS16. Μην ενεργοποιείτε περισσότερες κάρτες ήχου από όσες χρειάζεστε, μια και σπαταλούν μνήμη. Επίσης μερικοί drivers (όπως ο MPU-401) μπορεί να κάνουν conflict με τον ελεγκτή SCSI και να εμποδίζουν τον πυρήνα να κάνει boot. Παρακάτω παρουσιάζω μια σύντομη περιγραφή κάθε επιλογής. Σε κάθε ερώτηση μπορείτε να απαντήσετε "y" (ναι) ή "n" (όχι). Η προκαθορισμένη απάντηση "[Y/n/?]" σημαίνει "y" και η "[N/y/?]" σημαίνει πως η προκαθορισμένη απάντηση είναι "n". Για να διαλέξετε την προκαθορισμένη τιμή, απλά πατήστε Enter, αλλά θυμηθείτε ότι η προκαθορισμένη τιμή δεν είναι απαραίτητα και η σωστή. Αν γράψετε ένα ερωτηματικό ("?") θα διαβάσετε μια σύντομη περιγραφή για τη συγκεκριμένη επιλογή. Σημειώστε επίσης ότι μπορεί να μην ερωτηθείτε όλες τις ερωτήσεις. Το πρόγραμμα μπορεί να ακυρώσει μερικές ερωτήσεις οι οποίες εξαρτώνται από νωρίτερη απάντησή σας. Μπορεί επίσης να διαλέξει μερικές επιλογές για σας, αυτόματα. Old configuration exists in /etc/soundconf. Use it [Y/n/?] Αν έχετε κάνει compile προηγουμένως τον πυρήνα με υποστήριξη ήχου, τότε η προηγούμενη σας ρύθμιση μπορεί να σωθεί. Αν θέλετε να χρησιμοποιήσετε την προηγούμενη εγκατάσταση, πατήστε ναι "y". Αν θέλετε νέα ρύθμιση ή έχετε αναβαθμιστεί σε νέο πυρήνα, θα πρέπει να απαντήσετε όχι "n" και να συνεχίσετε τη διαδικασία εγκατάστασης. ProAudioSpectrum 16 support [Y/n/?] Απαντήστε ναι "y" μόνο αν έχετε a Pro Audio Spectrum 16, ProAudio Studio 16 or Logitech SoundMan 16. Μην απαντάτε 'y' αν έχετε κάποια άλλη κάρτα κατασκευασμένη από την Media Vision ή την Logitech μια που δεν είναι συμβατές με PAS16. SoundBlaster support [Y/n/?] Απαντήστε ναι "y" αν έχετε μια γνήσια κάρτα SoundBlaster της Creative Labs ή μια συμβατή 100% (όπως η Thunderboard ή η SM Games). Αν η κάρτα σας είναι στην λίστα των υποστηριζόμενων καρτών κοιτάξτε τις οδηγίες για αυτήν στο αρχείο Readme.cards πριν απαντήσετε σε αυτή την ερώτηση. Για μια άγνωστη κάρτα μπορείτε να απαντήσετε "y'" αν η κάρτα ισχυρίζεται πως είναι συμβατή με SoundBlaster. Gravis Ultrasound support [Y/n/?] Απαντήστε "y" αν έχετε GUS ή GUS MAX. Απαντήστε "n" αν δεν έχετε GUS μια που ο driver καταναλώνει πολύ μνήμη. MPU-401 support (NOT for SB16) [Y/n/?] Προσοχή σε αυτήν την ερώτηση. Το MPU-401 interface υποστηρίζεται από όλες σχεδόν τις κάρτες ήχου. Παρόλα αυτά, κάποιες κάρτες που υποστηρίζονται εγγενώς (natively)έχουν τους δικούς τους drivers για το MPU-401. Η ενεργοποίηση την επιλογή MPU-401 σε αυτές τις κάρτες θα δημιουργήσει conflict. Επίσης, η ενεργοποίηση του MPU-401 σε ένα σύστημα που δεν έχει πραγματικά MPU-401 θα μπορούσε να δημιουργήσει κάποια προβλήματα. Αν η κάρτα σας δεν είναι στη λίστα των υποστηριζόμενων καρτών, κοιτάξτε τις οδηγίες για την συγκεκριμένη κάρτα στο αρχείο Readme.cards. Είναι ασφαλές να απαντήσετε "y" αν έχετε μια κάρτα με αληθινό MPU-401 MIDI interface. 6850 UART Midi support [Y/n/?] Είναι ασφαλές να απαντήσετε "n" σε αυτήν την ερώτηση, σε κάθε περίπτωση. Το 6850 UART interface σπάνια χρησιμοποιείται. PSS (ECHO-ADI2111) support [Y/n/?] Απαντήστε "y" μόνο αν έχετε Orchid SW32, Cardinal DSP16 ή κάποια άλλη κάρτα που βασίζεται στο PSS chipset (AD1848 codec + ADSP-2115 DSP chip + Echo ESC614 ASIC CHIP). 16 bit sampling option of GUS (not GUS MAX) [Y/n/?] Απαντήστε "y" αν έχετε εγκατεστημένη την 16 bit sampling daughtercard στην GUS. Απαντήστε όχι "n" αν έχετε GUS MAX. Ενεργοποιώντας αυτή την επιλογή, απενεργοποιείται η υποστήριξη για GUS MAX. GUS MAX support [Y/n/?] Απαντήστε "y" μόνο αν έχετε GUS MAX. Microsoft Sound System support [Y/n/?] Σκεφτείτε προσεκτικά και εδώ, πριν απαντήσετε "y" σε αυτή την ερώτηση. Είναι ασφαλές να απαντήσετε "y" αν έχετε την γνήσια Windows Sound System card της Microsoft ή της Aztech, SG 16 Pro (ή NX16 Pro). Επίσης μπορείτε να απαντήσετε "y" σε περίπτωση που η κάρτα σας δεν αναφέρεται πουθενά μέχρι τώρα σε αυτό το κείμενο. Για κάρτες που υποστηρίζουν εγγενώς VoxWare, συμβουλευτείτε τις οδηγίες τις συγκεκριμένης κάρτας στο Readme.cards. Μερικοί drivers παρέχουν δικιά τους υποστήριξη MSS και ενεργοποιώντας αυτήν την επιλογή θα δημιουργήσει conflict. Ensoniq Soundscape support [Y/n/?] Απαντήστε "y" αν έχετε κάρτα ήχου βασισμένη στο chipset Ensoniq SoundScape. Τέτοιες κάρτες κατασκευάζονται τουλάχιστον από την Ensoniq, Spea και την Reveal (η Reveal κατασκευάζει επίσης και δικές της κάρτες). MediaTriX AudioTriX Pro support [Y/n/?] Απαντήστε "y" αν έχετε την AudioTriX Pro. Support for MAD16 and/or Mozart based cards? Απαντήστε "y" αν η κάρτα σας διαθέτει Mozart (OAK OTI-601) ή MAD16 (OPTi 82C928 ή 82C929) τσιπ ήχου. Αυτά τα τσιπς είναι πλέον πολύ κοινά και γι' αυτό είναι δυνατόν πολλές ανώνυμες κάρτες να έχουν κάποια από τα παραπάνω τσιπς. Επιπρόσθετα, το τσιπ MAD16 χρησιμοποιείται και σε μερικές κάρτες που κατασκευάζονται από γνωστούς κατασκευαστές η Turtle Beach (Tropez), η Reveal (μερικά μοντέλα της), η Diamond (τα πιο πρόσφατα). Support for Crystal CS4232 based (PnP) cards [Y/n/?] Απαντήστε "y" αν έχετε κάρτα βασισμένη στο chipset Crystal CS4232. Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers [Y/n/?]" Απαντήστε "y" αν έχετε οποιαδήποτε από αυτές τις κάρτες. SoundBlaster Pro support [Y/n/?] Ενεργοποιήστε αυτή την επιλογή αν η κάρτα σας είναι η SoundBlaster Pro ή η SoundBlaster 16. Ενεργοποιήστε την επίσης για οποιαδήποτε συμβατή με SoundBlaster Pro. Αν απαντήσετε "n" εξοικονομείτε μνήμη, αλλά η ασφαλής απάντηση εδώ είναι "y". SoundBlaster 16 support [Y/n/?] Ενεργοποιήστε την επιλογή αν έχετε την SoundBlaster 16 (συμπεριλαμβάνεται και η AWE32). Audio Excel DSP 16 initialization support [Y/n/?] Ενεργοποιήστε αυτή την επιλογή αν έχετε την κάρτα Audio Excel DSP16. Δείτε το αρχείο Readme.aedsp16 για περισσότερες πληροφορίες. To πρόγραμμα θα σας ρωτήσει μερικές ερωτήσεις σχετικά με την υποστήριξη κάποιων ακόμα υπηρεσιών. Σας συνιστούμε να απαντήσετε "y" σε κάθε μια από αυτές τις ερωτήσεις. Απαντήστε "n" μόνο αν γνωρίζετε ότι δε θα χρειαστείτε αυτή την επιλογή. /dev/dsp and /dev/audio support (usually required) [Y/n/?] Αν απαντήσετε "n", απενεργοποιείτε τα /dev/dsp και /dev/audio, τους μετατροπείς A/D και D/A. Απαντήστε "y". MIDI interface support [Y/n/?] Αν απαντήσετε "n", απενεργοποιείτε τα devices /dev/midixx και την πρόσβαση σε οποιεσδήποτε θύρες MIDI χρησιμοποιώντας τα /dev/sequencer και /dev/music. Αυτή η επιλογή επηρεάζει επίσης οποιαδήποτε συσκευή MPU-401 και/ή συμβατή με General MIDI. FM synthesizer (YM3812/OPL-3) support [Y/n/?] Εδώ απαντήστε "y". /dev/sequencer support [Y/n/?] Αν απαντήσετε "n", απενεργοποιείτε τα /dev/sequencer και /dev/music Do you want support for the mixer of SG NX Pro ? Απαντήστε "y" αν έχετε την κάρτα ήχου Sound Galaxy NX Pro και θέλετε υποστήριξη για τις έξτρα λειτουργίες του μίκτη (extended mixer functions). Do you want support for the MV Jazz16 (ProSonic etc.) ? Απαντήστε "y" αν έχετε την κάρτα ήχου MV Jazz16. Do you have a Logitech SoundMan Games [Y/n/?] Απαντήστε "y" αν έχετε την κάρτα ήχου Logitech SoundMan Games. Μετά τις παραπάνω ερωτήσεις για κάρτες ήχου, το πρόγραμμα ζητά πληροφορίες για τη ρύθμιση της συγκεκριμένης κάρτας. Συνήθως ζητείται η διεύθυνση I/O, οι τιμές των IRQ και DMA. Για μερικές κάρτες, το πρόγραμμα ζητά μερικά αρχεία που θα χρησιμοποιηθούν κατά την αρχικοποίηση της κάρτας. Αυτά χρησιμοποιούνται από κάρτες που διαθέτουν DSP ή μικροεπεξεργαστή που πρέπει να αρχικοποιηθεί "φορτώνοντας" ένα αρχείο (microcode) στην κάρτα. Σε κάποιες περιπτώσεις το αρχείο αυτό γράφεται στο a .h από το πρόγραμμα ρυθμίσεων και μετά ενσωματώνεται στον driver κατά το compile. Και εδώ, διαβάστε τις συγκεκριμένες πληροφορίες για την κάρτα σας στο αρχείο Readme.cards. Στο τέλος θα ερωτηθείτε: The sound driver is now configured. Save copy of this configuration to /etc/soundconf [Y/n/?] Φυσιολογικά θα απαντούσατε "y" έτσι ώστε αν μελλοντικά χρειαστεί να κάνετε ξανά compile τον πυρήνα, να έχετε την επιλογή να χρησιμοποιήσετε το ίδιο αρχείο ρυθμίσεων για τον driver ήχου. Εάν αναβαθμίζετε τον παλιό σας driver ήχου, σιγουρευτείτε ότι τα αρχεία /usr/include/sys/soundcard.h και /usr/include/sys/ultrasound.h είναι συμβολικά links στα αντίστοιχα αρχεία στο /usr/include/linux, ή απλά ότι περιέχουν τις γραμμές #include και #include , αντίστοιχα. Είστε τώρα έτοιμοι να κάνετε compile και να στήσετε το νέο πυρήνα. 4.3. Δημιουργία των Device files Για σωστή λειτουργία, πρέπει να δημιουργηθούν device file entries για τα sound devices. Αυτά κανονικά δημιουργούνται για σας κατά την εγκατάσταση του συστήματος Linux. Ένας σύντομος έλεγχος μπορεί να γίνει χρησιμοποιώντας την εντολή που φαίνεται παρακάτω. Αν το αποτέλεσμα είναι αυτό που φαίνεται παρακάτω (η ημερομηνία θα διαφέρει), τότε τα device files είναι σχεδόν σίγουρα εντάξει. % ls -l /dev/sndstat crw-rw-rw- 1 root root 14, 6 Apr 25 1995 /dev/sndstat Σημειώστε ότι το να έχετε τα σωστά device files δεν εγγυάται τίποτα από μόνο του. Ο driver του πυρήνα πρέπει επίσης να φορτωθεί ή να γίνει compile πριν να δουλέψουν τα devices (περισσότερα γι' αυτό παρακάτω). Σε σπάνιες περιπτώσεις, αν πιστεύετε ότι είναι λάθος τα device files, μπορείτε να τα ξαναδημιουργήσετε χρησιμοποιώντας το μικρό shell script που βρίσκεται στο τέλος του αρχείου Readme.linux στο directory /usr/src/linux/drivers/sound, τρέχοντάς το σα χρήστης root. Εναλλακτικά, οι περισσότερες διανομές Linux έχουν ένα script /dev/MAKEDEV το οποίο μπορεί να χρησιμοποιηθεί γι' αυτό το σκοπό. Αν χρησιμοποιείτε το PC speaker sound driver, διαβάστε την τεκμηρίωση που έρχεται μαζί με το πακέτο ώστε να αποφασίσετε αν πρέπει να δημιουργηθούν τίποτα device files. 4.4. Επανεκκίνηση του Linux και Έλεγχος της Εγκατάστασης Θα πρέπει τώρα να είστε έτοιμοι να ξεκινήσετε το νέο πυρήνα και να ελέγξετε τους drivers ήχου. Ακολουθήστε τη συνηθισμένη διαδικασία εγκατάστασης και επανεκκίνησης του νέου πυρήνα (κρατήστε φυσικά κάπου τον παλιό πυρήνα για τυχόν προβλήματα). Κατά την εκκίνηση, ελέγξτε για μήνυμα σαν το παρακάτω on powerup (αν τα μυνήματα εμφανίζονται πολύ γρήγορα και δεν προλαβαίνετε να τα διαβάσετε, μπορείτε να τα δείτε γράφοντας την εντολή dmesg): Sound initialization started at 0x220 irq 5 dma 1,5 at 0x330 irq 5 dma 0 at 0x388 Sound initialization complete Αυτό θα πρέπει να ταιριάζει με τον τύπο της κάρτας ήχου σας και τα jumper settings (αν υπάρχουν). Σημειώστε ότι τα παραπάνω μηνύματα δεν εμφανίζονται όταν χρησιμοποιείτε loadable sound driver module (εκτός και αν το ενεργοποιήσετε, π.χ. χρησιμοποιώντας το "insmod sound trace_init=1). Όταν ο driver ήχου γίνεται link στον πυρήνα, πρέπει να εμφανιστούν τα μηνύματα "Sound initialization started" και "Sound initialization complete". Αν δεν τυπώνονται, σημαίνει ότι δεν υπάρχει driver ήχου στον πυρήνα. Σε αυτή την περίπτωση, θα πρέπει να ελέγξετε ότι χρησιμοποιείτε πράγματι τον πυρήνα που κάνατε compile όταν ενεργοποιήσατε το driver ήχου. Αν δεν τυπώνεται τίποτα μεταξύ των γραμμών "Sound initialization started" και "Sound initialization complete", σημαίνει ότι δεν ανιχνεύθηκαν συσκευές ήχου. Πολύ πιθανά, αυτό σημαίνει ότι δεν έχετε ενεργοποιήσει το σωστό driver, η κάρτα δεν υποστηρίζεται, το I/O port is bad ή ότι έχετε κάρτα PnP η οποία δεν ρυθμίστηκε σωστά. Ο driver μπορεί επίσης να εμφανίσει μερικά μηνύματα λάθους και προειδοποιήσεις (warnings) κατά την εκκίνηση (boot). Προσέξτε για τέτοια μηνύματα όταν ξεκινά το σύστημα για πρώτη φορά μετά τη ρύθμιση του driver ήχου. Το επόμενο βήμα είναι να ελέγξετε το device file /dev/sndstat. Αν διαβάσετε το status device file του driver ήχου θα σας δώσει επιπλέον πληροφορίες για το αν ο driver της κάρτας ήχου έχει αρχικοποιηθεί σωστά. Ένα τυπικό αποτέλεσμα θα φαίνεται όπως το παρακάτω: % cat /dev/sndstat Sound Driver:3.5.4-960630 (Sat Jan 4 23:56:57 EST 1997 root, Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586) Kernel: Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586 Config options: 0 Installed drivers: Type 1: OPL-2/OPL-3 FM Type 2: Sound Blaster Type 7: SB MPU-401 Card config: Sound Blaster at 0x220 irq 5 drq 1,5 SB MPU-401 at 0x330 irq 5 drq 0 OPL-2/OPL-3 FM at 0x388 drq 0 Audio devices: 0: Sound Blaster 16 (4.13) Synth devices: 0: Yamaha OPL-3 Midi devices: 0: Sound Blaster 16 Timers: 0: System clock Mixers: 0: Sound Blaster Η παραπάνω εντολή μπορεί να αναφέρει μερικά μηνύματα λάθους. Το "No such file or directory" δείχνει ότι πρέπει να δημιουργήσετε τα device files (δείτε το τμήμα 4.3). Το "No such device" σημαίνει ότι ο driver ήχου δεν είναι φορτωμένος ή δεν έχει γίνει link στον πυρήνα. Επιστρέψτε στο τμήμα 4.2 για να το διορθώσετε. Αν οι γραμμές στο "Card config:" για το /dev/sndstat βρίσκονται εντός παρένθεσης (όπως: "(SoundBlaster at 0x220 irq 5 drq 1,5)"), σημαίνει πως η συσκευή αυτή παρόλο που ρυθμίστηκε, δεν εντοπίστηκε από το σύστημα. Τώρα θα πρέπει να είσαστε έτοιμοι να παίξετε ένα απλό αρχείο ήχου. Βρείτε ένα τέτοιο αρχείο και στείλτε το στην κάρτα, σαν ένα βασικό τεστ της δυνατότητας παραγωγής ήχου, π.χ.: % cat endoftheworld >/dev/dsp % cat crash.au >/dev/audio (Σιγουρευτείτε πως δεν παραλείψατε το ">" στις παραπάνω εντολές). Σημειώστε πως γενικά, η χρήση του cat δεν είναι ο κατάλληλος τρόπος να παίζετε αρχεία ήχου, αλλά απλά ένα γρήγορο τεστ. Θα χρειαστεί να βρείτε ένα πραγματικό πρόγραμμα ήχου (θα περιγραφούν αργότερα) που θα κάνει καλύτερη δουλειά. Αυτή η εντολή θα δουλέψει μόνο αν υπάρχει τουλάχιστον μια συσκευή στο τμήμα με τα audio devices του /dev/sndstat. Αν το τμήμα των audio devices είναι άδειο, πρέπει να ελέγξετε γιατί η συσκευή δεν εντοπίστηκε. Αν οι παραπάνω εντολές επιστρέφουν "I/O error", θα πρέπει να κοιτάξετε στο τέλος των μηνυμάτων του πυρήνα που εμφανίζονται με την εντολή "dmesg". Είναι πολύ πιθανό ένα μήνυμα λάθους να εμφανίζεται εκεί. Πολύ συχνά το μήνυμα είναι "Sound: DMA (output) timed out - IRQ/DRQ config error;". Το παραπάνω μήνυμα σημαίνει ότι ο driver δεν έλαβε το αναμενόμενο interrupt από την κάρτα ήχου. Στις περισσότερες περιπτώσεις αυτό σημαίνει ότι το IRQ ή το κανάλι DMA που ρυθμίστηκε στον driver δε δουλεύει. Ο καλύτερος τρόπος να το κάνετε να δουλέψει είναι να δοκιμάστε όλα τα πιθανά DMAs και IRQs που υποστηρίζονται από τη συσκευή. ’λλος πιθανός λόγος είναι ότι η συσκευή δεν είναι συμβατή με τη συσκευή για την οποία ρυθμίστηκε ο driver. Αυτή είναι σχεδόν πάντα η περίπτωση όταν μια υποτιθέμενη "συμβατή με SoundBlaster (Pro/16)" κάρτα ήχου δε δουλεύει με το driver για SoundBlaster. Σε αυτή την περίπτωση, δοκιμάστε να βρείτε τη συσκευή με την οποία η κάρτα ήχου σας είναι συμβατή (στέλνοντας, για παράδειγμα, μήνυμα στο newsgroup comp.os.linux.hardware). Μερικά δείγματα αρχείων ήχου θα βρείτε στο url="ftp://tsx-11.mit.edu/pub/linux/packages/sound/snd- data-0.1.tar.Z"> Τώρα μπορείτε να ελέγξετε την ηχογράφηση ήχου. Αν έχετε δυνατότητα για είσοδο ήχου (sound input), μπορείτε να κάνετε ένα γρήγορο τεστ χρησιμοποιώντας τις εντολές: # ηχογραφεί 4 δευτ/πτα ήχου από το μικρόφωνο EDT% dd bs=8k count=4 sample.au 4+0 records in 4+0 records out # play back sound % cat sample.au >/dev/audio Φυσικά για να δουλέψει κάτι τέτοιο, χρειάζεστε ένα μικρόφωνο συνδεδεμένο στην κάρτα ήχου σας και θα πρέπει να μιλήσετε σ' αυτό. Μπορεί να χρειαστείτε ένα πρόγραμμα mixer για να θέσετε το μικρόφωνο ως την πηγή εισόδου και να ρυθμίσετε την ένταση της ηχογράφησης. Αν τα τεστ αυτά ολοκληρωθούν επιτυχώς, μπορείτε να είσαστε ήσυχοι, σε λογικά πλαίσια βέβαια, πως τα D/A και A/D hardware και software δουλεύουν. Αν αντιμετωπίσετε προβλήματα, διαβάστε το επόμενο τμήμα αυτού του κειμένου. 4.5. Troubleshooting Αν ακόμα αντιμετωπίζετε προβλήματα παρόλο που ακολουθήσατε τις οδηγίες του HOWTO, εδώ υπάρχουν μερικά πράγματα που μπορείτε να ελέγξετε. Οι έλεγχοι αναγράφονται με αύξουσα σειρά πολυπλοκότητας. Αν ένας έλεγχος αποτύχει, λύστε το πρόβλημα πριν προχωρήσετε στο επόμενο βήμα. 4.5.1. Βήμα 1: Βεβαιωθείτε πως πραγματικά τρέχετε τον πυρήνα που κάνατε compile. Μπορείτε να ελέγξετε το date stamp του πυρήνα για να δείτε ότι χρησιμοποιείτε αυτόν που κάνατε compile με υποστήριξη ήχου. Αυτό μπορείτε να το κάνετε με την εντολή uname: % uname -a Linux fizzbin 2.0.0 #1 Tue Jun 4 16:57:55 EDT 1996 i386 ή κοιτώντας το αρχείο /proc/version: % cat /proc/version Linux version 2.0.0 (root@fizzbin) (gcc version 2.7.0) #1 Tue Jun 4 16:57:55 EDT 1996 Αν το date stamp δεν ταιριάζει με την ημερομηνία που κάνατε compile τον πυρήνα, τότε τρέχετε έναν παλιό πυρήνα. Κάνατε reboot; Αν χρησιμοποιείτε LILO το ξαναεγκαταστήσατε (τυπικά τρέχοντας /etc/lilo/install); Αν ξεκινήσετε από δισκέτα, δημιουργήσατε νέα boot δισκέτα και αν ναι, την χρησιμοποιήσατε κατά την εκκίνηση; 4.5.2. Βήμα 2: Βεβαιωθείτε πως οι drivers ήχου του πυρήνα συμπεριλήφθησαν στο compile. Ο απλούστερος τρόπος για αυτό, είναι να ελέγξετε την έξοδο του "dev/sndstat" όπως περιγράφηκε νωρίτερα. Αν η έξοδος δεν είναι η αναμενόμενη τότε κάτι πήγε λάθος με τις ρυθμίσεις του πυρήνα ή τo build του. Αρχίστε ξανά την διαδικασία εγκατάστασης, ξεκινώντας από το configuration και to χτίσιμο του πυρήνα. 4.5.3. Βήμα 3: Αναγνώρισε ο πυρήνας την κάρτα ήχου κατά την εκκίνηση; Βεβαιωθείτε πως η κάρτα ήχου εντοπίστηκε από τον πυρήνα κατά την εκκίνηση. Θα πρέπει να είδατε κάποιο μήνυμα κατά την εκκίνηση. Αν τα μηνύματα κάνανε scroll έξω από την οθόνη σας, μπορείτε να τα ξαναδείτε με την εντολή dmesg: % dmesg ή % tail /var/adm/messages Αν η κάρτα ήχου σας δεν βρέθηκε τότε κάτι πάει λάθος. Βεβαιωθείτε πως έχει αληθινά εγκατασταθεί. Αν η κάρτα ήχου δουλεύει σε DOS τότε μπορείτε να είσαστε σχετικά σίγουροι πως το hardware δουλεύει, και άρα πρόκειται για πρόβλημα στις ρυθμίσεις του πυρήνα. Ή δηλώσατε την κάρτα σας ως λάθος τύπο, ή με λάθος παραμέτρους, ή η κάρτα ήχου σας δεν είναι συμβατή με κανέναν driver κάρτας ήχου του πυρήνα του Linux. Μία πιθανότητα είναι ότι η κάρτα ήχου σας είναι μια από τις "συμβατού" τύπου που χρειάζεται αρχικοποίηση από το DOS driver. Δοκιμάστε να εκκινήσετε DOS και να φορτώσετε το driver που παρέχεται από τον πωλητή της κάρτα ήχου. Μετά επανεκκινήστε (soft boot) σε Linux πατώντας Control-Alt-Delete. Σιγουρευτείτε ότι η διεύθυνση I/O της κάρτας ήχου, οι ρυθμίσεις DMA και IRQ στο Linux είναι ίδιες όπως και στο DOS. Διαβάστε το αρχείο Readme.cards από τη διανομή του πηγαίου κώδικα του driver της κάρτας ήχου για τυχόν υποδείξεις για τη ρύθμιση κάρτας ήχου αυτού του τύπου. Αν η κάρτα ήχου σας δε συμπεριλαμβάνεται σε αυτό το κείμενο, είναι πιθανό ότι οι Linux drivers δεν την υποστηρίζουν. Μπορείτε να το ελέγξετε με κάποιες από τις παραπομπές που βρίσκονται για βοήθεια στο τέλος του κειμένου. 4.5.4. Βήμα 4: Μπορείτε να διαβάσετε δεδομένα από το dsp device ; Προσπαθήστε να διαβάσετε από τη συσκευή /dev/audio χρησιμοποιώντας την εντολή dd που παρουσιάστηκε νωρίτερα σε αυτό το κείμενο. Η εντολή πρέπει να τρέχει χωρίς λάθη. Αν δε δουλεύει, τότε το πιθανότερο είναι πως το πρόβλημα είναι IRQ ή DMA conflict ή κάποιο είδος ασυμβατότητας σε επίπεδο hardware (η συσκευή δεν υποστηρίζεται από το Linux ή ο driver έχει ρυθμιστεί για λάθος συσκευή). Μια μικρή πιθανότητα είναι η ύπαρξη ελαττωματικού hardware. Δοκιμάστε να ελέγξετε την κάρτα ήχου στο DOS, αν είναι δυνατό, ώστε να εξαλείψετε αυτή την πιθανότητα. 4.5.5. Oταν όλα έχουν αποτύχει . Αν εξακολουθείτε να έχετε προβλήματα, δείτε παρακάτω μερικές τελικές προτάσεις για το τι μπορείτε να δοκιμάσετε: · ξαναδιαβάστε προσεκτικά αυτό το HOWTO · διαβάστε τις παραπομπές που υπάρχουν στο τέλος του κειμένου, ειδικά τις web σελίδες του Hannu Savolainen's και τα σχετικά Readme αρχεία του πηγαίου κώδικα του πυρήνα · στείλτε μια ερώτηση σε ένα newsgroup του comp.os.linux ή κάποιο άλλο Usenet newsgroup (το comp.os.linux.hardware είναι μια καλή επιλογή. Εξαιτίας του μεγάλου φόρτου σε αυτά τα γκρουπ βοηθάει να βάλετε τη λέξη "sound" στην επικεφαλίδα του subject του μηνύματος έτσι ώστε να το δουν οι κατάλληλοι ειδικοί) · Το να χρησιμοποιήσετε μια Web/Usenet search engine με έξυπνα διαλεγμένα κριτήρια αναζήτησης μπορεί να σας δώσει πολύ καλά αποτελέσματα και γρήγορα. Μια τέτοια επιλογή είναι το · Δοκιμάστε να χρησιμοποιήσετε τον πιο πρόσφατο πυρήνα Linux (αλλά μόνο σαν ύστατη προσπάθεια, οι πιο πρόσφατοι υπό ανάπτυξη πυρήνες μπορεί να είναι ασταθείς) · στείλτε mail στο συγγραφέα του driver ήχου · στείλτε mail στο συγγραφέα του Sound HOWTO · σηκώστε το emacs και γράψτε Esc-x doctor :-) Παρουσιάζω εδώ ένα δείγμα του τύπου των εφαρμογών που πιθανά θα θέλετε αν έχετε εγκαταστήσει κάρτα ήχου σε Linux. Μπορείτε να ελέγξετε το Linux Software Map, τα Internet archive sites, και/ή τα αρχεία στο Linux CD-ROM που έχετε για πιο πρόσφατες πληροφορίες . Πολύ πιθανά θα θέλετε να αποκτήσετε τουλάχιστον τις παρακάτω εφαρμογές : · βοηθητική εφαρμογή για μετατροπή format ήχου (π.χ. Sox) · βοηθητική εφαρμογή μίκτη (mixer utility) (π.χ. aumix ή xmix) · player/recorder ψηφιοποιημένων αρχείων (π.χ. play ή wavplay) · MOD file player (π.χ. tracker) · MIDI file player (π.χ. playmidi) Υπάρχουν text-based αλλά και GUI-based εκδόσεις για τα περισσότερα από αυτά τα εργαλεία. Υπάρχουν επίσης μερικές περισσότερο esoteric εφαρμογές (π.χ. αναγνώριση και σύνθεση φωνής) που ίσως θέλετε να δοκιμάσετε. 5. Απαντήσεις σε Συχνά Διατυπωμένες Ερωτήσεις Αυτό το τμήμα απαντά σε ερωτήσεις που γίνονται συχνά στα Usenet news groups και τις mailing lists. Απαντήσεις σε περισσότερες ερωτήσεις θα βρείτε στη web σελίδα του OSS driver ήχου. 5.1. Τι είναι τα sound device files; Αυτά είναι πιο "στάνταρ" ονόματα των device files, μερικές διανομές Linux μπορεί να χρησιμοποιήσουν λίγο διαφορετικά ονόματα. /dev/audio κανονικά ένα link στο /dev/audio0 /dev/audio0 audio device συμβατό με Sun workstation (μερική μόνο υλοποίηση, δεν υποστηρίζει Sun ioctl interface, μόνο κωδικοποίηση u-law) /dev/audio1 δεύτερο audio device (αν υποστηρίζεται από την κάρτα ήχου ή αν έχουν εγκαταστηθεί περισσότερες από μία κάρτες ήχου) /dev/dsp κανονικά ένα link στο /dev/dsp0 /dev/dsp0 πρώτη συσκευή ψηφιακής δειγματοληψίας (digital sampling) /dev/dsp1 δεύτερη συσκευή ψηφιακής δειγματοληψίας (digital sampling) /dev/mixer κανονικά ένα link στο /dev/mixer0 /dev/mixer0 πρώτος μίκτης (mixer) ήχου /dev/mixer1 δεύτερο μίκτης (mixer) ήχου /dev/music high-level sequencer interface /dev/sequencer low level MIDI, FM, και GUS access /dev/sequencer2/ κανονικά ένα link στο /dev/music /dev/midi00 πρώτη θύρα raw MIDΙ /dev/midi01 δεύτερη θύρα MIDI /dev/midi02 τρίτη θύρα MIDI /dev/midi03 τέταρτη θύρα MIDI /dev/sndstat εμφανίζει την κατάσταση του driver ήχου όταν διαβαστεί Ο PC speaker driver παρέχει τα παρακάτω devices : /dev/pcaudio ισοδύναμο με το /dev/audio /dev/pcsp ισοδύναμο με το /dev/dsp /dev/pcmixer ισοδύναμο με το /dev/mixer 5.2. Πώς μπορώ να παίξω έναν ήχο ; Τα Sun workstation (.au) αρχεία ήχου μπορούν να παιχτούν στέλνοντάς τα στο /dev/audio device. Τα raw samples μπορούν να σταλούν στο /dev/dsp. Όμως, αυτό θα δώσει γενικά φτωχό αποτέλεσμα, και η χρήση ενός προγράμματος όπως το play είναι προτιμότερη, μια και θα αναγνωρίσει τους περισσότερους τύπους αρχείων και θα θέσει την κάρτα ήχου στο σωστό ρυθμό δειγματοληψίας, κλπ. Προγράμματα όπως το wavplay ή το vplay (μέσα στο πακέτο snd-util) θα δώσουν καλύτερα αποτελέσματα με τα αρχεία WAV files. Παρόλαυτά, δεν αναγνωρίζουν τα WAV αρχεία με συμπίεση Microsoft ADPCM. Επίσης, παλιότερες εκδόσεις του play (από το πακέτο Lsox) δε δουλεύουν καλά με WAV αρχεία 16 bit. Η εντολή splay που περιλαμβάνεται στο πακέτο snd-util μπορεί να χρησιμοποιηθεί για να παίξετε τα περισσότερα αρχεία ήχου αν δοθούν οι κατάλληλοι παράμετροι με το χέρι σε command line. 5.3. Πώς μπορώ να ηχογραφήσω έναν ήχο ; Αν διαβάσετε το /dev/audio ή το /dev/dsp θα σας επιστρέψει sampled data τα οποία μπορούν να σταλούν σε ένα αρχείο. Ένα πρόγραμμα σαν το vrec κάνει ευκολότερο τον έλεγχο του ρυθμού δειγματοληψίας, της διάρκειας, κλπ. Μπορεί να χρειαστείτε επίσης ένα πρόγραμμα μίκτη (mixer) για να επιλέγετε την κατάλληλη συσκευή εισόδου. 5.4. Μπορώ να έχω περισσότερες από μία κάρτες ; Με τον τρέχoντα driver ήχου είναι δυνατό να έχετε την ίδια στιγμή στο σύστημα διάφορες κάρτες όπως SoundBlaster, SoundBlaster/Pro, SoundBlaster16, MPU-401 ή MSS. Η εγκατάσταση δύο καρτών SoundBlaster είναι δυνατή αλλά απαιτεί να ορίσετε χειροκίνητα τα macros SB2_BASE, SB2_IRQ, SB2_DMA και (σε μερικές περιπτώσεις) SB2_DMA2 ανοίγοντας σε έναν editοr το local.h. Είναι επίσης δυνατό να έχετε μια SoundBlaster την ίδια στιγμή με ένα PAS16. Με τους νέους πυρήνες 2.0.x που ρυθμίζουν τον ήχο με την εντολή make config, αντί να γράψετε στο αρχείο local.h, πρέπει να ανοίξετε το αρχείο /usr/include/linux/autoconf.h. Μετά το τμήμα που έχει τις παρακάτω γραμμές : #define SBC_BASE 0x220 #define SBC_IRQ (5) #define SBC_DMA (1) #define SB_DMA2 (5) #define SB_MPU_BASE 0x0 #define SB_MPU_IRQ (-1) προσθέστε αυτές τις γραμμές (με τις κατάλληλες τιμές για το σύστημά σας): #define SB2_BASE 0x330 #define SB2_IRQ (7) #define SB2_DMA (2) #define SB2_DMA2 (2) Οι παρακάτω drivers δεν επιτρέπουν πολλαπλά instances: · GUS (περιορισμός από driver) · MAD16 (περιορισμός από hardware) · AudioTrix Pro (περιορισμός από hardware) · CS4232 (περιορισμός από hardware) 5.5. Error: No such file or directory for sound devices Χρειάζεται να δημιουργήσετε τα device files του driver ήχου. Δείτε το τμήμα σχετικά με τη δημιουργία device files. Αν έχετε device files, σιγουρευτείτε ότι έχουν το σωστό μέγιστο και ελάχιστο αριθμό συσκευής (device) (μερικές παλιότερες διανομές CD-ROM Linux μπορεί να μη δημιουργούν τα σωστά device files κατά την εγκατάσταση). 5.6. Error: No such device for sound devices Δεν έχετε ξεκινήσει με πυρήνα που περιέχει τον driver ήχου ή η ρύθμιση της I/O διεύθυνσης δεν ταιριάζει με το hardware. Ελέγξτε ότι τρέχετε τον πυρήνα που μόλις κάνατε compile και επιβεβαιώστε ότι οι ρυθμίσεις που δώσατε κατά τη ρύθμιση του driver ήχου συμφωνούν με το hardware setup. 5.7. Error: No space left on device for sound devices Αυτό μπορεί να συμβεί αν προσπαθήσατε να ηχογραφήσετε ήχο στο /dev/audio ή /dev/dsp χωρίς να έχετε πρώτα δημιουργήσει τα απαραίτητα device files. Η συσκευή ήχου είναι τώρα ένα κανονικό αρχείο, και έχει γεμίσει το partition του σκληρού σας δίσκου. Θα πρέπει να τρέξετε το script που περιγράφεται στο τμήμα "Δημιουργία των Device files" αυτού του κειμένου. Αυτό μπορεί να συμβεί επίσης με το Linux 2.0 και μεγαλύτερο αν δεν υπάρχει αρκετή ελεύθερη μνήμη (RAM) στο σύστημα όταν ανοίγει η device. O driver ήχου απαιτεί τουλάχιστον δύο σελίδες (8k) φυσικής συνεχόμενης RAM για κάθε κανάλι DMA. Αυτό συμβαίνει μερικές φορές σε μηχανές με λιγότερη από 16M μνήμη ή που τρέχουν για μεγάλο χρονικό διάστημα. Είναι δυνατό να ελευθερώσετε λίγη μνήμη κάνοντας compile και τρέχοντας το παρακάτω C πρόγραμμα πριν να προσπαθήσετε να ανοίξετε ξανά το device : main() { int i; char mem[500000]; for (i = 0; i < 500000; i++) mem[i] = 0; exit(0); } 5.8. Error: Device busy for sound devices Μόνο μία διαδικασία μπορεί να ανοίξει μία δοσμένη συσκευή ήχου την ίδια στιγμή. Πολύ πιθανά μερικές άλλες διεργασίες χρησιμοποιούν τη συσκευή για την οποία γίνεται λόγος. Ένας τρόπος να βεβαιωθείτε είναι να χρησιμοποιήσετε την εντολή fuser : % fuser -v /dev/dsp /dev/dsp: USER PID ACCESS COMMAND tranter 265 f.... tracker Στο παραπάνω παράδειγμα, η εντολή fuser έδειξε ότι η διαδικασία (process) 265 είχε τη συσκευή ανοικτή. Αν περιμένετε τη διαδικασία να ολοκληρωθεί ή τη σκοτώσετε θα μπορείτε μετά να έχετε ξανά πρόσβαση στη συσκευή ήχου. Θα πρέπει να τρέξετε την εντολή fuser σα root έτσι ώστε να αναφέρεται η χρήση και από άλλους χρήστες εκτός από εσάς. 5.9. Εξακολουθώ να βλέπω device busy errors! Σύμφωνα με τον Brian Gough, για τις κάρτες SoundBlaster που χρησιμοποιούν το DMA κανάλι 1 υπάρχει μια πιθανή potential σύγκρουση (conflict) με τον tape driver QIC-02, που χρησιμοποιεί επίσης το DMA 1, προκαλώντας λάθη "device busy". Αν χρησιμοποιείτε FTAPE, μπορεί να έχετε ενεργοποιήσει αυτό το driver. Σύμφωνα με το FTAPE-HOWTO ο driver QIC-02 δεν είναι απαραίτητος για τη χρήση του FTAPE; μόνο ο driver QIC-117 απαιτείται. Αν ρυθμίσετε ξανά τον πυρήνα ώστε να χρησιμοποιεί τον QIC-117 και όχι τον QIC-02, το FTAPE και o driver ήχου θα μπορούν να συνυπάρχουν. 5.10. Μερική εκτέλεση του (Partial playback) ψηφιοποιημένου ήχου Το σύμπτωμα είναι συνήθως ότι ένα δείγμα ήχου (sound sample) παίζει περίπου για ένα δευτερόλεπτο και μετά σταματά τελείως ή αναφέρει κάπoιο μήνυμα λάθους όπως "missing IRQ" ή "DMA timeout". Πολύ πιθανά δεν έχετε σωστές ρυθμίσεις IRQ ή στο κανάλι DMA. Βεβαιωθείτε ότι οι ρυθμίσεις του πυρήνα συμφωνούν με τα jumper settings της κάρτας ήχου και ότι δε δημιουργείται κάποιο conflict με άλλη κάρτα. ’λλο σύμπτωμα είναι δείγματα ήχου (sound samples) που επαναλαμβάνονται συνέχεια ("loop"). Αυτό συνήθως οφείλεται σε IRQ conflict. 5.11. Υπάρχουν διακοπές όταν παίζω MOD αρχεία Για να παίξετε αρχεία MOD files απαιτείται σημαντική CPU power. Μπορεί να τρέχετε πολλές διαδικασίες ή ο υπολογιστής σας να είναι πολύ αργός για να παίξει σε πραγματικό χρόνο (real time). Οι επιλογές που έχτε είναι : · δοκιμάστε να παίξετε με μικρότερο ρυθμό δειγματοληψίας ή σε mono mode · λιγοστέψτε τις άλλες διαδικασίες · αγοράστε ένα καλύτερο υπολογιστή · αγοράστε μια ισχυρότερη κάρτα ήχου (π.χ. Gravis UltraSound) Αν έχετε κάρτα Gravis UltraSound, θα πρέπει να χρησιμοποιείτε έναν από τους mod file players που έχουν γραφτεί ειδικά για κάρτες GUS (π.χ. gmod). 5.12. Λάθη compile κατά το compilation εφαρμογών ήχου Η έκδοση 1.0c και παλιότερες του driver ήχου χρησιμοποιούσαν ένα διαφορετικό και ασύμβατο ioctl() σχήμα. Αποκτήστε ένα πιο πρόσφατο πηγαίο κώδικα ή κάντε τις απαραίτητες αλλαγές και προσαρμόστε τις στο νέο driver ήχου. Δείτε toReadme αρχείο του driver ήχου για περισσότερες λεπτομέρειες. Επίσης σιγουρευτείτε ότι χρησιμοποιήσατε την πιο πρόσφατη έκδοση του soundcard.h και ultrasound.h όταν κάνατε compile την εφαρμογή. Δείτε τις οδηγίες εγκατάστασης στην αρχή αυτού του κειμένου. 5.13. SEGV όταν τρέχω εκτελέσιμα αρχεία ήχου τα οποία δούλευαν παλιότερα Αυτό το πρόβλημα είναι πιθανώς το ίδιο με αυτό που περιγράψαμε στην προηγούμενη ερώτηση. 5.14. Ποια bugs ή περιορισμοί είναι μέχρι τώρα γνωστά στους drivers ήχου; Δείτε το αρχείο Readme και τα αρχεία CHANGELOG που περιλαμβάνονται στον πηγαίο κώδικα του driver ήχου. 5.15. Πού βρίσκεται η τεκμηρίωση των sound driver ioctls() κλπ. ; Αυτά έχουν τεκμηριωθεί μερικά στο Hacker's Guide to VoxWare, τα οποία είναι διαθέσιμα σε draft μορφή. H πιο πρόσφατη έκδοση είναι το draft 2, και μπορείτε να τη βρείτε στο . Σημειώστε ότι το directory είναι "κρυφό" και δε θα εμφανιστεί στα περιεχόμενα του directory. Αν κάνετε "cd" σε αυτό το directory και χρησιμοποιήσετε την FTP εντολή "dir", τα αρχεία είναι εκεί. Το διάστημα που γράφεται αυτό το κείμενο, ένα νέο κείμενο τεκμηρίωσης είναι διαθέσιμο στο Web site της 4Front Technologies. ’λλη πηγή πληροφορίας είναι το Linux Multimedia Guide, το οποίο περιγράφεται στο τμήμα "Παραπομπών". 5.16. Τι CPU resources απαιτούνται ώστε να παίζω ή να ηχογραφώ ήχους χωρίς διακοπές; Δεν υπάρχει απάντηση σε αυτή την ερώτηση, καθώς εξαρτάται από το: · αν χρησιμοποιείτε PCM sampling ή σύνθεση FM · ρυθμό και εύρος δειγματοληψίας · ποια εφαρμογή χρησιμοποιείται για να αναπαράγετε ή να ηχογραφείτε ήχο · το hardware της κάρτας ήχου · o ρυθμός I/O δίσκου, ταχύτητα CPU clock, μέγεθος cache, κλπ. Γενικά, οποιαδήποτε μηχανή 386 θα πρέπει να μπορεί να παίζει με ευκολία ήχους ή μουσική FM synthesized με μία 8 bit κάρτα ήχου. Το να παίξετε, όμως, MOD αρχεία απαιτεί μεγάλη υπολογιστική ισχύ. Μερικές πειραματικές μετρήσεις έδειξαν ότι το να παίζεις στα 44kHz απαιτεί περισσότερο από 40% της ταχύτητας ενός 486/50 και ένας 386/25 μπορεί να παίζει με τα βίας γρηγορότερα από 22 kHz (με κάρτα ήχου 8 bit όπως μια SoundBlaster). Μια κάρτα σαν την Gravis UltraSound εκτελεί περισσότερες λειτουργίες στο hardware, και θα απαιτεί λιγότερη υπολογιστική ισχύ. Για τα παραπάνω υποθέτουμε ότι ο υπολογιστής δεν εκτελεί άλλες υπολογιστικά κοπιαστικές λειτουργίες. Η μετατροπή αρχείων ήχου ή η προσθήκη εφφέ χρησιμοποιώντας μια βοηθητική εφαρμογή όπως το sox είναι επίσης πολύ πιο γρήγορη αν έχετε μαθηματικό συνεπεξεργαστή (ή CPU με on board FPU). Ο driver του πυρήνα από μόνος του δεν κάνει υπολογισμούς κινητής υποδιαστολής. 5.17. Προβλήματα με τον PAS16 και τον Adaptec 1542 SCSI host adaptor (η παρακάτω εξήγηση δόθηκε από το seeker@indirect.com) To Linux μόνο αναγνωρίζει τον 1542 στη διεύθυνση 330 (default) ή 334, και ο PAS επιτρέπει την προσομοίωση MPU-401 μόνο στο 330. Ακόμη κι αν απενεργοποιήσετε το MPU-401 από το software, κάτι εξακολουθεί να κάνει conflict με τον 1542 αν έχει την default διεύθυνση. Αλλάξτε τη διεύθυνση του 1542 σε 334 και θα λειτουργούν όλα μια χαρά . Επιπλέον, και ο 1542 και o PAS-16 κάνουν 16-bit DMA, γι' αυτό αν δειματοληπτήσετε (sample) στα 16-bit 44 KHz stereo και αποθηκεύσετε το αρχείο στο SCSI drive που κρέμεται από τον 1542, θα έχετε προβλήματα. Τα DMAs επικαλύπτονται και δεν υπάρχει αρκετός χρόνος για RAM refresh, έτσι θα πάρετε το dread μήνυμα ``PARITY ERROR - SYSTEM HALTED'', χωρίς να έχετε ιδέα τι το προκάλεσε. Το θέμα γίνεται ακόμα χειρότερο μια που μερικοί δευτερογενείς προμηθευτές QIC-117 tape drives συνιστούν να θέτετε τους χρόνους on/off του διαύλου (bus) ώστε ο 1542 να μένει σε on ακόμα περισσότερο από το κανονικό. Πάρτε το πρόγραμμα SCSISEL.EXE από τη BBS της Adaptec ή από κάπου στο internet, και μειώστε το χρόνο BUS ON ή αυξήστε το χρόνο BUS OFF μέχρι ότου να εξαφανιστεί το πρόβλημα, μετά αυξήστε τον κατά μια κλίμακα ή και περισσότερες. Το SCSISEL αλλάζει τις ρυθμίσεις της EEPROM, γι' αυτό είναι περισσότερο μόνιμο απ' ότι ένα patch στη γραμμή του DOS driver στο CONFIG.SYS, και θα δουλέψει αν ξεκινήσετε σωστά σε Linux (αντίθετα με το DOS patch). Τελευταίο πρόβλημα - τα παλιότερα Symphony chipsets μείωσαν δραματικά το χρονισμό των κύκλων I/O , ώστε να επιταχύνουν τους χρόνους πρόσβασης στο δίαυλο. Κανένα από τα διάφορα boards με τα οποία έχω παίξει δεν είχε πρόβλημα με το μειωμένο χρονισμό εκτός από το PAS-16. Η Media Vision's BBS δίνει το SYMPFIX.EXE το οποίο υποτίθεται ότι διορθώνει το πρόβλημα αντιστρέφοντας ένα bit που χρησιμοποιείται για διαγνωστικούς λόγους στον ελεγκτή διαύλου του Symphony, αλλά δεν είναι και σίγουρη εγγύηση. Μπορεί να χρειαστεί να : · ζητήσετε από τον προμηθευτή της μητρικής να αντικαταστήσει την παλιότερη έκδοση του τσιπ του διαύλου, · αντικαταστήστε τη μητρική, ή · αγοράσετε μια διαφορετικής μάρκας κάρτα ήχου. Η Young Microsystems θα αναβαθμίσει τα boards που εισάγει για περίπου $30 (US). ’λλοι προμηθευτές μπορεί να κάνουν παρομοίως αν μπορούν να εντοπίσουν ποιος κατασκεύασε ή εισήγαγε τις μητρικές (καλή τύχη). Απ' ότι γνωρίζω το πρόβλημα είναι στο ProAudio's bus interface chip. Κανείς δεν αγοράζει μια κάρτα ήχου $120 και την κολλάει σε ένα 6MHz AT. Οι περισσότεροι παίζουν με 25-40MHz 386/486, και θα πρέπει λογικά να μπορούν να αντιμετωπίσουν ταχύτητες διαύλου των 12MHz αν τα τσιπάκια είναι σχεδιασμένα σωστά. Το πρώτο πρόβλημα εξαρτάται από το chipset που χρησιμοποιεί το motherboard σας, την ταχύτητα διαύλου και άλλες ρυθμίσεις του BIOS, και την φάση του φεγγαριού. Το δεύτερο πρόβλημα εξαρτάται από την τιμή της επιλογής refresh (hidden ή synchronous), το ρυθμό του 1542 DMA και (πιθανώς) το ρυθμό του διαύλου I/O. Το τρίτο μπορεί να καθοριστεί επικοινωνώντας με την Media Vision και ρωτώντας ποια έκδοση του τσιπ Symphony δεν είναι συμβατό με τον αργή υλοποίησή τους. Σας προειδοποιώ, παρόλαυτα- 3 ή 4 τεχνικοί με τους οποίους μίλησα είχαν εγκεφαλικές βλάβες. Θα ήμουν φιλύποπτος σχετικά με ο,τιδήποτε πουν για κάποιου άλλου το hardware, μια που δεν ξέρουν καλά ούτε καν το δικό τους. 5.18. Είναι δυνατό να διαβάζω και να γράφω δείγματα (samples) ταυτόχρονα; Λόγω περιορισμών hardware, αυτό δεν είναι δυνατό με τις περισσότερες κάρτες ήχου. Μερικές νεότερες κάρτες το υποστηρίζουν. Δείτε το τμήμα "bidirectional mode" στο Hacker's Guide to Voxware για περισσότερες πληροφορίες. 5.19. Η SB16 μου έχει IRQ 2, αλλά το configure δεν επιτρέπει αυτή την τιμή Στις μηχανές '286 και αργότερα, το interrupt IRQ 2 δίνεται στον δεύτερο interrupt controller. Ισοδυναμεί με το IRQ 9. 5.20. Υποστηρίζεται η "SoundBlaster AWE32" ή η "SoundBlaster16 ASP"; Παλιότερα, η Creative Labs δεν ήταν πρόθυμη να δημοσιοποιήσει πληροφορίες γι' αυτές τις κάρτες. Σήμερα έχουν αλλάξει πολιτική και o AWE driver περιλαμβάνεται στους Linux πυρήνες 2.1.x. 5.21. Αν τρέξω Linux και μετά ξεκινήσω με DOS, παίρνω λάθη και/ή οι εφαρμογές ήχου που έχω δεν δουλεύουν σωστά Αυτό συμβαίνει μετά από ένα soft reboot στο DOS. Μερικές φορές το μήνυμα λάθους παραπλανητικά αναφέρεται σε κακό, λανθασμένο αρχείο CONFIG.SYS. Οι περισσότερες σύγχρονες κάρτες ήχου έχουν προγραμματιζόμενες από software ρυθμίσεις IRQ και DMA. Aν χρησιμοποιείτε διαφορετικές ρυθμίσεις μεταξύ Linux και MS-DOS/Windows, μπορεί να σας δημιουργήσει προβλήματα. Μερικές κάρτες ήχου δε δέχονται νέες παραμέτρους χωρίς πλήρη επανεκκίνηση (π.χ. κλείστε το ρεύμα ή χρησιμοποιήστε το κουμπί hardware reset). Μια γρήγορη λύση σε αυτό το πρόβλημα είναι να κάνετε μια πλήρη επανεκκίνηση χρησιμοποιώντας το κουμπί reset ή το διακόπτη ρεύματος αντί μια μαλακή επανεκκίνηση (π.χ. Ctrl-Alt-Del). H σωστή λύση είναι να βεβαιωθείτε ότι χρησιμοποιείτε τις ίδιες ρυθμίσεις IRQ και DMA και στο MS-DOS και στο Linux (ή μη χρησιμοποιήσετε DOS :-). 5.22. Προβλήματα με το DOOM κάτω από Linux Οι χρήστες της μεταφοράς του παιχνιδιού DOOM της ID για Linux μπορεί να ενδιαφέρονται για τις παρακάτω σημειώσεις. Για σωστή έξοδο ήχου χρειάζεστε το driver ήχου με έκδοση 2.90 ή νεότερη. Υποστηρίζει real-time "DOOM mode". Τα δείγματα ήχου είναι 16-bit. Αν έχετε 8-bit κάρτα ήχου μπορείτε να την κάνετε να παίξει χρησιμοποιώντας τα διάφορα προγράμματα που είναι διαθέσιμα στο . Αν η απόδοση στο DOOM είναι μικρή στο σύστημά σας, η απενεργοποίηση του ήχου (αλλάζοντας το όνομα του αρχείου sndserver) μπορεί να φέρει βελτίωση. Από default το DOOM δεν υποστηρίζει ήχο (όπως στην έκδοση για DOS). Το πρόγραμμα musserver θα προσθέσει υποστήριξη για ήχο στο DOOM κάτω από Linux. Θα το βρείτε στο url="ftp://pandora.st.hmc.edu/pub/linux/musserver.tgz">. 5.23. Πώς μπορώ να μειώσω το θόρυβο που κάνει η κάρτα ήχου μου; Χρησιμοποιώντας καλής ποιότητας μονωμένα καλώδια και δοκιμάζοντας την κάρτα ήχου σε διαφορετικά slots μπορεί να σας βοηθήσει στη μείωση του θορύβου. Αν η κάρτα ήχου έχει ρυθμιστή έντασης ήχου, μπορείτε να δοκιμάσετε διαφορετικές ρυθμίσεις (το μέγιστο είναι μάλλον το καλύτερο). Χρησιμοποιώντας ένα πρόγραμμα μίξης μπορείτε να σιγουρευτείτε ότι οι ανεπιθύμητες είσοδοι (π.χ. μικρόφωνο) έχουν μηδενική ενίσχυση. Μερικές κάρτες ήχου απλά δεν έχουν κατασκευαστεί με καλή μόνωση και γείωση και είναι επιρρεπείς σε θορύβους. Τέλος, βρήκα ότι στο σύστημά μου η kernel command line option no-hlt ελαττώνει το θόρυβο. Αυτή η εντολή λέει στον πυρήνα να μη χρησιμοποιήσει την εντολή halt όταν τρέχει το idle process loop. Μπορείτε να το δοκιμάσετε χειροκίνητα όταν ξεκινάτε το σύστημα, ή να το θέσετε χρησιμοποιώντας την εντολή append="no-hlt" στο αρχείο LILO configuration. 5.24. Μπορώ να παίξω ήχους, αλλά όχι να ηχογραφήσω Αν μπορείτε να παίξετε ήχο αλλά όχι να ηχογραφήσετε, δοκιμάστε τα ακόλουθα βήματα: · χρησιμοποιήστε ένα πρόγραμμα μίκτη για να διαλέξετε την κατάλληλη συσκευή (π.χ. μικρόφωνο) · χρησιμοποιήστε το μίκτη για να θέσετε την ευαισθησία της εισόδου στο μέγιστο · Αν μπορείτε, προσπαθήστε να ελέγξετε αν ηχογραφεί η κάρτα ήχου στο MS-DOS για να διαπιστώσετε αν το πρόβλημα είναι μηχανικό. Μερικές φορές χρησιμοποιούμε διαφορετικό DMA κανάλι για ηχογράφηση ήχου απ' ότι για αναπαραγωγή. Σε αυτή την περίπτωση, ο πιο πιθανός λόγος είναι ότι το DMA της εγγραφής δεν έχει τεθεί σωστά. 5.25. Η "συμβατή" κάρτα ήχου μου δουλεύει μόνο αν την αρχικοποιήσω πρώτα στο MS-DOS. Στις περισσότερες περιπτώσεις μια κάρτα "συμβατή με SoundBlaster" θα λειτουργεί καλύτερα κάτω από Linux αν ρυθμιστεί με ένα διαφορετικό driver από της SoundBlaster. Οι περισσότερες κάρτες ήχου ισχυρίζονται ότι είναι συμβατές (π.χ. "16 bit SB Pro compatible" ή "SB compatible 16 bit") αλλά συνήθως το SoundBlaster mode είναι απλά ένα "hack" που δίνεται για συμβατότητα με DOS παιχνίδια. Οι περισσότερες κάρτες έχουν 16 bit native mode το οποίο υποστηρίζεται πιθανά από πρόσφατης έκδοσης πυρήνες Linux (2.0.1 και μετά). Μόνο με μερικές κάρτες (συνήθως παλιές) είναι απαραίτητο να δοκιμάσετε να δουλέψουν σε SoundBlaster mode. Οι μόνες νέες κάρτες που αποτελούν εξαίρεση σε αυτόν τον κανόνα είναι οι βασιζόμενες σε τσιπ Mwave. 5.26. Η κάρτα ήχου μου, η οποία είναι συμβατή με την 16-bit Sound­ Blaster, δουλεύει μόνο σε 8-bit mode κάτω από Linux. Οι 16-bit κάρτες ήχου που περιγράφονται σα συμβατές με SoundBlaster είναι πραγματικά συμβατές μόνο με την 8-bit SoundBlaster Pro. Έχουν τυπικά ένα 16-bit mode που δεν είναι συμβατό με την SoundBlaster 16 και τον driver ήχου του Linux. Μπορεί να κάνετε την κάρτα να δουλέψει σε 16-bit mode χρησιμοποιώντας το driver για MAD16 ή MSS/WSS. 5.27. Πού μπορώ να βρω εφαρμογές ήχου για Linux ; Εδώ θα βρείτε μερικά καλά sites για να ψάξετε εφαρμογές για Linux ειδικά για ήχο: · · · · · · 5.28. Μπορώ να κάνω compile το driver της κάρτας ήχου ώστε να φορτώνεται σα module; Με τους πρόσφατους πυρήνες o driver ήχου υποστηρίζεται σαν kernel loadable module. Διαβάστε τα αρχεία /usr/src/linux/drivers/sound/Readme.modules και /usr/src/linux/Documentation/modules.txt (ή /usr/src/linux/README) για περισσότερες λεπτομέρειες. 5.29. Μπορώ να χρησιμοποιήσω την κάρτα ήχου για να αντικαταστήσω το μπιπ της κονσόλας του συστήματος; Δοκιμάστε το πρόγραμμα oplbeep , θα το βρείτε στο ’λλη επιλογή είναι το πρόγραμμα beep, θα το βρείτε στο url="ftp://sunsite.unc.edu/pub/Linux/kernel/patches/misc/modreq_beep.tgz"> Το πακέτο modutils έχει ένα πρόγραμμα - παράδειγμα και ένα patch για τον πυρήνα που υποστηρίζει την κλήση ενός τυχαίου εξωτερικού προγράμματος για την παραγωγή ήχων αν ζητηθεί από τον πυρήνα. Εναλλακτικά, με μερικές κάρτες ήχου μπορείτε να συνδέσετε την έξοδο των ηχείων του υπολογιστή στην κάρτα ήχου έτσι ώστε όλοι οι ήχοι να έρχονται από τα ηχεία της κάρτα ήχου. 5.30. Tι είναι το VoxWare ; Οι drivers ήχου του πυρήνα υποστηρίζουν αρκετά διαφορετικά λειτουργικά συστήματα Unix βασισμένα σε Intel, και μπορείτε να τα αποκτήσετε σαν ένα πακέτο διαφορετικό από τον πυρήνα του Linux. Μέχρι το Φεβρουάριο 1996 ο συγγραφέας είχε αποκαλέσει το λογισμικό "VoxWare". Δυστυχώς αυτό το όνομα έχει ήδη χρησιμοποιηθεί από τη VoxWare Incorporated, και πρέπει να υπάρξει άλλη ονομασία. Το νέο όνομα του driver είναι OSS/Free. O Open Sound System (OSS) είναι ένας εμπορικά διαθέσιμος driver ήχου για τον πυρήνα διαφόρων συστημάτων Unix, και πωλείται από την 4Front Technologies. Η δωρεάν έκδοση, γνωστή ως OSS/Free θα συνεχίσει να διατίθεται δωρεάν για συστήματα Linux. ’λλα ονόματα που μπορεί να συναντήσετε και έχουν χρησιμοποιηθεί στο παρελθόν για να αναφερθούν στον ίδιο driver ήχου είναι το TASD (Temporarily Anonymous Sound Driver) και USS (Unix Sound System). Για περισσότερες πληροφορίες δείτε τη Web σελίδα της 4Front Technologies στο . Έχω γράψει ένα review του OSS/Linux στο τεύχος Ιουνίου 1997 του Linux Journal. 5.31. Υποστηρίζονται Plug and Play κάρτες ήχου; Πλήρης υποστήριξη για Plug and Play πρέπει να υπάρχει στην Linux έκδοση 2.1. Στο μεταξύ, υπάρχει πληθώρα παρακάμψεων, τεχνασμάτων για να κάνετε να δουλέψουν οι κάρτες ήχου Plug and Play. Aν έχετε ένα νέο Pentium σύστημα με Plug and Play BIOS, θα πρέπει να αναλάβει μόνο του να ρυθμίσει την κάρτα. Βεβαιωθείτε ότι έχετε ρυθμίσει τον Linux driver ήχου έτσι ώστε να χρησιμοποιεί την ίδια I/O διεύθυνση, τις παραμέτρους IRQ, και του καναλιού DMA όπως και το BIOS. Υπάρχει ένα πακέτο με εργαλεία Plug and Play για Linux τα οποία μπορεί να χρησιμεύσουν στην εγκατάσταση της κάρτας. Μπορείτε να το βρείτε στο Web site της Red Hat στο (μπορεί επίσης να συμπεριλαμβάνεται στη διανομή Linux που έχετε). Αν χρησιμοποιείτε την κάρτα σε Windows95, μπορείτε να χρησιμοποιήσετε το device manager για να εγκαταστήσετε την κάρτα, μετά επανεκκινήστε με soft boot σε Linux χρησιμοποιώντας το πρόγραμμα LOADLIN. Σιγουρευτείτε ότι τα Windows95 και το Linux χρησιμοποιούν τις ίδιες παραμέτρους εγκατάστασης. Αν χρησιμοποιείτε την κάρτα σε DOS, μπορείτε να χρησιμοποιήσετε το icu utility που έρχεται με τις κάρτες SoundBlaster16 PnP ώστε να τη ρυθμίσετε σε DOS, μετά επανεκκινήστε με soft boot σε Linux χρησιμοποιώντας το πρόγραμμα LOADLIN. Πάλι, σιγουρευτείτε ότι το DOS και το Linux χρησιμοποιούν τις ίδιες παραμέτρους εγκατάστασης. Ο εμπορικός OSS driver ήχου υποστηρίζει την κάρτα ήχου SoundBlaster16 PnP. Μπορείτε να αγοράσετε τον driver από την 4Front Technologies. 5.32. Το Sox/Play/Vplay βγάζει μήνυμα "invalid block size 1024" Μια αλλαγή στον driver ήχου στην έκδοση 1.3.67 κρεμάει μερικά προγράμματα εκτέλεσης ήχων που (λανθασμένα) έλεγξαν πως το αποτέλεσμα της SNDCTL_DSP_GETBLKSIZE ioctl ήταν μεγαλύτερο από 4096. Τα προγράμματα αυτά που περιλαμβάνονται στο πρόσφατο πακέτο snd- util-3.x.tar.gz (στο .) τώρα πια το αντιμετωπίζουν σωστά. Η πιο πρόσφατη έκδοση driver ήχου έχει επίσης διορθωθεί ώστε να αποφεύγει να εκχωρεί κομμάτια μικρότερα από 4096 bytes πράγμα που λύνει το πρόβλημα με τις παλιές εκδόσεις αυτών των προγραμμάτων. 5.33. Γιατί ο driver ήχου έχει το δικό του πρόγραμμα για σετάρισμα;> Έτσι. O driver ήχου υποστηρίζει πολλές διαφορετικές παραμέτρους ρύθμισης. To πρόγραμμα configure που περιλαμβάνεται με τον driver ήχου ελέγχει για πολλές εξαρτήσεις (dependencies) μεταξύ παραμέτρων. Τα εργαλεία που χρησιμοποιούνται για τη ρύθμιση του πυρήνα δεν υποστηρίζουν αυτό το επίπεδο λειτουργίας. Τελικά: οι πρόσφατοι πυρήνες πράγματι επιτρέπουν κατ' επιλογή να χρησιμοποιούνται τα κλασσικά εργαλεία ρύθμισης του πυρήνα με τον driver ήχου (δείτε το προηγούμενο τμήμα στο "Σετάρισμα του πυρήνα". 5.34. Οι ρυθμίσεις του mixer αρχικοποιούνται κάθε φορά που φορτώνω το module του driver ήχου Μπορείτε να φορτώσετε τον driver ήχου σα loadable module και να χρησιμοποιήσετε τον kerneld για να το φορτώνετε και να το ξεφορτώνετε αυτόματα. Αυτό μπορεί να παρουσιάσει ένα πρόβλημα - κάθε φορά που φορτώνεται το module, οι ρυθμίσεις του mixer επιστρέφουν στις default τιμές τους. Για μερικές κάρτες ήχου αυτό μπορεί να είναι πολύ δυνατά(π.χ. SoundBlaster16) ή πολύ σιγά. Ο Markus Gutschke ((gutschk@uni-muenster.de) βρήκε αυτή τη λύση. Χρησιμοποιήστε μια γραμμή στο αρχείο /etc/conf.modules όπως η παρακάτω: options sound dma_buffsize=65536 && /usr/bin/setmixer igain 0 ogain 0 vol 75 Αυτό προκαλεί την εκτέλεση του προγράμματος μίξης (σε αυτή την περίπτωση το setmixer) αμέσως μετά το φόρτωμα του driver ήχου. Η παράμετρος dma_buffsize είναι απλά μια εικονική (dummy) τιμή που χρειάζεται επειδή η εντολή option απαιτεί μια τιμή στη γραμμή εντολής. Αλλάξτε τη γραμμή όπως απαιτεί το πρόγραμμα mixer και οι τιμές ενίσχυσης/ευαισθησίας. Αν έχετε κάνει compile τον driver ήχου στον πυρήνα και θέλετε να θέσετε τις τιμές του mixer κατά την εκκίνηση μπορείτε να καλέσετε το mixer πρόγραμμα σε ένα αρχείο που εκτελείται κατά την εκκίνηση του συστήματος όπως το /etc/rc.d/rc.local. 5.35. Μόνο ο χρήστης root μπορεί να ηχογραφήσει ήχο Το script που δημιουργεί τα sound device files και βρίσκεται στο αρχείο Readme.linux, από default επιτρέπει στα devices να διαβάζονται από τον root. Αυτό συμβαίνει για να αποφευχθεί μια πιθανή τρύπα ασφάλειας. Σε ένα δικτυακό περιβάλλον, εξωτερικοί χρήστες θα μπορούσαν κακόβουλα να κάνουν log in απο μακριά σε ένα Linux PC με μια κάρτα ήχου και μικρόφωνο και να κρυφακούσουν. Αν δεν ανησυχείτε για κάτι τέτοιο, μπορείτε να αλλάξετε τα permissions που χρησιμοποιούνται στο script. Με τη default εγκατάσταση, οι χρήστες μπορoύν να παίξουν αρχεία ήχου. Αυτό δεν αποτελεί κίνδυνο ασφάλειας αλλά είναι πιθανή πηγή ανοησιών. 5.36. Υποστηρίζεται ήχος στο IBM ThinkPad; Θα βρείτε πληροφορίες για το πώς να χρησιμοποιήσετε την κάρτα ήχου mwave σε ένα IBM ThinkPad laptop computer κάτω από Linux στο . 6. Παραπομπές Aν έχετε κάρτα ήχου που υποστηρίζει CD-ROM ή SCSI interface, το Linux SCSI HOWTO και το Linux CD-ROM HOWTO έχουν επιπλέον πληροφορίες οι οποίες μπορεί να σας φανούν χρήσιμες. Το Sound Playing HOWTO περιγράφει πώς να παίζετε διάφορους τύπους ήχου και αρχεία μουσικής στο Linux. Το Ultrasound Plug'n'play Mini-HOWTO περιγράφει πώς να κάνετε να δουλέψει στο Linux μια plug and play κάρτα ήχου Gravis Ultra. Το Linux SoundBlaster 16 PnP Mini-HOWTO περιγράφει πώς να κάνετε να δουλέψει στο Linux μια plug and play SoundBlaster 16. Το Linux SoundBlaster AWE64 PnP Mini-HOWTO περιγράφει πώς να κάνετε να δουλέψει στο Linux μια plug and play SoundBlaster AWE64. Υπάρχει ένα παλιό κείμενο που λέγεται the Hacker's Guide to VoxWare, διαθέσιμο από το . Οι περισσότερες πληροφορίες σ' αυτό έχουν αντικατασταθεί από τα νεότερα κείμενα στο , αλλά το τμήμα σχετικά με το /dev/sequencer μπορεί να φανεί χρήσιμο. Τα ακόλουθα FAQs στέλνονται τακτικά στο Usenet newsgroup news.announce και κρατούνται επίσης στο : · PCsoundcards/generic-faq (Generic PC Soundcard FAQ) · PCsoundcards/soundcard-faq (comp.sys.ibm.pc.soundcard FAQ) · PCsoundcards/gravis-ultrasound/faq (Gravis UltraSound FAQ) · audio-fmts/part1 (περιγραφή του Audio file format) · audio-fmts/part2 (περιγραφή του Audio file format) Τα FAQs έχουν επίσης λίστα mailing lists και archive sites για διάφορα συγκεκριμένα προϊόντα. Τα παρακάτω Usenet news groups συζητούν για θέματα σχετικά με ήχο και/ή μουσική : · alt.binaries.sounds.* (διάφορα groups για αρχεία ήχου) · alt.binaries.multimedia (για Multimedia αρχεία) · alt.sb.programmer (θέματα για προγραμματισμό της Soundblaster) · comp.multimedia (θέματα για πολυμέσα) · comp.music (Θεωρία για Μουσική Η/Υ και έρευνα) · comp.sys.ibm.pc.soundcard.* (διάφορα groups χρηστών για κάρτες ήχου σε IBM/PCs) Ένα Web site ειδικά για πολυμέσα θα βρείτε στο . Η Creative Labs έχει Web site στο . To Web site της MediaTrix είναι το . H Linux mailing list έχει μεγάλο αριθμό "καναλιών" αφιερωμένα σε διάφορα θέματα, και για ήχο. Για να βρείτε πώς θα συμμετάσχετε σε ένα κανάλι, στείλτε μήνυμα με τη λέξη "help" σαν message body στο majordomo@vger.rutgers.edu. Αυτές οι mailing lists δε συνιστούνται για ερωτήσεις σχετικά με εγκατάσταση σε κάρτες ήχου κλπ., έχουν σαν σκοπό τη συζήτηση σχετικά με ανάπτυξη. Όπως έχει ήδη αναφερθεί αρκετές φορές, ο driver ήχου του πυρήνα περιλαμβάνει πολλά Readme αρχεία που περιέχουν χρήσιμες πληροφορίες σχετικά με τον driver ήχου της κάρτας. Αυτά θα τα βρείτε στο directory /usr/src/linux/drivers/sound. Μπορείτε να επικοινωνήσετε με το συγγραφέα του driver ήχου του πυρήνα, Hannu Savolainen με email hannu@voxware.pp.fi. Έχει, επίσης, Web site στο . Το Web site είναι η καλύτερη πηγή για να βρείτε την πιο πρόσφατη κατάσταση υποστηριζόμενων καρτών ήχου, γνωστά προβλήματα, και διορθώσεις bugs. Πληροφορίες για το OSS, τον εμπορικό driver ήχου για Linux και άλλα λειτουργικά συστήματα συμβατά με Unix, θα βρείτε στη Web σελίδα της 4Front Technologies, στο . Το Linux Software Map (LSM) είναι ανεκτίμητο βοήθημα για την εύρεση λογισμικού για Linux. Ενας καλός τρόπος για να βρείτε εφαρμογές σχετικά με hardware ήχου είναι να ψάξετε το LSM με keywords όπως sound. Το LSM θα το βρείτε σε διάφορα ανώνυμα FTP sites, συμπεριλαμβανομένου του . Το Linux Documentation Project έχει παράγει διάφορα βιβλία για Linux, συμπεριλαμβανομένου του Linux Installation και Getting Started. Αυτά διατίθενται δωρεάν με anonymous FTP από μεγάλα Linux archive sites ή μπορείτε να τα αγοράσετε εκτυπωμένα. Τέλος, μια ξεδιάντροπη εμβόλιμη δήλωση: Αν θέλετε να μάθετε πολύ περισσότερα σχετικά με τα πολυμέσα στο Linux (ειδικά για CD-ROM και εφαρμογές και προγραμματισμό για κάρτες ήχου), διαβάστε το βιβλίο μου Linux Multimedia Guide, ISBN 1-56592-219-0, που έχει εκδοθεί από τους O'Reilly and Associates. Όπως και η γνήσια αγγλική έκδοση, έχει τυπωθεί η γαλλική και γιαπωνέζικη μετάφραση. Για περισσότερες λεπτομέρειες, καλέστε το 800-998-9938 στη Νότια Αμερική ή δείτε τη Web σελίδα ή τη δική μου σελίδα .