Ελληνικό Linux Sound Playing HOWTO Yoo C. Chung, wacko@laplace.snu.ac.kr v1.5b, 2 Φεβρουαρίου 1998 Αυτό το κείμενο αναφέρει εφαρμογές για Linux που παίζουν διάφορα for­ mats ήχου. ______________________________________________________________________ Table of Contents 1. Εισαγωγή 1.1 Πνευματικά Δικαιώματα του κειμένου 1.2 Copyright των αναφερομένων εφαρμογών 1.3 Πού να βρείτε αυτό το κείμενο 1.4 Feedback 1.5 Ευχαριστίες 2. Παίζοντας διάφορα Format Ήχου 2.1 MIDI 2.1.1 Το πακέτο adagio 2.1.2 TiMidity 2.1.3 playmidi 2.2 Modules 2.2.1 tracker 2.2.2 gmod 2.2.3 MikMod 2.2.4 xmp 2.2.5 s3mod 2.2.6 mod 2.2.7 nspmod 2.2.8 yampmod 2.3 MPEG audio streams 2.3.1 mpg123 2.3.2 maplay 1.2 2.3.3 maplay 1.3b 2.3.4 maplay3 2.3.5 splay 2.3.6 Sajber Jukebox 2.3.7 amp 2.3.8 XAudio 2.3.9 Layer 3 Shareware Encoder/Decoder 2.4 WAV 2.4.1 wavplay 2.5 Λοιπά πράγματα 2.5.1 sox 2.5.2 bplay 2.5.3 SIDPLAY 2.5.4 RealAudio Player 2.5.5 cat 3. Αλλες χρήσιμες εφαρμογές ήχου 3.1 volume 3.2 Sound Studio 3.3 Tickle Music 4. Παραπομπές ______________________________________________________________________ 1. Εισαγωγή Αυτό είναι το Ελληνικό Sound Playing HOWTO. Αναφέρει τα διάφορα format ήχου καθώς και τις εφαρμογές που μπορούν να χρησιμοποιηθούν για να τα παίξουν. Επίσης αναφέρει μερικά τεχνάσματα και συμβουλές για το πώς να χρησιμοποιηθούν αυτές οι εφαρμογές. Υπάρχουν επίσης κάποιες άλλες ενδιαφέρουσες εφαρμογές σχετικές με ήχους, όχι άμεσα συσχετισμένες με την εκτέλεσή τους. Παρόλα αυτά, το κείμενο αυτό δεν περιγράφει πώς κάποιος μπορεί να ρυθμίσει ένα σύστημα Linux system για υποστήριξη ήχου. Αναφερθείτε στο Linux Sound HOWTO από τον Jeff Tranter για οδηγίες για υποστήριξη ήχου σε ένα σύστημα Linux και το υποστηριζόμενο hardware ήχου. Αυτό ασχολείται με τις φυσιολογικές εφαρμογές ήχου ενός χρήστη. Δηλαδή, νοιάζεται μόνο με το ότι ένας μέσος χρήστης χρειάζεται να ξέρει από την πλευρά των εφαρμογών ήχου, και όχι εξωτικά πράγματα όπως η σύνθεση ομιλίας, ή πράγματα σχετικά με hardware που αντιμετωπίζονται στο Sound HOWTO. 1.1. Πνευματικά Δικαιώματα του κειμένου Το κείμενο μπορεί να διανεμηθεί και να τροποποιηθεί ελεύθερα (θα το εκτιμούσα αν με ειδοποιούσατε για αλλαγές), όσο αυτή η σημείωση περί του copyright διατηρείται. Παρόλα αυτά, δεν μπορεί να τεθεί κάτω από οποιοδήποτε άλλο περιορισμό, και ένα τροποποιημένο κείμενο πρέπει να έχει τα ίδια πνευματικά δικαιώματα με αυτό. Επίσης αναγνώριση πρέπει να αποδοθεί όπου οφείλεται. 1.2. Copyright των αναφερομένων εφαρμογών Αν δεν υπάρχει αναφορά πνευματικών δικαιωμάτων, τότε η εφαρμογή είναι κάτω από την GNU General Public License. 1.3. Πού να βρείτε αυτό το κείμενο Η πιο πρόσφατη επίσημη έκδοσή του κειμένου αυτού μπορεί να αποκτηθεί από το Linux Documentation Project . Η πιο πρόσφατη ανεπίσημη έκδοση του κειμένου αυτού μπορεί να αποκτηθεί από το . Μια Κορεάτικη έκδοση αυτού του κειμένου (πολύ ξεπερασμένη) είναι διαθέσιμη στο . Μια Γιαπωνέζικη έκδοση αυτού του κειμένου είναι διαθέσιμη στο . 1.4. Feedback Για σχόλια, παρατηρήσεις, διορθώσεις, ενημερώσεις περί της Ελληνικής μετάφρασης αυτού του HOWTO, στείλτε email στην Βούλα Σανιδά : voulariba@rocketmail.com ή στον Ευριπίδη Παπακώστα : epapakostas@ametro.gr και εναλλακτικά : ep@rocketmail.com Δεν είμαι παντογνώστης, και δεν χρησιμοποιώ όλες τις εδώ αναφερόμενες εφαρμογές (μερικές δεν μπορώ να τις δοκιμάσω καν), έτσι μπορεί να υπάρχουν λάθη. Επίσης, τα προγράμματα συνήθως εξελίσσονται συνεχώς, έτσι η τεκμηρίωση τείνει να ξεπερνιέται. Γι' αυτό, αν βρείτε τίποτα στραβό, παρακαλώ στείλτε μου ό,τι διορθώσεις. Προτάσεις ή προσθήκες στο κείμενο είναι ευπρόσδεκτες, επίσης. 1.5. Ευχαριστίες Σε όλους τους συγγραφείς των εφαρμογών αυτού του HOWTO. Επίσης, στον Hannu Savolainen για τον σπουδαίο οδηγό ήχου και τον Linus Torvalds για το σπουδαίο λειτουργικό από κάτω του. Θέλω επίσης να ευχαριστήσω τον Raymond Nijssen (raymond@es.ele.tue.nl), Jeroen Rutten (jeroen@es.ele.tue.nl), Antonio Perez (aperez@arrakis.es), Ian Jackson (ijackson@gnu.org), και τον Peter Amstutz (amstpi@freenet.tlh.fl.us) για τις πληροφορίες και την βοήθεια που προσέφεραν. 2. Παίζοντας διάφορα Format Ήχου Υπάρχουν πολλών ειδών formats ήχου (WAV, MIDI, MPEG etc.). Παρακάτω, αναφέρουμε τα διάφορα formats και τις εφαρμογές που μπορούν να χρησιμοποιηθούν για να τα παίξουν. 2.1. MIDI MIDI είναι το ακρωνύμιο για το Musical Instrument Device Interface. Τα αρχεία MIDI έχουν συνήθως την κατάληξη .mid. Περιέχουν πληροφορίες διαδοχής (sequencing information), δηλαδή, πληροφορίες για το πότε να παίξει, ποιο όργανο, με τι τρόπο, κλπ. Ανάλογα με το hardware σας (και ίσως το λογισμικό με το οποίο τον παίζετε), ο ήχος μπορεί να είναι φοβερός, ή εντελώς αηδία. 2.1.1. Το πακέτο adagio Αυτό το πακέτο συμπεριλαμβάνει το mp (ένα command-line player αρχείων MIDI) και xmp (έναν player MIDI αρχείων βασισμένο στο Xview, και δεν πρέπει να συγχέεται με το module player που επίσης καλείται xmp). Θα χρειαστείτε τα SlingShot extensions για να χρησιμοποιήσετε το xmp. Επίσης περιέχει και άλλα προγράμματα για να παίζετε τα Adagio scores. Αν έχετε μια GUS, τo mp μπορεί να παίξει και MOD (δες τμήμα ``Modules'' για περισσότερες πληροφορίες στα modules). Ένα μικρό ενοχλητικό bug (από την έκδοση 0.5 για μερικά hardware) είναι πως ο ήχος χαλάει προς το τέλος. Δηλαδή, αντί να τελειώσει ο ήχος όπως καθορίζει το αρχείο MIDI, τελειώνει παίζοντας την προτελευταία νότα για ένα μεγάλο χρονικό διάστημα. Αυτό δεν με αποθάρρυνε από το να χρησιμοποιώ το mp, αλλά μπορεί να αποθαρρύνει κάποιον να το χρησιμοποιεί για `πραγματική' δουλειά. Επίσης ξεκινά σχετικά αργά. Το πακέτο δεν αναφέρει copyright (ή τουλάχιστον εγώ δεν μπορώ να το βρω), οπότε υποθέτω ότι μπορεί να διανεμηθεί και τροποποιηθεί ελεύθερα. (Με μια αυστηρή ερμηνεία του νόμου περί πνευματικής ιδιοκτησίας, τίποτα δεν δίνει σε κάποιον το δικαίωμα να κάνει αυτά τα πράγματα, αλλά για κάποιο λόγο αμφιβάλλω πως αυτή θα ήταν η πρόθεση του συγγραφέα.) Είναι μια μεταφορά του CMU MIDI Toolkit σε Linux (αν και έχουν προστεθεί τόσα πολλά ώστε να είναι πλέον και αυτό αμφισβητήσιμο) από τον Greg Lee (lee@uhunix.uhcc.hawaii.edu). Μπορεί να αποκτηθεί με anonymous FTP από το tsx-11.mit.edu at /pub/linux/packages/sound/adagio05.tar.gz. Τα εκτελέσιμα αρχεία που υπάρχουν εδώ είναι σε a.out format (linked με αρχαίες βιβλιοθήκες), και τα xmp εκτελέσιμα - που πολλές φορές κρεμάνε σε περιβάλλον X11R6 (XFree86 3.1.1, libc 4.7.2). Το εκτελέσιμο mp δουλεύει μια χαρά σε περιβάλλον a.out. Θα χρειαστείτε λίγο hacking για να το μεταγλωττίσετε. Πραγματικά, δεν έχει και πολύ hacking. Το μόνο που έχετε να κάνετε είναι να συμπεριλάβετε το -lfl switch στο τέλος του SHROBJ και XMPOBJ στο Makefile. Αυτό γίνεται για να κάνετε link με την βιβλιοθήκη flex, που δεν είναι linked από default. Μετά ακολουθείστε τις οδηγίες εγκατάστασης. Και μην ξεχάσετε να έχετε εγκατεστημένα το XView και τα SlingShot extensions αν θέλετε να μεταγλωττίσετε το xmp. 2.1.2. TiMidity Μερικοί συνιστούν αυτό το experimental πρόγραμμα λόγω της καλής ποιότητας ήχου (το οποίο αληθεύει, είναι πολύ καλύτερη από ότι το mp σε μια Sound Blaster 16, παρόλο που πιθανά να μην έχει μεγάλη διαφορά σε κάρτες ήχου με σύνθεση κυματομορφής όπως η GUS). Παρολαυτά, πάσχει λόγω έντονης χρήσης CPU. Παίζει MIDI μετατρέποντας πρώτα το MIDI σε WAV και μετά παίζει το WAV (μπορείτε επίσης να μετατρέψετε το αρχείο MIDI σε αρχείο WAV χωρίς να το παίξετε, αν θέλετε). Αυτή είναι η αιτία για την έντονη ανάγκη του σε πόρους CPU. Έχει επίσης ένα προαιρετικό interface με ncurses, SLang, Tcl/Tk ή Motif. Χρειάζεστε τα patch αρχεία Gravis Ultrasound για να το χρησιμοποιήσετε. Κοιτάξτε στο FAQ που περιλαμβάνεται με το TiMidity για περισσότερες πληροφορίες. Ο συγγραφέας του είναι ο Tuukka Toivonen (tt@cgs.fi). Η τελευταία έκδοση του TiMidity μπορεί να βρεθεί στο TiMidity home page . Αυτή η σελίδα περιέχει επίσης ένα link σε μια μικρή βιβλιοθήκη από GUS patches. 2.1.3. playmidi Αυτό το πρόγραμμα είναι ένας MIDI player που παίζει FM, GUS, και external MIDI. Υποτίθεται ότι έχει γρηγορότερο χρόνο εκκίνησης συγκρινόμενο με άλλους MIDI players. Είναι επίσης ικανό να παίξει αρχεία Creative Music, αρχεία Microsoft RIFF, και μεγάλα MIDI αρχεία από παιχνίδια όπως το Ultima 7. Έχει X interface και SVGA interface. Έχει επίσης μια επιλογή για αναπαραγωγή ήχου σε πραγματικό χρόνο παρακολουθώντας όλες τις νότες σε κάθε κανάλι και το τρέχον ρολόι αναπαραγωγής ήχου (συμπεριλαμβάνεται αυτόματα με το xplaymidi και splaymidi). Θα πρέπει να κάνετε κάτι σαν $ splaymidi foo.mid; stty sane αν πρόκειται να χρησιμοποιήσετε το SVGA interface, μια και δεν θέτει πάλι το τερματικό tty mode κανονικά. Το SVGA interface μπορεί να αφαιρεθεί στο προσεχές μέλλον. Γράφτηκε από τον Nathan Laredo (laredo@gnu.org ή laredo@ix.netcom.com). Μπορείτε να το βρείτε στο anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/players/playmidi-2.3.tar.gz. 2.2. Modules Τα Modules (όσον αφορά μουσική για υπολογιστές) είναι ψηφιακά αρχεία μουσικής, που αποτελούνται από ένα σύνολο δειγμάτων και πληροφορίες sequencing, και λένε στον player πότε να παίξει ποιο δείγμα (όργανο) σε ποιο track και σε ποιο pitch, εκτελώντας προαιρετικά ένα εφφέ, όπως το vibrato για παράδειγμα. Ένα πλεονέκτημα που έχει σε σχέση με το MIDI είναι ότι μπορεί να περιλάβει σχεδόν οποιοδήποτε είδος ήχου (συμπεριλαμβανομένης της ανθρώπινης φωνής). Ακόμη ένα είναι ότι ακούγεται σχεδόν το ίδιο σε οποιαδήποτε πλατφόρμα, επειδή τα δείγματα είναι στο module. Ένα μειονέκτημα είναι ότι έχει πολύ μεγαλύτερο μέγεθος αρχείου συγκρινόμενο με το MIDI. Ακόμη ένα είναι ότι δεν έχει πραγματικό στάνταρτ format (το μόνο `πραγματικό' είναι το ProTracker, με το οποίο πολλά modules δεν είναι και πολύ συμβατά). Προήλθε από την Amiga. Το πιο κοινό format έχει το extension .mod. Υπάρχουν πολλά άλλα extensions τα οποία εξαρτώνται από το τι format έχουν μέσα. 2.2.1. tracker Αυτό το εύκολα μεταφέρσιμο πρόγραμμα (έχει μεταφερθεί σε πολλές πλατφόρμες) παίζει μουσικά modules της Soundtracker και Protracker. Χρησιμοποιεί έξοδο 16 bit stereo, και θεωρώ ότι η ποιότητα είναι πολύ καλή. Αν χρειάζεστε έναν απλό τρόπο για να μειώσετε το φόρτο της CPU χρησιμοποιήστε την επιλογή -mono . Αυτό είναι ένα πρόγραμμα δώρο (giftware) (όπως λέει ο συγγραφέας). Φτιάχτηκε από τον Marc Espie (Marc.Espie@ens.fr). Μπορείτε να αποκτήσετε μια έκδοση αυτού του προγράμματος με το Makefile ήδη πειραγμένο για Linux από το anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/players/tracker-4.3-linux.tar.gz. 2.2.2. gmod Αυτό είναι ένας music module player για την κάρτα Gravis Ultrasound. 4/6/8 κανάλια MOD, 8 κανάλια 669, MultiTracker (MTM), UltraTracker (ULT), FastTracker (XM), και ScreamTracker III (S3M) είναι τα υποστηριζόμενα formats. Απαιτείται έκδοση του driver ήχου 3.0 ή μεγαλύτερη. Και φυσικά GUS. Μπορεί να χρειαστεί να τροποποιήσετε τον πυρήνα ώστε να κάνετε το ρυθμιστή της έντασης ήχου να δουλέψει όπως εσείς θέλετε. Έχει X interface. Χρησιμοποιεί το QT toolkit (χρειάζεται την έκδοση 0.99 ή μεγαλύτερη). Ελέγξτε τη QT toolkit homepage για περισσότερες πληροφορίες σχετικά με το QT. Το πρόγραμμα διανέμεται δωρεάν. Αρχικά γράφτηκε από τον Hannu Savolainen, και τώρα συντηρείται από τον Andrew J. Robinson (robinson@cnj.digex.net). Μπορείτε να το βρείτε στο anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/players/gmod-3.1.tar.gz. 2.2.3. MikMod Αυτό ο μεταφέρσιμος module player παίζει XM, ULT, STM, S3M, MTM, MOD και UNI formats. (Το UNI format είναι ένα εσωτερικό format που χρησιμοποιείται από το MikMod.) Υποστηρίζει συμπιεσμένα αρχεία module. Χρησιμοποιεί 16 bit stereo για έξοδο ήχου. Χρησιμοποιήστε την επιλογή -m (για έξοδο mono) αν χρειάζεστε ένα απλό για να μειώσετε το φόρτο της CPU. Η έκδοση για Unix μπορεί να χρησιμοποιήσει για interface είτε ncurses ή Tcl/Tk. Μπορεί να χρησιμοποιηθεί επίσης σα βιβλιοθήκη, όχι μόνο σαν ανεξάρτητο πρόγραμμα. Γράφτηκε αρχικά από τον Jean-Paul Mikkers (mikmak@via.nl). Τώρα συντηρείται από τον Stine (dracoirs@epix.net). Είναι shareware πρόγραμμα στο οποίο πρέπει να εγγραφείτε (registered) αν θέλετε να το χρησιμοποιήσετε εμπορικά. Χρειάζεστε επίσης άδεια για να το επαναδιανείμετε εμπορικά (μη-εμπορική επαναδιανομή δε χρειάζεται τέτοια άδεια). Θα το βρείτε στο MikMod home page . 2.2.4. xmp Είναι ένας module player (μην τον συγχέετε με τον Adagio xmp) που μπορεί να παίξει MOD, S3M, MTM, PTR, STM, 669, και XM modules (υποστηρίζονται επίσης και άλλα formats, αλλά ακόμη πειραματικά ή μη ολοκληρωμένα). Αν έχετε κάρτα ήχου με σύνθεση κυματομορφής (GUS ή SoundBlaster 32AWE), τότε μπορείτε να χρησιμοποιήσετε αυτό το χαρακτηριστικό της κάρτας ήχου για να μειώσετε το φόρτο της CPU. Είναι επίσης διαθέσιμο ένα X frontend στο xmp . Γράφτηκε από τον Claudio Matsuoka (claudio@lobo.inf.ufpr.br) και τον H. Carraro Jr. Μπορείτε να το βρείτε στο xmp home page . 2.2.5. s3mod Παίζει 4/6/8 track MOD modules και Scream Tracker 3 modules. Χρησιμοποιεί μονοφωνική έξοδο των 8 bit με συχνότητα δειγματοληψίας των 22000 Hz από default. Μπορείτε να χρησιμοποιήσετε την επιλογή -s για να ενεργοποιήσετε το stereo, την -b για την έξοδο 16 bit, και την -f για να θέσετε την συχνότητα δειγματοληψίας. Παρόλα αυτά, ο ήχος είναι χειρότερος από αυτόν του tracker (έχει κάποιο θόρυβο), γι αυτό συνιστώ τη χρήση του tracker αντί του s3mod για να παίξετε κανονικά αρχεία MOD (εκτός και αν έχετε μια χαμηλών δυνατοτήτων μηχανή). Έχει πολύ μικρότερες απαιτήσεις σε CPU σε σχέση με το tracker. Τα πνευματικά δικαιώματα ανήκουν στους Daniel Marks και David Jeske (jeske@uiuc.edu), but αλλά μπορείτε να κάνετε ότι θέλετε με αυτό (εκτός από το να ισχυρισθείτε πως το γράψατε εσείς). Μπορεί να αποκτηθεί με anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/players/s3mod-v1.09.tar.gz. 2.2.6. mod Αυτό το beta πρόγραμμα παίζει MODs (15/31-instrument, μέχρι 32 φωνές), MTMs, ULTs και S3Ms στην κάρτα Gravis Ultrasound. Μπορεί να χρησιμοποιήσει και packed modules αν τα έχετε gzip, lharc, unzip, και unarj εγκατεστημένα. Δεν μπορεί να παίξει τα Powerpacked modules ή modules συμπιεσμένα με κάποιους composers της Amiga(με υπογραφή "PACK" ). Απαιτεί τουλάχιστον την έκδοση 3.0 του οδηγού ήχου. Δεν θα δουλέψει με την έκδοση 2.90-2 ή παλαιότερες εκδόσεις του οδηγού ήχου. Το text interface απαιτεί ncurses. Συμπεριλαμβάνεται και ένα X interface, που χρησιμοποιεί Tcl/Tk. Γράφτηκε από τον Mikael Nordqvist (mech@df.lth.se ή d91mn@efd.lth.se). Μπορεί να αποκτηθεί με anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/players/mod-v0.81.tgz. 2.2.7. nspmod Είναι ένας alpha module player που μπορεί να παίζει MTM, S3M, και MOD modules. Προορίζεται να είναι ένας module player για κάρτες ήχου χωρίς DSP (μην το συγχέεται με αυτό που η Creative Labs ονομάζει DSP). Κάνει περίπου την ίδια χρήση της CPU με τον tracker. Έχει ένα χαρακτηριστικό που επιτρέπει τα modules να επανεκτελούνται (loop) αν θέλετε. Ο αριθμός των επανεκτελέσεων μπορεί να περιοριστεί με την επιλογή -l. Χρησιμοποιεί μόνο έξοδο ήχου των 8 bit(από την έκδοση 0.1). Γράφτηκε από τον Toru Egashira (toru@jms.jeton.or.jp). Μπορεί να αποκτηθεί με anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/players/nspmod-0.1.tar.gz. 2.2.8. yampmod Το alpha αυτό πρόγραμμα σχεδιάστηκε να παίζει 4κάναλα modules χρησιμοποιώντας ελάχιστα CPU resources. Δεν σχεδιάστηκε να παρέχει ήχο υψηλής ποιότητας. Έτσι, η μοναδική έξοδος ήχου που παράγει είναι μονοφωνική έξοδος των 22 kHz. Επίσης, η έξοδος δεν είναι όσο καθαρή όσο θα έπρεπε, πράγμα που αντικατοπτρίζει και την alpha κατάσταση του προγράμματος. Γράφτηκε από τον David Groves (djg@djghome.demon.co.uk). Μπορεί να αποκτηθεί με anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/players/yampmod-0.1.tar.gz. 2.3. MPEG audio streams Το MPEG είναι ένα πρότυπο που περιγράφει την κωδικοποίηση του video και του συσχετιζόμενου ήχου για ψηφιακή αποθήκευση. Το MPEG συνήθως σχετίζεται με το video, αλλά το μέρος του ήχου του προτύπου μπορεί να χρησιμοποιηθεί ξεχωριστά. Το ηχητικό μέρος του προτύπου ορίζει τρία επίπεδα, επίπεδο I, II, και III. Οι players που μπορούν να αποκωδικοποιούν υψηλότερα επίπεδα μπορούν να αποκωδικοποιούν και χαμηλότερα. (π.χ. players του επιπέδου III μπορούν να παίζουν αρχεία του επιπέδου II). Τα αρχεία ήχου MPG επιπέδου I συνήθως έχουν την κατάληξη .mpg (έτσι αν υπάρχει ένα αρχείο με αυτή την κατάληξη που δεν εκτελείται από έναν MPEG video player, είναι πιθανότητα ένα stream ήχου), του επιπέδου II έχουν συνήθως την κατάληξη .mp2, και του επιπέδου III την κατάληξη .mp3. Η συμπίεση του ήχου είναι πολύ καλή. Ένα αρχείο ήχου MPEG II των 2ΜΒ θα πάρει πιθανότατα 25 megabytes σαν ασυμπίεστο PCM αρχείο ίδιας ποιότητας. 2.3.1. mpg123 Αυτό το beta πρόγραμμα είναι ένας ικανός MPEG audio stream player, που έχει υποστήριξη για layers I, II, και III. Βασίζεται σε κώδικα από πολλές πηγές. Μπορεί να παίξει streams σε πραγματικό χρόνο που διαβάζονται από HTTP (π.χ. κάποιος μπορεί να παίξει ένα MPEG stream ήχου κατευθείαν μέσω του World Wide Web). Ο κυρίως συγγραφέας του είναι ο Michael Hipp (Michael.Hipp@student.uni-tuebingen.de). Μπορεί να χρησιμοποιηθεί και να διανεμηθεί σε απαράλλαχτο, ελεύθερα για μη κερδοσκοπικούς σκοπούς. Η ενσωμάτωσή του σε συλλογές με δωρεάν λογισμικό (όπως CD-ROM images σε FTP servers) ρητά επιτρέπεται. Η τελευταία έκδοση μπορεί να αποκτηθεί από το Oliver Fromme's mpg123 page . 2.3.2. maplay 1.2 Αυτός MPEG stream player ήχου έχει υποστήριξη μόνο για layer I και layer II streams, και υπολείπεται υποστήριξης για layer III streams. Υποστηρίζει κάρτες ήχου bit σε Linux. Απαιτεί μεγάλη υπολογιστική ισχύ, παίρνοντας περίπου το 55% του χρόνου της CPU σε έναν 60MHz Pentium. Η έξοδος δεν αντέχεται σε έναν 66MHz 486 γιατί η CPU απλά δεν μπορεί να προλάβει τον ήχο. Αν αυτό συμβεί σε εσάς, προσπαθήστε να παίξετε μόνο την μια πλευρά του stream ήχου (με την επιλογή -l or -r option), αντί για το στέρεο που είναι το προκαθορισμένο. Μια μικρή αλλαγή σε ένα από τα αρχεία ίσως είναι αναγκαία, για να το κάνετε compile. Ονομαστικά, μπορεί να χρειαστεί να προσθέσετε την επόμενη γραμμή στην αρχή του αρχείου configuration.sh. #! /bin/sh Ο συγγραφέας είναι ο Tobias Bading (bading@cs.tu-berlin.de). Το maplay 1.2 μπορεί να αποκτηθεί με anonymous FTP από το ftp.cs.tu- berlin.de στο /pub/multimedia/maplay1.2/maplay1_2.tar. 2.3.3. maplay 1.3b Αυτή είναι μια ανεπίσημη τροποποίηση (δηλ. όχι από τον επίσημο συγγραφέα) του maplay 1.2, ώστε να μπορεί να τρέχει με πολύ λιγότερο φόρτο στην CPU. Αυτό το πετυχαίνει κάνοντας την έξοδο u-law να δουλεύει και σε άλλες πλατφόρμες εκτός του SPARC. Σημειώστε πως χρησιμοποιεί u-law output από default, και έτσι η ποιότητα του ήχου είναι χαμηλότερη. Οι τροποποιήσεις έγιναν από τον Orlando Andico (orly@gibson.eee.upd.edu.ph). Μπορεί να αποκτηθεί με anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/players/maplay-1.3b- Linux.tar.gz. 2.3.4. maplay3 Αυτό είναι ένα ακόμα παράγωγο του maplay 1.2. Προσθέτει υποστήριξη για MPEG Layer 3 streams ήχου. Αυτή τη στιγμή δείχνει να έχει κάποια bugs στο playback (ίσως ακούσετε κάποιους θορύβους σαν γρατσούνισμα). Ίσως πρέπει να παίξετε με τις επιλογές του για να λύσετε αυτό το πρόβλημα. Οι τροποποιήσεις έγιναν από τον by Timo Jantunen (timo.jantunen@hut.fi ή jeti@cc.hut.fi). Λέει πως μπορεί να χρησιμοποιηθεί ελεύθερα, αλλά κέρδος από αυτό απαγορεύεται. Παρόλα αυτά, δεν είμαι απόλυτα σίγουρος για την εγκυρότητα αυτής της πνευματικής ιδιοκτησίας, μια που το αρχικό maplay είναι κάτω από την GNU General Public License, που δεν επιτρέπει σε παράγωγες δουλειές να έχουν διαφορετικό καθεστώς πνευματικής ιδιοκτησίας. Μπορεί να αποκτηθεί με anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/players/maplay3.tar.gz. 2.3.5. splay Αυτός ο beta player είναι ένα ακόμα παράγωγο του maplay 1.2 (πραγματικά, είναι παράγωγο του maplay 1.2+, το οποίο είναι ένα παράγωγο του maplay 1.2 αποκλειστικά και μόνο για τα MS Windows). Προσθέτει υποστήριξη για MPEG Layer 3 streams ήχου. Είναι επίσης ικανό να παίζει αρχεία WAV. Μπορεί να παίξει streams ήχου που λαμβάνονται από μια HTTP σύνδεση. Ένα ακόμα χαρακτηριστικό του splay είναι πως μπορεί να χρησιμοποιηθεί σαν βιβλιοθήκη (κάτω από την LGPL), ώστε να μπορεί να χρησιμοποιείται και από άλλα προγράμματα. Επίσης επιχειρεί να βελτιώσει την απόδοση χρησιμοποιώντας threading (χρειάζεστε pthread για να κάνετε χρήση αυτής της δυνατότητας) και λίγη inline assembly. Το splay χρησιμοποιεί ένα command line interface και ένα προαιρετικό X interface (που χρησιμοποιεί QT). Αν μετά το compile δεν δουλεύει (π.χ. κάνει segmentation fault), προσπαθήστε να το μεταγλωττίστε ξανά χωρίς το threading. Από τον Jung Woo-jae (jwj95@eve.kaist.ac.kr). Μπορεί να αποκτηθεί στο splay's home page . 2.3.6. Sajber Jukebox Το πρόγραμμα αυτό είναι ένας MPEG player ήχου με ένα γραφικό user interface. Βασίζεται στο splay, και έτσι περιλαμβάνει υποστήριξη για MPEG ήχου, μέχρι και το III. Επίσης είναι ικανό να παίζει MPEG streams ήχου σε πραγματικό χρόνο, με το stream να τροφοδοτείται από HTTP. Φαίνεται επίσης εύκολο στην ρύθμισή του.. Χρησιμοποιεί το QT toolkit (χρειάζεται η έκδοση 1.2 τουλάχιστον). Επίσης χρησιμοποιεί την βιβλιοθήκη LinuxThreads (το εκτελέσιμο δουλεύει μόνο με την έκδοση 0.5). Ο συγγραφέας είναι ο Joel Lindholm (wizball@kewl.campus.luth.se). Η τελευταία έκδοση μπορεί να αποκτηθεί με anonymous FTP από το kewl.campus.luth.se στο /pub/jukebox. 2.3.7. amp Αυτός ο beta MPEG player ήχου έχει υποστήριξη μόνο για MPEG Layer 3 streams ήχου. Είναι ικανός να παίζει κατευθείαν στην κάρτα ήχου, και μπορεί να εξάγει σε ασυμπίεστα αρχεία PCM ή WAV. Και αυτός απασχολεί πολύ την CPU (περίπου 60% σε ένα 133MHz Pentium). Γράφτηκε από τον Tomislav Uzelac (tuzelac@rasip.fer.hr). Μπορεί να χρησιμοποιηθεί και διανεμηθεί ελεύθερα, όσο δεν πωλείται εμπορικά, χωρίς άδεια (το να συμπεριληφθεί σε CD-ROMs που περιέχουν ελεύθερο λογισμικό επιτρέπεται ρητά, παρόλα αυτά). Μπορεί να αποκτηθεί με anonymous FTP από το ftp.rasip.fer.hr στο /pub/mpeg/amp-0.7.3.tgz. 2.3.8. XAudio Αυτός η alpha βιβλιοθήκη γράφτηκε για να αποτελέσει μια γρήγορη υλοποίηση μιας βιβλιοθήκης αποκωδικοποίησης MPEG ήχου, που να χρησιμοποιείται από διάφορα γραφικά front-ends. Υποστηρίζει MPEG ήχο για layers I, II, και III. Είναι ικανός γι τυχαία πρόσβαση σε bitstreams. Ένα interface γραμμής-εντολής συμπεριλαμβάνεται. Μια έκδοση για Motif (Lesstif) front-end επίσης συμπεριλαμβάνεται στην έκδοση για Linux. Είναι από τον Gilles Boccon-Gibod, Alain Jobart και άλλους. Τα front- ends στη βιβλιοθήκη μπορούν να διανέμονται ελεύθερα. Η ίδια η βιβλιοθήκη πρέπει να καταχωρηθεί (licensed) για να χρησιμοποιηθεί (άδεια για κώδικα και για εκτελέσιμο είναι διαθέσιμη). Τα front-ends στην βιβλιοθήκη μπορούν να αποκτηθούν από την XAudio home page . 2.3.9. Layer 3 Shareware Encoder/Decoder Αυτός είναι ουσιαστικά ένας μετατροπέας από MPEG Layer 3 streams ήχου σε WAV, AIFF, SND, AIFC, ή απλά ασυμπίεστα PCM αρχεία. Η έκδοση για The Linux δεν κάνει απευθείας έξοδο στην κάρτα ήχου. Πρέπει να το μετατρέψετε πρώτα σε κάποιο άλλο format. Παρόλα αυτά, όταν επιχειρήσετε να παίξετε ένα αρχείο από μετατροπή, χρησιμοποιώντας το sox, θα ακούσετε πιθανώς κάποιο θόρυβο γιατί η διάταξη των λέξεων (words στα δείγματα του PCM δεν είναι σωστή (τουλάχιστον σε Intel πλατφόρμες). Θα χρειαστεί να δώσετε στο sox την επιλογή -x για να λύσετε αυτό το πρόβλημα. Αλλά υπάρχουν κάποιοι players που δεν χρειάζεται να ειδοποιηθούν πως η διάταξη των λέξεων είναι λάθος, και έτσι ίσως να μην χρειαστεί να ανησυχήσετε για αυτό. Αν έχετε ένα αληθινά γρήγορο Η/Υ (τουλάχιστον ένα 100Mhz Pentium), τότε μπορείτε να δοκιμάσετε να παίξετε MPEG Layer 3 streams απευθείας χωρίς να μετατρέψετε το αρχείο ήχου σε άλλο format, όπως στο παράδειγμα που ακολουθεί( το παράδειγμα υποθέτει πως χρησιμοποιείτε το sox και παίζετε ένα στερεοφωνικό δείγμα των 44.1 kHz). $ l3dec foo.mp3 -sto | play -t raw -x -u -w -c 2 -r 44100 - Ο αριθμός μετά το -r είναι ο ρυθμός δειγματοληψίας του stream ήχου, και ο αριθμός μετά το -c εξαρτάται από το αν είναι μονοφωνικό ή στερεοφωνικό (ή ακόμα και τετραφωνικό). Αν αυτό μοιάζει πολύ μπλεγμένο, μπορείτε να χρησιμοποιήσετε κάτι σαν script-φλοιού (shell script) ή ένα ψευδώνυμο (alias). Είναι σε άδεια πνευματικής ιδιοκτησίας για shareware από το Fraunhofer-IIS. Μια έκδοση επίδειξης για Linux σε συστήματα x86 μπορεί να αποκτηθεί με anonymous FTP από το ftp.fhg.de στο /pub/layer3. Η έκδοση επίδειξης (demo version) μετατρέπει μόνο streams ήχου layer III. 2.4. WAV Παράθεση από την σελίδα βοήθειας (man page) του sox: Μοιάζουν να είναι πολύ παρόμοια με αρχεία IFF, αλλά όχι τα όμοια. Είναι το εγγενές format αρχείου ήχου των Windows 3.1. Προφανώς, τα Windows 3.1 είναι τόσο απίστευτα σπουδαία για την βιομηχανία των Η/Υ που έπρεπε να έχουν το δικό τους format αρχείων ήχου. Αυτά έχουν συνήθως την κατάληξη.wav. Δείτε επίσης το τμήμα ``sox'' και το ``bplay'' για άλλους players WAV εκτός από αυτούς που αναφέρονται εδώ. 2.4.1. wavplay Το πρόγραμμα αυτό υποστηρίζει εκτέλεση και εγγραφή σε WAV format. Χρησιμοποιεί κλείδωμα (locking) έτσι ώστε μόνο ένας ήχος την φορά μπορεί να εκτελεστεί. Οι δυνατότητες του για κλείδωμα μπορούν να χρησιμοποιηθούν και ξεχωριστά από τις δυνατότητες εκτέλεσης ήχων του. Εκτός ενός interface γραμμής-εντολής, έχει και ένα Motif interface, το οποίο μπορεί να χρησιμοποιηθεί με Lesstif. Αρχικά γράφτηκε από τον Andre Fuechsel (af1@irz.inf.tu-dresden.de), αλλά εξελίχθηκε μέχρις σημείου να ξανα γραφτεί από την αρχή από τον Warren W. Gay (bx249@freenet.toronto.on.ca ή wwg@ica.net). Μπορεί να αποκτηθεί με anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/players/wavplay-1.0.tar.gz. 2.5. Λοιπά πράγματα Αυτή η ενότητα αναφέρει λοιπό υλικό που παίζει formats ήχου που δεν αξίζουν ξεχωριστή ενότητα(π.χ. formats που έχουν μόνο έναν player), και players που παίζουν ένα ή και περισσότερα format. 2.5.1. sox Το πρόγραμμα είναι ουσιαστικά ένας μετατροπέας, δηλαδή μετατρέπει ένα format αρχείου ήχου σε ένα άλλο. Παρόλα αυτά, μερικές εκδόσεις του sox, όταν καλούνται από το play, παίζουν και τον ήχο (η εφαρμογή play στο Sound HOWTO probably αναφέρεται σε αυτό). Υποστηρίζει απλά (raw - no header) δυαδικά δεδομένα και δεδομένα χαρακτήρων, αρχεία ήχου IRCAM, Sound Blaster .voc, SPARC .au (χωρίς header), Mac HCOM, PC/DOS .sou, Sndtool, και Sounder, NeXT .snd, Windows 3.1 RIFF/WAV, Turtle Beach .smp, CD-R, και Apple/SGI AIFF και 8SVX formats Από κάπου στους πυρήνες 1.3.6x, μπορεί να χρειαστεί να κάνετε μια μικρή αλλαγή σε ένα από τα αρχεία για να παίζεται τους ήχους απευθείας. Δηλαδή, θα πρέπει να αλλάξετε την γραμμή 179 στο sbdsp.c from if (abuf_size < 4096 || abuf_size > 65536) { σε if (abuf_size < 1 || abuf_size > 65536) { Ίσως πάλι να μην χρειάζεται να το κάνετε. Αλλά κάνοντας το, δεν θα χαλάσετε τίποτα. Έχει γραφτεί και, τα πνευματικά του δικαιώματα, κατοχυρωθεί από πολλούς, και μπορεί να χρησιμοποιηθεί για κάθε σκοπό. Μπορεί να αποκτηθεί με anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/convert/Lsox-linux.tar.gz. Μια πιο πρόσφατη έκδοση από τον Chris Bagwell (cbagwell@sprynet.com) (που βασίζεται στην τελευταία gamma έκδοση του πρωτοτύπου sox (και συμπεριλαμβάνει την παραπάνω διόρθωση) fix) και μπορεί να αποκτηθεί με anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/convert/sox-11gamma-cb3.tar.gz. 2.5.2. bplay Αυτή το beta πρόγραμμα παίζει ασυμπίεστα απλά αρχεία ήχου, WAV, και VOC files. είναι επίσης ικανό να ηχογραφεί σε τέτοια αρχεία. Χρησιμοποιεί μια ποικιλία τεχνικών για να επιτύχει την υψηλότερη δυνατή ταχύτητα, ώστε να τρέχει αποδεκτά ακόμα και σε αργές μηχανές. Μια από αυτές τις τεχνικές απαιτεί τα εγκατεστημένα προγράμματα να είναι setuid root. Οι παρανοϊκοί που ελπίζουν να το χρησιμοποιήσουν, ίσως θέλουν επίσης και το πακέτο για Debian του Ian Jackson (ijackson@gnu.org, που ακυρώνει αυτή το χαρακτηριστικό του, που χρειάζεται το setuid bit. Ο συγγραφέας είναι ο David Monro (davidm@gh.cs.usyd.edu.au). Μπορεί να αποκτηθεί με anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/players/bplay-0.96.tar.gz. 2.5.3. SIDPLAY Αυτό το πρόγραμμα προσομοιώνει το Sound Interface Device chip (MOS 6581, συχνά αποκαλούμενο SID) και το Micro Processor Unit (MOS 6510) του Commodore 64. Γι'αυτό είναι ικανό να φορτώνει και να εκτελεί προγράμματα σε γλώσσα μηχανής C64 που παράγουν μουσική ή ήχο. Γενικά, fragments κώδικα και δεδομένων που έχουν εξαχθεί από παιχνίδια και προγράμματα επιδείξεων που και μεταφερθεί κατευθείαν από τον C64. Χρησιμοποιεί κάποιο προκαθορισμένο interface γραμμής-εντολών. Υπάρχουν επίσης Tk και QT interfaces διαθέσιμα ξεχωριστά από το κυρίως πακέτο. Συντηρείται από τον Michael Schwendt (sidplay@geocities.com). Μπορεί να αποκτηθεί από την SIDPLAY's home page . 2.5.4. RealAudio Player Σας επιτρέπει να ακούτε τον ήχο, που αποθηκεύει σε δικό του (proprietary) format, σε πραγματικό χρόνο από το Internet χωρίς να κατεβάσετε ολόκληρο το αρχείο ήχου πρώτα. Θα μπορούσε να χρησιμοποιηθεί μόνο του, αλλά αληθινά στοχεύει στη χρήση με κάποιον web browser (ρητά υποστηρίζει Mosaic και Netscape). Δεν μπορεί να χρησιμοποιηθεί χωρίς τα (δεν θα μπορέσετε να το βάλετε να δουλέψει με από κονσόλα). Είναι της Progressive Networks, Inc. Δεν μπορεί να διανεμηθεί, αλλαχθεί κλπ. Κοιτάξετε την άδεια χρήσης για ακριβείς λεπτομέρειες του τι μπορείτε να κάνετε. Μπορεί να αποκτηθεί εάν δηλωθείτε χωρίς κόστος στην RealAudio home page . 2.5.5. cat Κάποιοι πιστεύουν, πως μερικές φορές η πολυχρησιμοποιούμενη εφαρμογή συνένωσης cat, έχει σχέση και με την εκτέλεση ήχων. Θα σας δείξω την χρήση της μέσω ενός παραδείγματος $ cat sample.voc > /dev/dsp $ cat sample.wav > /dev/dsp $ cat sample.au > /dev/audio Κάνοντας cat σε ένα αρχείο .au στο /dev/audio συνήθως θα δουλέψει, και αν είστε και αρκετά τυχεροί να έχει το αρχείο την σωστή διάταξη των byte (για την πλατφόρμα σας) κλπ., ένα cat ενός αρχείου ήχου που χρησιμοποιεί δείγματα PCM (όπως .wav ή .voc) στο /dev/dsp μπορεί να ακουστεί σωστά επίσης. Αυτή δεν είναι μια εντελώς άχρηστη εφαρμογή της cat. Μπορεί να είναι χρήσιμη ,για παράδειγμα, εάν έχετε ένα αρχείο ήχου που κανένα από τα προγράμματά σας δεν αναγνωρίζει, και ξέρετε πως χρησιμοποιεί PCM , τότε μπορείτε να πάρετε, με αυτό τον τρόπο, μια χοντρική ιδέα του πως ακούγεται (αν είστε τυχεροί). 3. Αλλες χρήσιμες εφαρμογές ήχου Αυτή η ενότητα δεν έχει να κάνει με την εκτέλεση αρχείων ήχου. Περισσότερο, είναι μια συλλογή από εφαρμογές ήχου που μπορεί να φανούν χρήσιμες. 3.1. volume Είναι ένα interface γραμμής εντολών για έλεγχο της έντασης (τι άλλο θα'ταν;). Έχει επίσης ένα ξεχωριστό interface σε Tcl/Tk interface που συμπεριλαμβάνεται στο πακέτο, για έλεγχο ήχου και εκτέλεση αρχείων .au. Ένας πολύ απλός Tcl/Tk CD συμπεριλαμβάνεται επίσης. Είναι Freeware και γράφτηκε από τον Sam Lantinga (slouken@cs.ucdavis.edu). Μπορεί να αποκτηθεί από το anonymous FTP στο sunsite.unc.edu στο /pub/Linux/apps/sound/soundcard/volume-2.1.tar.gz. 3.2. Sound Studio Είναι μια εφαρμογή σε Tcl/Tk που υποστηρίζει εκτέλεση, ηχογράφηση και διόρθωση ψηφιακών ήχων χρησιμοποιώντας sox. Περιλαμβάνει το sox στη διανομή της για να αποφύγει προβλήματα συμβατότητας. Γράφτηκε από τον Paul Sharpe και τον N. J. Bailey (N.J.Bailey@leeds.ac.uk). Μπορεί να χρησιμοποιηθεί ελεύθερα και διανεμηθεί, αν στείλετε στον συγγραφέα ένα καρτ-ποστάλ. Μπορεί να βρεθεί στη Sound Studio's home page . 3.3. Tickle Music Αυτό το beta Tcl/Tk πρόγραμμα είναι ένας browser μουσικών αρχείων που επιτρέπει την εκτέλεση διαφόρων format ήχων, εάν έχετε στο σύστημά σας το κατάλληλο πρόγραμμα να τους παίξει. Από προεπιλογή το gmod χρησιμοποιείται για να παίζει αρχεία MOD και το mp για αρχεία MIDI (μπορείτε να αλλάξετε τον κώδικα να χρησιμοποιεί άλλα προγράμματα). Έχει γραφτεί και κατοχυρωθεί από τον Shannon Hendrix (shendrix@pcs.cnu.edu ή shendrix@escape.widomaker.com). Μπορεί να αποκτηθεί με anonymous FTP από το sunsite.unc.edu στο /pub/Linux/apps/sound/players/tmusic-1.0.tar.gz. 4. Παραπομπές 1. Η τεκμηρίωση που συμπεριλαμβάνεται στις εφαρμογές που εμφανίζονται σε αυτό το κείμενο. 2. Το Linux Sound HOWTO. Μπορεί να βρεθεί στο Linux Documentation Project . 3. Linux MIDI and Sound Pages 4. MPEG Audio Layer 3 FAQ 5. Programmer's Guide to OSS 6. SoX home page