Το πρόβλημα:
α) To IDJC παίζει μέσω ALSA και JACK.
β) Η συνεργασία Skype και IDJC γίνεται μέσω του JACK (που επιτρέπει την επικοινωνία των ήχων διαφορετικών προγραμμάτων ήχου, συνδέοντας τις εισόδους ενός προγράμματος ήχου στις εξόδους ενός άλλου).
γ) Το Ubuntu 9.10 έχει σαν κύριο διαχειριστή ήχων το Pulseaudio. Δηλαδή στο Ubuntu 9.10, όταν ανοίγουμε ένα πρόγραμμα ήχου, το αναλαμβάνει αυτόματα ο Pulseaudio, ενώ εμείς θέλουμε τον ALSA.
δ) Επίσης στο Ubuntu 9.10 η υπάρχουσα libasound2-plugins, δεν υποστηρίζει το JACK.
Η λύση:
Όπως προκύπτει απο το πρόβλημα, πρέπει να κάνουμε το Pulseaudio να μην παίρνει εξ ορισμού τον έλεγχο των προγραμμάτων ήχου, να αντικαταστήσουμε την libasound2-plugins που υπάρχει στο Ubuntu με μία έκδοση που να υποστηρίζει το JACK, να εγκαταστήσουμε το Skype και να προσθέσουμε το script που θα συνδέει το Skype με το IDJC μέσω JACK. (Θα πρέπει κάθε φορά που θέλουμε να περάσουμε τις συνομιλίες από το Skype στον αέρα του IDJC, να ανοίγουμε το Skype μετά το IDJC για να βρίσκει το JACK ανοιχτό και να συνδέεται).
Σημ.: Τα παρακάτω βήματα τα έκανα σε ένα εγκατεστημένο παρθένο Ubuntu 9.10 (σε έναν P4) χωρίς να έχω εγκαταστήσει το Skype και το IDJC. Έχω την εντύπωση ότι αν το IDJC και το Skype είναι ήδη εγκατεστημένα, δεν θα υπάρχει πρόβλημα, αλλά δεν μπορώ να το επιβεβαιώσω (δηλαδή μπορώ, αλλά βαριέμαι :D)
1) Eνεργοποιούμε τα multiverse και universe αποθετηρία, απ'το Synaptic (System --> Administration --> Synaptic Package Manager). Πάμε Settings --> Repositories και στο Ubuntu Software, τσεκάρουμε τα Community-maintained Open Source software (universe) και Software restricted by copyright or legal issues (multiverse).
2) Aνοίγουμε ένα τερματικό (Applications --> Accessories --> Terminal) και κάνουμε update:
sudo apt-get update
3) Aπενεργοποιούμε το Paulseaudio:
echo autospawn = no|tee -a ~/.pulse/client.conf
touch ~/.pulse_a11y_nostart
sudo chmod 600 /usr/bin/pulse-session
killall pulseaudio
4) Kατεβάζουμε τη libasound2-plugins_1.0.20-1ubuntu8+withjack2_i386.deb (71.2 KiB) από εδώ. Πηγαίνουμε στο φάκελο που τη σώσαμε (π.χ. Downloads/) και κάνουμε dpkg:
cd Downloads/
sudo dpkg -i libasound2-plugins_1.0.20-1ubuntu8+withjack2_i386.deb
Aν παρουσιαστεί κάποιο error, κάνουμε update για dependancies:
sudo apt-get install -f
και ξανακάνουμε dpkg:
sudo dpkg -i libasound2-plugins_1.0.20-1ubuntu8+withjack2_i386.deb
5) Εγκαθιστούμε τα απαραίτητα αρχεία για το IDJC, από το synaptic (δες στο "DJing και Radio Streaming στο Linux με IDJC", το βήμα 2.)
6) Εγκαθιστούμε το IDJC:
wget http://web.bethere.co.uk/idjc/download/idjc-0.7.18a.tar.gz
tar xzvf idjc-0.7.18a.tar.gz
cd idjc-0.7.18a/
./configure CFLAGS="-02"
make
sudo make install
echo "/usr/bin/jackd -d alsa -r 44100 -p 2048" > ~/.jackdrc
7) Κατεβάζουμε το Skype από εδώ και πηγαίνουμε στο φάκελο που το σώσαμε (π.χ. Downloads/):
cd ~/Downloads/
Aποσυμπιέζουμε το skype_static και κάνουμε τα παρακάτω:
tar -xvf skype_static-2.1.0.47.tar.bz2
sudo mv skype_static-2.1.0.47 /usr/share/
cd /usr/share/
sudo mv skype_static-2.1.0.47/ skype
cd skype/
sudo cp skype /usr/bin/
rm /etc/dbus-1/system.d/skype.conf
(εάν δεν υπάρχει το αρχείο skype.conf θα μας γράψει "no such file...", και συνεχίζουμε)
sudo cp /usr/share/skype/skype.conf /etc/dbus-1/system.d/
Φοτρώνουμε το alsa-firmware:
sudo aptitude search alsa-firmware
sudo apt-get install alsa-firmware-loaders
8) Προσθέτουμε το script στο ~/.asoundrc:
gedit ~/.asoundrc
Ανοίγει ο text editor gedit και γράφουμε τα παρακάτω:
pcm.idjcvoip {
type plug
slave {pcm "idjcjack"}
}
pcm.idjcjack {
type jack
playback_ports {
0 idjc-mx:voip_recv_lt
1 idjc-mx:voip_recv_rt
}
capture_ports {
0 idjc-mx:voip_send_lt
1 idjc-mx:voip_send_rt
}
}
Σώζουμε το αρχείο (πατάμε save) και κλείνουμε το gedit.
9) Eπανεκινούμε το ALSA:
sudo /etc/init.d/alsa-utils restart
Προαιρετικά, εγκαθιστούμε το gnome-alsamixer από το Synaptic, ή από το τερματικό:
apt-get install gnome-alsamixer
Τώρα όλα είναι OK και μπορούμε να κάνουμε τις ρυθμίσεις για την κάρτα ήχου, το Skype και το IDJC, σύμφωνα με τον οδηγό του "Ρυθμίσεις για το Radioholic v.1 Live CD".
Σημ.1.: Μετά την εγκατάσταση του Skype με τον τρόπο που περιγράφεται παραπάνω, το Skype δεν ενφανίζεται στο Applications --> Internet (ενώ στο Radioholic εμφανίζεται). Επομένως, για να ξεκινήσουμε το Skype, πρέπει να ανοίξουμε ένα terminal (Αpplications --> Accessories --> Terminal) και να γράψουμε skype. Eάν θέλουμε να προσθέσουμε ένα εικονίδιο εκκίνησης του Skype, πάμε στο panel του Gnome (η γκρι μπάρα πάνω-πάνω) κάνουμε δεξί κλικ και επιλέγουμε Add to Panel... Στο παράθυρο Add to Panel που ανοίγει, επιλέγουμε (το πρώτο) Custom Application Launcer και πατάμε το κουμπί Add (κάτω δίπλα στο Close). Στο παράθυρο Create Launcher που ανοίγει, γράφουμε στο Name: Skype και στο Command: /usr/share/skype/skype. Aν θέλουμε να αλλάξουμε το default εικονίδιο, πατάμε επάνω στο εικονίδιο (στο παράθυρο Create Launcher αριστερά) και επιλέγουμε από το νέο παράθυρο με τα εικονίδια που ανοίγει, όποιο θέλουμε. Πατάμε ΟΚ να κλείσει το Create Launcher και Close για να κλείσει το Add to Panel. Το εικονίδιο - συντόμευση για τo Skype, έχει ήδη εμφανιστεί στο Panel.
Σημ.2.: Σύμφωνα και με τον οδηγό για το Skype στο documentation του IDJC, με αυτές τις ρυθμίσεις δεν μπρορούμε να κάνουμε κλήσεις με το Skype εκτός του IDJC. Η λύση σε αυτό το πρόβλημα είναι ή να έχουμε ένα λογαριασμό στο Skype με αυτές τις ρυθμίσεις, μόνο για όταν θα κάνουμε εκπομπές (δηλαδή όταν θα χρησιμοποιούμε το IDJC), ή να έχουμε ένα λογαρασμό χρήστη (user account) στο Ubuntu με αυτές τις ρυθμίσεις, που θα χρησιμοποιούμε όταν κάνουμε εκπομπές.
Χρήσιμα Links:
Tις οδηγίες για τη χειροκίνητη εγκατάσταση του Skype, τις βρήκα εδώ.
Ο οδηγός του Stephen Fairchild για το στήσιμο του Skype στο IDJC, είναι εδώ.
Ο οδηγός που μου έδειξε το πρόβλημα της libasound2 στο Ubuntu, είναι εδώ.
Το ότι κάποιος έφτιαξε ένα .deb για το Ubuntu με τη libasound2 που υποστηρίζει το JACK (until jack is included to main), το βρήκα εδώ στο #25.
To πώς να απενεργοποιήσω το pulseaudio, το βρήκα εδώ στο #8.
No comments:
Post a Comment