Audio und Linux - Von der Soundkarte auf den Streamingserver



Ähnliche Dokumente
Digitale Audiotechnik Technología de audio digital. Friederike Maier IKX 2012

Multimediale Werkzeuge, Audio: Formate, Tools. -Sound/Audio Objekte. Formate, Beispiele:

-Virtuelle Jagdfliegerschule- Teamspeak Seite 1 von 6

Das Inline Konzept im IBK Tonstudio

WORKSHOP Aufnahmen von Radio/Internet

Installation des USB HD-Audio Treibers 24/192 im asynchronen Mode (XMOS-Plattform) Einstellungen des Betriebssystems

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Version Stand

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Manual für das. Studio A 3.0. FUNKTIONSWEISE STUDIO A April 2014, Ver. 1.5 Ein schriftliches Manual des Audio Teams

Virtual Channel installieren

Digi Vox Ultimate Pro

Installation des USB HD-Audio Treibers 24/192 (Tenor-Plattform) Einstellungen des Betriebssystems

Internetradio selber machen mit dem Icecast-Streamingserver beim Jugendserver Spinnenwerk

ICS-Addin. Benutzerhandbuch. Version: 1.0

Digitales Video I Wie wird Video am Computer codiert?

Truehouse Internet Streaming Installation

Installation & erste Schritte

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Audio bearbeiten mit Audacity Eine kurze Anleitung optimiert für Version 1.2.4

Softwaredatenblatt #SAMCAST-IC (für Windows 7, Vista und XP)

Handbuch B4000+ Preset Manager

Update V2.3 B4000+ Firmware

Anleitung zur Nutzung des SharePort Utility

Was meinen die Leute eigentlich mit: Grexit?

Sound-Formate. SelfLinux Autor: Johnny Graber Formatierung: Torsten Hemm Lizenz: GFDL

Simulink: Einführende Beispiele

Streamserver24.com. Anleitung Auto-DJ

virtuos Leitfaden für die virtuelle Lehre

Softwaredatenblatt #VDJ (Windows 2000 / XP / Vista)

Die Invaliden-Versicherung ändert sich

Aufbau der Cutmaster Einheit

Shoutcast Installations- und Betriebsanleitung (shoutcast-dsp windows)

Kurzanleitung So geht s

Local Control Network

Konfiguration der NSV Tools ( Entpacken Sie die heruntergeladene Datei mittels WINRar oder ähnlichen Programmen.

Wichtige Eigenschaft: zeitliche Abnahme der Schallintensität. Akustische Ereignisse sind zeitliche Phänomene mit Anfang und Ende

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Versuch 3. Frequenzgang eines Verstärkers

Das GOEMO 1pixelout MP3 -Extension

Wenn keine Verbindung zwischen den Computern besteht, dann bist du offline.

Installation eines BM-33k6/ISDN pro USB an einem Windows XP-Rechner

Eingeschrieben?

TV mit dem PC verbinden (ATI)

Ich möchte eine Bildergalerie ins Internet stellen

Geschrieben von Administrator Montag, den 15. November 2010 um 22:09 Uhr - Last revised Donnerstag, 16. Dezember 2010

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Installationshandbuch (deutsch)

Rechtlicher Hinweis direkt zu Anfang!!!!

4. Erstellung des eigenen Podcasts? Podcast Schülerheft

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies

PROBLEME BEIM INSTALLIEREN REALTEK HD AUDIO TREIBER

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

Einrichtung des DFÜ-Netzwerkes

Internet sinnvoll nutzen. itunes mit PodCasts & MP3

EchoLink und Windows XP SP2

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Kybernetik Laplace Transformation

Softwaredatenblatt #SAMBC-SC (für Windows 7, Vista und XP)

Kulturelle Evolution 12

VIP-Programm. Herzlich Willkommen!

Herzlich Willkommen bei der nfon GmbH

Guide DynDNS und Portforwarding

Verwendung des IDS Backup Systems unter Windows 2000

Der große VideoClip- Wettbewerb von Media Markt.

Tutorial about how to use USBView.exe and Connection Optimization for VNWA.

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

1 topologisches Sortieren

Anleitung über den Umgang mit Schildern

Webstream.eu Live Streaming mit ManyCam

Grundlagen der Videotechnik. Redundanz

PowerPoint vertonen. by H.Schönbauer 1

Typo3 - Schulung: Fortgeschrittene I an der Hochschule Emden/Leer

Professionelle Seminare im Bereich MS-Office

Tutorial -

FAQ. Häufige VoIP-Probleme

ltlasten in der Registrierdatenbank löschen

Hardware: QNAP TS 112 mit der Firmware Build 1126T mit 500GB Speicher Twonky Media Version

Einrichtung der Eye.Fi-Karte mit Windows 7 und connectify.me:

Microsoft PowerPoint Präsentationen in MP4 (H.264) umwandeln

KNX BAOS Gadget. Installations- und Bedienanleitung. WEINZIERL ENGINEERING GmbH. DE Burgkirchen Web:

Avira Server Security Produktupdates. Best Practice

Menü auf zwei Module verteilt (Joomla 3.4.0)

Installation der Eicon Diva PCI Karte unter Windows XP

Bedienungs-Anleitung. Midimaster Recorder

Anleitung zum Online-Monitoring für Installateure

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Anleitung: WLAN-Zugang unter Windows 8 - eduroam. Schritt 1

Mail-Account Unimail mit der Einstellungen für Outlook Express 5.0

VIRTUAL CINEMA 5.1 USB HEADSET

Schaltungen Jörg Roth 197

Windows 10 > Fragen über Fragen

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

1. Technische Einstellungen für die Videoaufnahme

Fax einrichten auf Windows XP-PC

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Step by Step VPN unter Windows Server von Christian Bartl

Transkript:

Audio und Linux - Von der Soundkarte auf den Streamingserver Friederike Maier Radiocamp Markelfingen 2011 Inhalt Audio und Linux - Von der Soundkarte auf den Streamingserver...1 1 Digitalisierung von Audio...2 1.1 Samplerate...2 1.2 Quantisierung...3 2 Datenreduktion...3 2.1 Datenreduktion verlustbehaftet...3 2.2 Kompressionsartefakte...4 2.3 MP3 (MPEG 1/2 Layer 3)...4 2.4 OGG Vorbis...4 2.5 AAC (Advanced Audio Codec)...5 3 Linux Audio Treiber...5 3.1 OSS (Open Sound System)...5 3.2 ALSA...6 3.3 Pulseaudio...6 3.4 JACK...6 3.5 Routing...7 3.6 Portaudio...7 4 Internetstream...7 4.1 Liquidsoap...8 5 Setup für ein Ein-Rechner-Internetradio...9 5.1 Jack Konfiguration...9 5.2 Liquidsoap mit Jack...10 5.3 Jack Verbindungen...11 5.4 Abspeichern der Verbindungen...11

1 Digitalisierung von Audio Analoges Audiosignal soll in einen digitalen Datenstrom gewandelt werden (0010111000..) Audio = Luftdruckveränderungen Mikrofon ADC (Analog-Digital-Wandler, z.b. Soundkarte) binäre Symbole Die Anzahl der Symbole/Sekunde = Samplerate Anzahl der Bits/Symbol = Wortbreite Samplerate*Wortbreite=Bitrate 1.1 Samplerate Muss hoch genug sein um auch die hohen Frequenzen darstellen zu können Nyquist: Die Samplingfrequenz muss mind. doppelt so groß, wie die höchste Audiofrequenz, die digitalisiert werden soll z.b. Samplerate: 44.1 khz alle 22.67 μs ein Abtastwert (hörbarer Frequenzbereich: 20 Hz 20 khz), passt Bei kleineren Samplingraten wird die Bandbreite des Audiosignals (hörbar) kleiner Wikipedia

Frequenzen bei einer Sampligrate von 44.1 khz Frequenzen bei einer Samplingrate von 11.025 khz 1.2 Quantisierung Auflösung der Amplitudenwerte Typische Wortlängen: 16 bit = 2^16 = 65536 Werte 32 bit = 131072 Werte Hat Auswirkung auf das Rauschlevel, ab 24 bit überwiegt meist das Rauschlevel der Bauteile 2 Datenreduktion Ziel: Audiodateien/Stream kleiner bekommen z.b. zum Upload auf Webseite oder Internetradiostream Möglichst keine höbaren Änderungen der Audiodateien 2 Sorten von Kompression: Verlustfrei (z.b. Free Lossless Audio Codec (FLAC), Apple Lossless, Advanced Lossless (ATRAC) ) Verlustbehaftet (z.b. mp3, ogg, AAC...) 2.1 Datenreduktion verlustbehaftet Simple Verfahren (µlaw, Alaw) quantisieren die Amplituden neu

Modernere Verfahren nutzen psychoakustische Modelle Das Signal wird in den Frequenzbereich transformiert Die Eigenschaften des Ohres werden nachgebildet und gezielt die Teile, die das 'normale' Ohr nicht wahrnimmt wegreduziert 2.2 Kompressionsartefakte Ausgedünntes Klangspektrum blubbern/gurgeln: besonders schlimm bei sehr zufälligen Signalen mit scharfem Anschlag, z.b. Applaus Stichwort: Generationsverlust (mehrfaches reencodieren) dabei werden in den allermeisten Fällen nicht immer dieselben Teile wieder wegkomprimiert und es klingt bei jedem mal schlechter möglichst vermeiden! 2.3 MP3 (MPEG 1/2 Layer 3) Verschiedene Patente liegen auf Teilverfahren des MP3 codecs, lame >wird als best practice Programmierbeispiel als sourcecode verbreitet Verschiedene Einstellungen: CBR: Constante Bitrate ABR: Average Bitrate, Anteile mit komplexerem Audio bekommen mehr Bitrate, die mittlere Bitrate wird vorgegeben VBR: Variable Bitrate, es werden verschiedene Qualitätsstufen vorgegeben, größe am ende nicht absehbar Lame: Qualität (-q) Auswahl verschieden komplexer Algirithmen, bessere Qualität mehr rechnen langsamer Stereo: zwei getrennte Kanäle werden einzeln encodiert Joint Stereo: Nutzt die Korrelation zwischen R und L, mehr Bits für Qualität 2.4 OGG Vorbis OGG: Container, kann alles mögliche rein (Audio, Video, mp3, etc.), free, open standard

OGG Vorbis: wurde Xiph.Org Foundation als patentfreie Alternative zum weit verbreiteten MP3-Format entwickelt Verbreitung: Mittelmäßig, wird von recht vielen Endgeräten nicht unterstützt 2.5 AAC (Advanced Audio Codec) Weiterentwicklung von mp3, ebenfalls Patente drauf, die Verbreitung von in AAC encodierten Inhalten ist jedoch umsonst Löst einige Probleme von mp3 (z.b. Pre Echo) Verschiedene Profile (z.b. HE: für niedrige Datenraten, Spektralband-Replikation) 3 Linux Audio Treiber Linux ALSA Soundkartenunterstützung: http://www.alsa-project.org/main/index.php/matrix:main Zitat Wikipedia: 'In a typical installation scenario under Linux, the user configures ALSA to use a virtual device provided by PulseAudio. Thus, applications using ALSA will output sound to PulseAudio, which then uses ALSA itself to access the real sound card.' ;-) Hardware Treiber: ALSA, OSS sprechen direkt mit der Soundkarte Soundserver: Pulseaudio, Jack, (Portaudio), ALSA Häkeln die einzelnen Soundstreams zusammen Ermöglichen das mixen und weiterleiten an die Treiber, wenn die Soundkarte dies nicht auf Hardwareebene ermöglicht (bzw. Die Linuxtreiber, ausnahmen z.b. Maudio etc.) Softwaremixing 3.1 OSS (Open Sound System) Recht alt Unterstützt kein Multiplexing Wenn gar nichts anderes läuft kann mans mal damit probieren

3.2 ALSA Advanced Linux Sound Architecture Verwendung als Hardwaretreiber Meist Multiplexfähig Soundserver: Ist sowieso schon auf dem System aktiv Kürzester Weg des Sounds Benötigt sehr wenig Rechenzeit Bei Problemen erst mal alles auf ALSA umstellen: 'gstreamer-properties' in console 3.3 Pulseaudio Ist bei den meisten Ubuntus als Soundserver voreingestellt Einfache grafische Oberfläche Netzwerkfähig 3.4 JACK Sehr niedrige Latenzzeiten Sehr umfassendes Routing möglich Komplizierter im Gebrauch Benötigt vergleichsweise wenig Rechenleistung Zur Vereinfachung der Konfiguration gibts verschiedene tools, z.b. Qjackctl, jackeq

3.5 Routing Weg, den die Ton-Signale nehmen, wenn sie durch den Computer geleitet werden Soundquelle -> ALSA -> PulseAudio -> ALSA-Treiber -> Hardware Soundquelle -> PulseAudio -> ALSA-Treiber -> Hardware Soundquelle -> ALSA -> ALSA-Treiber -> Hardware Soundquelle -> jack -> ALSA-Treiber -> Hardware 3.6 Portaudio Crossplattform Audiolibary Hauptanliegen des Projekts ist ein Plattformunabhängige Schnittstelle zu schaffen, sodass Programme (z.b. Audacity) auf verschiedenen Systemen laufen können 4 Internetstream Stream- generator (Ices, Liquidsoap) Streaming-server (Icecast, Shoutcast) Mediaplayer etc. Streamgenerator Server, wird ständig gesendet Jeder Streamgenerator erzeugt einen Mountpoint auf dem Server (z.b. http://radioflora.de:8000/test.mp3)

Die HörerInnen verbinden zu dem Mountpoint und für jeden wird ein Stream aufgemacht Bandbreite des Servers steigt mit jeder HörerIn 4.1 Liquidsoap Skriptsprache zum generieren von Audiostreams Angepasst für Radiostreams Sehr viele Möglichkeiten, z.b. Sendungen/Jingles zu bestimmten Zeiten Random, 1/5 Jingles, 4/5 Musik Umschalten, wenn z.b. Livesendung verfügbar ist Verschiedene Outputs Hörerwünsche via Telnet Deamonbetrieb auf Server...siehe http://savonet.sourceforge.net/index.html sehr gute Dokumentation und Beispiele was andere Radios machen Configuring Liquidsoap (Sehr gutes Getting Started: http://savonet.sourceforge.net/doc-svn/quick_start.html) Source: z.b. Playlist, muss 'unfehlbar' (unfaillible) sein, sonst beschwert es sich, weil der Eingangsstream plötzlich weg sein kann, Mksave operator (spielt Stille, wenn kein Audio verfügbar), oder besser Fallbacks einrichten Beispiel: Simple Playlist abspielen und streamen speichern in Textdatei unter mp3stream.liq ausführbar machen mit chmod 0755 mp3stream.liq, starten in der Konsole mit./mp3stream.liq #!/usr/bin/liquidsoap -v set("log.file",false) set("log.stdout",true) play = mksafe(playlist("playlist2.pls")) out(play) # Direkt am Rechner abspielen

output.icecast.lame(host="radioflora.de",port=8000,password="xxxxx",mount=" test.mp3",play) # Streamen zum Server 5 Setup für ein Ein-Rechner-Internetradio Mikro am Eingang + Audioplayer auf Rechner, umschaltbar Alles auf einen Stream Liquidsoap gleichzeitig mittschneiden und anhören Anhören Mikro Audioplayer Mixer Stream Streamingserver Player mit Jackunterstützung z.b.aqualung oder Audacious, Mixer: JackEQ, Infos zur Installation von Jack: http://wiki.ubuntuusers.de/jack unten gibt s auch Infos zu Programmen, die Jack unterstützen und wie man Programme, dies eigentlich nicht unterstützen zum laufen bekommt. Jack Tutorial: http://www.linuxmintusers.de/index.php?action=wiki;page=jack- Tutorial 5.1 Jack Konfiguration Einrichten von Jack zum Beginn: Unter Konfiguration/Setup Mitschnitt Echtzeit (Wenn ein Realtime Kernel installiert ist, ansonsten nicht) Gegebenenfalls die richtige Soundkarte einstellen Evtl. 16 Bit Audio (wenn du eine 16 bit Soundkarte hast)

Samplerate (Manche Soundkarten arbeiten gerne mit 48 khz) Soft Mode: Jack stoppt nicht, wenn er xruns bekommt Latenz: gibt an, wieviel Verzögerung zwischen dem Audio Input (das spielen eines Tons auf dem MIDI Keyboard beispielsweise) und dem Hören des Output besteht Frames/Periode Latenz rechts unten Balance zwischen xruns und Verzögerung 5.2 Liquidsoap mit Jack Beispielkonfiguration: #!/usr/bin/liquidsoap ### global settings set("frame.channels",2) set("log.file",true) set("log.file.path","/home/zound/radio/livestreaming/bin/liq/livestream.log") set("log.stdout",true) ### jack input with the same number of channels than the global setting above liqstream=mksafe(input.jack(id="liqstream")) ### output liqstream output.file.vorbis("mitschnitt.ogg",liqstream) # ogg Mitschnitt output.icecast.lame(host="radioflora.de",port=8000,password="xxxxxxxx",mount="test. mp3",liqstream) # Mp3 stream Anhören Mikro Audioplayer Mixer JackEQ Stream Liquidsoap Streamingserver Mitschnitt

5.3 Jack Verbindungen Im Tab Verbindungen: Es werden Aqualung mit Eingang 1 (c.1-in-l/r) und System Capture, also das Mikrofon mit Eingang 2 verbunden, sodass mit JackEQ zwischen Musik und Moderation umgeschaltet werden kann. Der Ausgang von JackEQ wird mit Liquidsoap verbunden und mit dem System, playback, also dem Kopfhörerausgang zum mithören. 5.4 Abspeichern der Verbindungen Tab Steckfeld: Neues Steckfeld; Auf Frage, ob das die aktuellen Verbindungen als Snapshot verwendet werden sollen mit ja antworten; abspeichern

FERTIG :-)