Ρύθμιση ALSA για το Festival (TextToSpeech )

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

Ρύθμιση ALSA για το Festival (TextToSpeech )

Δημοσίευσηαπό sokoban4ever » 19 Οκτ 2009, 09:11

Πρόβλημα :


    Έχουμε δοκιμάσει διάφορες εφαρμογές που χρησιμοποιούν δυνατότητες TextToSpeech μέσω του Festival
    ήχος δεν παράγεται παρα μόνο όταν κλείσουμε κάποιο άλλο πρόγραμμα μουσικής αναπαραγωγής
    (exaile , Amarok,audacius,banshee κλπ κλπ)
    Τις περισσότερες φορές το πρόβλημα είναι με την ρύθμιση του Festival και όχι του προγράμματος
    Το πρόβλημα έγκειται στο ότι το festival δεν χρησιμοποιεί εξ ορισμού το ALSA (Advanced Linux Sound Architecture)ή το ESD ή το Pulseaudio για sound server
    αλλά το OSS ( Open Sound System)

Βήματα :


    Πρέπει να διαπιστώσουμε ότι έχουμε το ALSA
    μπορούμε πχ να πάμε στο Volume Applet και να δούμε αν έχουμε στην λίστα με τα devices (συσκευές)
    το Alsa mixer. Αν έχουμε το AlSA sound server προχωράμε.
    Πρέπει επίσης να βεβαιωθούμε ότι το πρόγραμμα χρησιμοποιεί σωστά την σύνταξη του festival
    και επικοινωνεί με αυτό
    την οποία μπορούμε κοιτάξουμε εκτελώντας:
    Κώδικας: Επιλογή όλων
    man festival

    στο τερματικό.
    Όπως και να έχει πρέπει να κοιτάξουμε το βοηθήματα του εκάστοτε προγράμματος είτε
    με μία από τις εντολές
    ονομαπρογράμματος -h
    ονομαπρογράμματος --h
    ονομαπρογράμματος --help
    man ονομαπρογράμματος
    είτε στο site του προγράμματος
    είτε στο μενού help ( εάν έχει γραφικό περιβάλλον το πρόγραμμα)
    όπως και να έχει καλό είναι να ανοίξουμε μια κονσόλα
    και να γράψουμε
    Κώδικας: Επιλογή όλων
    festival --tts

    ενώ ταυτόχρονα παίζουμε μουσική με κάποιον player
    και να διαπιστώσουμε ότι δεν παίζει ταυτόχρονα το festival

Παράδειγμα προβλήματος:


    Δοκίμασα το QstarDict που χρησιμοποιεί το Festival για να εκφωνεί λέξεις από λεξικά αλλά όταν
    παίζει ταυτόχρονα μουσική απλά δεν λειτουργεί .
    Στο help και στο forum (http://forum.qstardict.ylsoftware.com/ που ήταν στα ρώσικα )δεν είχε και τίποτα ...
    στις ρυθμίσεις του πρόσεξα ότι χρησιμοποιεί το festival
    και μάλιστα την εντολή
    Κώδικας: Επιλογή όλων
    festival --tts

    εκτελώντας λοιπόν festival --tts στην κονσόλα μου έδινε το σφάλμα
    can't open /dev/dsp

    όταν όμως δεν έπαιζα μουσική αυτό έπαιζε κανονικά

Λύση


    Ανοίγουμε με έναν text editor (επεξεργαστή κειμένου)
    το ~/.festivalrc , προσθέτουμε στο τις παρακάτω γραμμές
    Κώδικας: Επιλογή όλων
    (Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")
    (Parameter.set 'Audio_Method 'Audio_Command)
    (Parameter.set 'Audio_Required_Format 'snd)

    και το σώζουμε
    έπειτα δοκιμάζουμε ενώ παίζει μουσική κάποιος player
    και εκτελούμε
    Κώδικας: Επιλογή όλων
    festival --tts

    γράφουμε μερικές λέξεις και άμα τις εκφωνήσει όλα καλά
    Αν όχι
    δοκιμάζουμε και βάζουμε τις παρακάτω γραμμές
    Κώδικας: Επιλογή όλων
    (Parameter.set 'Audio_Command "aplay -D plug:dmix -q -c 1 -t raw -f s16 -r $SR $FILE")
    (Parameter.set 'Audio_Method 'Audio_Command)
    (Parameter.set 'Audio_Required_Format 'snd)

    λογικά θα παίξει αυτήν την φορά.

Σημείωση :


    Αν δεν υπάρχει το .festivalrc απλά το δημιουργούμε στο
    /home/ΟνομαΧρήστη/ όπου Όνομα χρήστη το όνομα που χρησιμοποιείτε για την είσοδο (log-in name) στο σύστημα
    Αν θέλουμε να ισχύει για όλους τους χρήστες
    μπορούμε να προσθέσουμε το κείμενο στο τέλος του αρχείου
    festival.scm
    που βρίσκεται στο
    /usr/share/festival/festival.scm
    πχ με την εντολή
    Κώδικας: Επιλογή όλων
    gksudo gedit /usr/share/festival/festival.scm


    Για περισσότερες πληροφορίες ανατρέξτε
    στα manual pages
    Κώδικας: Επιλογή όλων
    man festival

    και
    Κώδικας: Επιλογή όλων
    man aplay

links


Θέλουμε και μπορούμε να έχουμε μια καλύτερη ζωή και όσο θα ζούμε θα προσπαθούμε να την αποκτήσουμε ακόμα και αν πεθάνουμε προσπαθώντας, και αν κάποια στιγμή λιγίσουμε έχουμε το επίπεδο να πούμε κουράστηκα λίγο να ,να ξαποστάσουμε , ώστε να συνεχίσουμε πάλι δυνατοί ξανά.

Μήνυμα με αγάπη και αληλλεγγύη σε όλους τους ανθρώπους από όλους τους λαούς , ιδίως του Ελληνικού.
Άβαταρ μέλους
sokoban4ever
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 2331
Εγγραφή: 13 Φεβ 2009, 02:22
Εκτύπωση

Επιστροφή στο Οδηγοί - How to - Tutorials