A2DP Bluetooth audio για μεταφορά ήχου καλής ποιότητας σε Bluetooth ακουστικά

Naftilos76 | Κυρ, 01/27/2008 - 11:24 | 4' | 1

Για σε όλους,

Πριν μερικές μέρες παρέλαβα τα Motorola S805 ακουστικά μου και ένα BT-2100p USB Bluetooth Ver. 2.0
EDR dongle της Trust για να ακούω stereo ήχο καλής ποιότητας (MP3 128kb/s και άνω).
Έψαξα αρκετά πριν παραγγείλω τα παραπάνω σχετικά με το αν είναι εφικτό, αυτή την στιγμή, να γίνει
αυτό στο Linux.
Αναφορές υπάρχουν αρκετές μεταξύ άλλων, μέσω χρήσης btsco, plugz αλλά αυτή που μου έκανε εντύπωση
ήταν φυσικά η υλοποίηση μέσω bluez. Υπάρχει μία πολύ καλή επεξηγηματική αναφορά στο link:

http://wiki.bluez.org/wiki/HOWTO/AudioDevices

Στα επόμενα links υπάρχουν αναφορές σχετικά με 'A2DP audio'

http://bluetooth-alsa.sourceforge.net/build.html
http://fosswire.com/2008/01/11/a2dp-stereo-linux/
http://gentoo-wiki.com/HOWTO_use_a_bluetooth_headset

http://wiibrew.org/index.php?title=List_of_Working_Bluetooth_Devices
http://willcode4beer.com/tips.jsp?set=bluetoothHeadphones

Η πιό βολική υλοποίηση, για μένα, ήταν αυτή μέσω python:

import dbus
bus = dbus.SystemBus()
manager = dbus.Interface(bus.get_object('org.bluez', '/org/bluez'), 'org.bluez.Manager')
bus_id = manager.ActivateService('audio')
audio = dbus.Interface(bus.get_object(bus_id, '/org/bluez/audio'), 'org.bluez.audio.Manager')

path = audio.CreateHeadset('00:11:22:33:44:55')
# audio.ChangeDefaultHeadset(path) # change the device to be used by default
headset = dbus.Interface (bus.get_object(bus_id, path), 'org.bluez.audio.Headset')
# Connect and Play are not required in PCM mode
headset.Connect()
headset.Play()

Όλα λειτούργησαν καλά στην αρχή, αφού το Bluetooth dongle BT-2100p υποστηρίζεται μιά χαρά από
το Linux και φυσικά τα ακουστικά Motorola S805 που είναι πραγματικά ιδανικά για αυτή ακριβώς
την δουλειά.
Έπαιξα μέσω Amarok και mplayer. Και οι δύο περιπτώσεις παίξανε κρυσταλλικά-καθαρά και δυνατά.
Αλλά...η ποιότητα (bitrate) ήταν φανερά υποβαθμισμένη, άσχετα με την ρύθμιση “auto”, “hifi”
και “voice” στο αρχείο ~/.asoundrc, κάτω από τα 64kb/s έστω και αν το MP3 που έπαιζε ήταν
192kb/s! Αν όχι στο πρώτο τραγούδι, στο δεύτερο ή στο τρίτο ο player (Amarok ή mplayer)
κολλούσε και ο επεξεργαστής άρχιζε να δουλεύει στο 100%.
Υπό αυτές τις συνθήκες, όπως καταλαβαίνετε, δεν μπορεί κανένας να ακούσει μουσική γιατί
απλούστατα θα καταλήξει στο φρενοκομείο με σπασμένα τα νεύρα του.

Παρακαλώ πολύ, αν κάποιος γνωρίζει κάτι για την περίπτωση, ας απαντήσει...

Ευχαριστώ προκαταβολικά!

--> Σημειώστε ότι με τους beta drivers του USB Bluetooth dongle σε windows XP
έπαιξε τέλεια χωρίς ΚΑΝΕΝΑ απολύτως πρόβλημα, με ύψιστη ποιότητα και πολύ ζεστό μπάσο!
--> Το σύστημα μου είναι Fedora 8 πλήρως ενημερωμένο και υλικό: P4 2.0GHz, 1GB RAM

Φόρουμ
Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Γεια χαρά,

Εγώ έχω τα ακουστικά Motorola HT820 με ένα bluetooth dongle της Conceptronic κ Bluez 3.24 (σε Debian lenny). Όλα παίζουν μια χαρά, στερεοφωνικά, χωρίς κανένα κόλλημα. Σχετικά με την ποιότητα του ήχου όμως, συμφωνώ ότι δεν είναι καλή.

Θυμάμαι ότι διάβασα πριν λίγους μήνες όταν έστηνα το κόλπο αυτό (νομίζω στο site του bluetooth-alsa project), ότι λείπουν ακόμα κάποια φίλτρα ήχου από την υλοποίηση, με αποτέλεσμα η ποιότητα να είναι χαμηλή, μη συγκρίσιμη με αντίστοιχα commercial πακέτα. Καλομελέτα κ έρχεται όμως :)

Σχετικά με τα προβλήματα που συναντάς εσύ, αν μπορώ να κάνω κάτι, πχ να σου δώσω πληροφορίες σχετικά με το στήσιμο μου, πολύ ευχαρίστως (απλά δεν τις θυμάμαι τώρα απ'έξω). Απ'ό,τι θυμάμαι τώρα, πείραξα το .asoundrc κ προσέθεσα μια virtual κάρτα ονόματι "bluetooth", με τα στοιχεία των ακουστικών μου, κ μετά πήγα στο πρόγραμμα αναπαραγωγής (amarok, audacious) κ όπου "alsa device" έβαλα "bluetooth".

Αυτά προς το παρόν...