Ειδικό Τεύχος : Linux και Ηχος. Η Υποδοµή



Σχετικά έγγραφα
Μουσική Πληροφορική. Δ. Πολίτης, Τμήμα Πληροφορικής ΑΠΘ, 2015

Εισαγωγή στην Πληροφορική

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Ηχογραφώντας με το CUBASE

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ ΓΙΑ ΕΠΙΚΟΙΝΩΝΙΑ ΠΕΛΑΤΩΝ ΜΕΣΩ ΙΑ ΙΚΤΥΟΥ

Κατανεμημένα Συστήματα

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

Β τάξη. ΕΝΟΤΗΤΑ 1 Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή. Εικόνα 2.1: Η Κεντρική Μονάδα.

Αφήγηση Μαρτυρία. Μουσική. Ενίσχυση μηνύματος Μουσική επένδυση Ηχητικά εφέ

Σύντομος οδηγός χρήσης του λογισμικού ηχογράφησης Cubase

ΛΟΓΙΣΜΙΚΟ (software)

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

Καλπαξίδου Ελένη Τμήμα Πληροφορικής Α.Τ.Ε.Ι. Θεσσαλονίκης

4) Mικρόφωνο αν είστε τραγουδιστής ή αν παίζετε ακουστικά όργανα. 5) Ηχεία υπολογιστή ή active monitors για pc (για όσους θέλουν καλύτερο ήχο).

Powered by Web Serve

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Ο ΗΓΟΣ ΕΠΙΜΟΡΦΩΤΗ. ηµοτικό ιαδικτυακό Ραδιόφωνο και Τηλεόραση. Y4 ηµιουργία διαδικτυακής ραδιοφωνικής εκποµπής µε τα εργαλεία

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System)

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Working with audio and video on Linux Operating System

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Αξιοποίηση της Τεχνολογίας των Εικονικών Μηχανών στην Επαγγελματική Εκπαίδευση και την Κατάρτιση Πληροφορικής. Βασιλάκης Βασίλειος Τζανάκης Δημήτριος

Εισαγωγή στη Μουσική Τεχνολογία Ενότητα: Το Audio διασυνδετικό και η κάρτα ήχου

25 ευρώ συνολικά και για τα τέσσερα διαφορετικά εργαστήρια µουσικής τεχνολογίας

Λιβανός Γιώργος Εξάμηνο 2017Β

Ο τομέας μουσικής τεχνολογίας, παραγωγής και ηχοληψίας της Μουσικής Σχολής του Δήμου Καλαμπάκας, διαθέτει:

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Κεφάλαιο 4. Λογισμικό Συστήματος

Εγχειρίδιο εγκατάστασης και βασικής παραμετροποίησης σεναρίου εστίασης

Καλαντζόπουλος Αθανάσιος

Προγραµµατισµός 2 The shell

Μαλούτα Θεανώ Σελίδα 1

ηµοτικό ιαδικτυακό Ραδιόφωνο και Τηλεόραση

Σύντομος οδηγός χρήσης του λογισμικού ηχογράφησης Cubase 6

Νεόι Proccessors σειράς 4

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Εργαστήριο 4 Ασκήσεις: Διαχείριση Δικτύου (nmap, iptables) και Προχωρημένες Εντολές Unix (grep, ps, cut, find)

Εισαγωγή στη Μουσική Τεχνολογία Ενότητα: Οι μορφές των ηλεκτρονικών μουσικών οργάνων

Electronics θα μεταφέρονται σε Η/Υ λειτουργικό σύστημα Windows7 μέσω της σειριακής

ΚΕΦΑΛΑΙΟ Web Services

ΣΧΕΔΙΟ ΠΑΡΟΥΣΙΑΣΗΣ ΜΙΚΡΟΔΙΔΑΣΚΑΛΙΑΣ 20

Μαθήματα ΜΟΥΣΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ

ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ MIDI

Ελεγχος Πρόσβασης (Access Control)

ΓΡΗΓΟΡΗ ΕΚΚΙΝΗΣΗ ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΤΗ ΕΛΛΗΝΙΚΑ

Δραστηριότητα 9: Σύνδεση ΗΥ με το πολύμετρο METEX 3870D μέσω σειριακής επικοινωνίας RS232 και εφαρμογή σε LabView

ΣΥΣΤΗΜΑΤΑ ΠΟΛΥΜΕΣΩΝ, 2007 ΘΡ. ΤΣΙΑΤΣΟΣ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ

Συστήµατα DAQ. 6.1 Εισαγωγή

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΩΝ

Χτίζοντας την νέα εποχή της παραγωγής με. IIoT & PLM. Μηνάς Πάντος IT & IoT Department Head

Μάθημα: Ακουστική και Ψυχοακουστική

Βασικός Εξοπλισμός Studio

Σύντοµη εισαγωγική παρουσίαση του Raspberry Pi και η χρήση του σε συνδυασµό σε την Python και Το Scratch

Δελτίο Τύπου M 31/05/2013

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 4o Εργαστήριο Σ.Α.Ε

Βασικές Έννοιες της Πληροφορικής

7.2.2 Σχέση OSI και TCP/IP

Εργαστήριο Δικτύων Υπολογιστών

Λιόλιου Γεωργία. ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Περιγραφή του βασικού παραθύρου του Cubase SE3. Εικόνα 1

Ενσωματωμένα Συστήματα

Συστήματα Πολυμέσων Ενότητα 7: Ψηφιοποίηση και ψηφιακή επεξεργασία σήματος.

Εισαγωγή στη Μουσική Τεχνολογία Ενότητα: Τα μουσικά Λογισμικά

Περιεχόµενα. ΕΠΛ 422: Συστήµατα Πολυµέσων. Μέθοδοι συµπίεσης ηχητικών. Βιβλιογραφία. Κωδικοποίηση µε βάση την αντίληψη.

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

Χρήση, προώθηση και συνεισφορά ΕΛ/ΛΑΚ από το ΕΚΤ

Ενότητα: Ασκήσεις Audio Editing

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Δίκτυο που εξυπηρετεί: περιφερειακών συσκευών μεταξύ τους

Λειτουργικά Συστήματα (Λ/Σ)

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

Α5.1 Εισαγωγή στα Δίκτυα. Α Λυκείου

Ενεργοποίηση του πρωτοκόλλου IPv6

MUM ATHENS, GREECE 2015

Πληροφορίες. Εισαγωγή στην Πληροφορική. Κατηγορίες υλισµικού. Περίληψη µαθήµατος (συνέχεια) Επεξεργαστής Μνήµη. Χειµερινό Εξάµηνο

Λειτουργικά Συστήµατα

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Ο ΗΓΟΣ ΕΠΙΜΟΡΦΩΤΗ. ηµοτικό ιαδικτυακό Ραδιόφωνο και Τηλεόραση. Y4 ηµιουργία διαδικτυακής ραδιοφωνικής εκποµπής µε το εργαλείο

Βιοµηχανικοί Αυτοµατισµοί

Certified Telecommunications & Network Professional (CTNP) Εξεταστέα Ύλη (Syllabus) Έκδοση 1.0

Πρωτόκολλα Διαδικτύου

Αντιπρύτανη Ακαδηµαϊκών Θεµάτων Αντιπρύτανη ιεθνών Σχέσεων Οικονοµικών και ιοίκησης /ντή ιοίκησης και Οικονοµικών

Κεφάλαιο 13. Λογισµικό Υλικό. Λειτουργικό σύστηµα υποστήριξης δικτύου. Ανακεφαλαίωση Ερωτήσεις

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

ΜΟΥΣΙΚΗ ΚΑΙ ΥΠΟΛΟΓΙΣΤΕΣ

Οδηγός Ασύρματου Δικτύου Αισθητήρων στο Λειτουργικό Σύστημα Linux

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7]

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Transcript:

Ειδικό Τεύχος : Linux και Ηχος Η Υποδοµή ηµήτρης Γλυνός glynos@storm.cs.unipi.gr Μάιος 2004

Linux και Ηχος, µια πονεµένη ιστορία Οδηγοί (drivers) για τις κάρτες ήχου παρέχονται παραδοσιακά από τους κατασκευαστές τους. Παρέχουν όµως υποστήριξη για το Linux; Standard API; Πρώτη προσπάθεια δηµιουργίας ενιαίου API και συλλογής οδηγών για τον πυρήνα, ϐασισµένη στο Open Sound System της 4Front Technologies 2/19

Open Sound System Οδηγοί καρτών ήχου για µεγάλη γκάµα Unix λειτουργικών (Solaris, Linux, FreeBSD, AIX etc.) Παροχή ενιαίου API µε ψηφιακή είσοδο/έξοδο ήχου (/dev/dsp), διαχείριση µίκτη (/dev/mixer), εισόδους/εξόδους MIDI (/dev/midi) κ.α. υστυχώς OSS = εµπορική εφαρµογή Ο πυρήνας στηρίχθηκε σε τµήµατα κώδικα που δόθηκαν ελεύθερα (OSS/Lite, OSS/Free) 3/19

Advanced Linux Sound Architecture Ελεύθερο λογισµικό µε στόχο την υλοποίηση µιας πλατφόρµας επεξεργασίας ήχου για επαγγελµατική και ερασιτεχνική χρήση σε περιβάλλον Linux Παρέχει πλέον πλήθος οδηγών που καλύπτουν µεγάλο ϕάσµα από τις κάρτες της αγοράς Υποστηρίζει multi-threaded εφαρµογές και SMP συστήµατα Παρέχει API και αντίστοιχη ϐιβλιοθήκη για να διευκολύνει τη συγγραφή λογισµικού που ϑα ϐασίζεται σε αυτό (alsa-lib) 4/19

Advanced Linux Sound Architecture Αντικατέστησε το OSS API στους πυρήνες της σειράς 2.6.x Παρέχει υποστήριξη και για το παλαιότερο OSS API µέσω αντίστοιχου kernel module µιας και υπάρχουν ακόµη εφαρµογές που στηρίζονται σε αυτό Επιτρέπει την ταυτόχρονη αξιοποίηση πολλών καρτών ήχου Οι συσκευές ϐρίσκονται στον κατάλογο /dev/snd (π.χ. /dev/snd/pcmc0d0p). Ο κατάλογος /proc/asound περιέχει πληροφορίες για αυτές. 5/19

Advanced Linux Sound Architecture glynos@speedoghost:/proc/asound$ cat devices 0: [0-0]: ctl 8: [0-0]: raw midi 17: [0-1]: digital audio playback 16: [0-0]: digital audio playback 24: [0-0]: digital audio capture 1: : sequencer 33: : timer glynos@speedoghost:/proc/asound$ cat pcm 00-00: ES1370/1 : ES1370 DAC2/ADC : playback 1 : capture 1 00-01: ES1370/2 : ES1370 DAC1 : playback 1 glynos@speedoghost:/proc/asound$ cat version Advanced Linux Sound Architecture Driver Version 1.0.2c 6/19

Advanced Linux Sound Architecture Επιτρέπει τη δυναµική καταχώρηση εισόδων (inputs) και εξόδων (outputs) στο σύστηµα από ϕυσικές και µη συσκευές (π.χ. software synthesizers) 7/19

Advanced Linux Sound Architecture Επιτρέπει τη «διασωλήνωση» εισόδων/εξόδων µεταξύ συσκευών παρέχοντας έτσι µια αλυσίδα από «ϕίλτρα» 8/19

Καθυστέρηση - Latency Η χρονική διάρκεια µεταξύ της σύνθεσης ενός ηχητικού σήµατος και της ακρόασης αυτού ή της µίξης αυτού µε άλλα σήµατα. Χρήση µεγάλου output buffer - Μεγάλη καθυστέρηση στην παραγωγή του σήµατος Χρήση µικρού output buffer - Κίνδυνος κενού buffer σε περίπτωση που ο scheduler αποφασίσει να δώσει περισσότερο χρόνο σε µια άλλη διεργασία Λύση : Μικρός buffer, Real-Time Scheduling, µικρή καθυστέρηση στον scheduler 9/19

Καθυστέρηση - Latency Πυρήνες >2.5.4 έχουν τη δυνατότητα να διακόψουν µια διεργασία χαµηλής προτεραιότητας ακόµη και όταν αυτή εκτελεί κώδικα σε kernel-space (Robert Love s pre-emptible kernel patch). Εµπειρικά λέγεται ότι το patch των Ingo Molnar, Andrew Morton για 2.4.x δίνει καλύτερες επιδόσεις (παρέχει περισσότερα σηµεία για scheduling σε κρίσιµα - χρονικά - σηµεία του κώδικα). Με συνδυασµό των παραπάνω έχει διαπιστωθεί καθυστέρηση <1msec για το 98% των δειγµάτων 10/19

Musical Instrument Digital Interface Πρωτόκολλο επικοινωνίας µουσικών συσκευών Αναπτύχθηκε το 1982 Μεταφορά µουσικών events (π.χ. NoteOn, PitchBend) µέσω σειριακής (31250 baud) ϑύρας Επιτρέπει τη δροµολόγηση των events µέσω τρίτων συσκευών (MIDI thru) Το ALSA επιτρέπει τη δηµιουργία εικονικών MIDI συσκευών (virtual midi card) 11/19

Musical Instrument Digital Interface 12/19

JACK Audio Connection Kit High Bandwidth Audio Server Επιτρέπει σε περισσότερες από µία εφορµογές να συνδεθούν ταυτόχρονα µε µια συσκευή Ανταλλαγή σήµατος ήχου µεταξύ οποιονδήποτε εφαρµογών - πελατών Επιτρέπει τη σύνδεση πελατών που ϑα του παρέχουν σήµα για µίξη/δροµολόγηση χωρίς απαραίτητα το σήµα να είναι στην ίδια µορφή µε το τελικά παραγόµενο Εξασφαλίζει Υψηλή Προτεραιότητα και Χαµηλή Καθυστέρηση από τον scheduler του πυρήνα 13/19

JACK Audio Connection Kit 14/19

LADSPA Linux Audio Developers Simple Plugin API API για τη συγγραφή ϕίλτρων που επεξεργάζονται το ηχητικό σήµα Αποτελείται από ένα απλό header file που περιγράφει το API και ένα SDK που διευκολύνει την ανάπτυξη κώδικα για plugins Παρόµοια ϕιλοσοφία µε τα VST Plugins του Cubase Υπάρχει πλήθος από ελεύθερα plugins στο Internet αλλά πάντα χρειάζονται περισσότερα :-) 15/19

LADSPA Κάθε plugin δέχεται δεδοµένα από input ports παράγει δεδοµένα σε output ports και ϱυθµίζεται µέσω των τιµών που ϑα λάβει σε control ports 16/19

LADSPA glynos@speedoghost: /ladspa_sdk/bin$./analyseplugin revdelay_1605.so Plugin Name: "Reverse Delay (5s max)" Plugin Label: "revdelay" Plugin Unique ID: 1605 Must Run Real-Time: No Ports: "Input" input, audio "Output" output, audio "Delay Time (s)" input, control, 0 to 5, default 0 "Dry Level (db)" input, control, -70 to 0, default 0 "Wet Level (db)" input, control, -70 to 0, default 0 "Feedback" input, control, 0 to 1, default 0 "Crossfade samples" input, control, 0 to 5000, default 1250, integer 17/19

LADSPA 18/19

Περισσότερες Πληροφορίες http://linux-sound.org http://www.linuxdj.com/audio/lad/index.php3 http://alsa-project.org http://www.zip.com.au/ akpm/linux/schedlat.html http://www.linuxdevices.com/articles/at8906594941.html http://www.harmony-central.com/midi/doc/doc.html http://jackit.sf.net http://www.ladspa.org http://plugin.org.uk 19/19