Zeile 69: |
Zeile 69: |
| | | |
| Siehe [http://www.mpex.net/info/verlustfrei.html Überblick zu verlustfreien Audioformaten] | | Siehe [http://www.mpex.net/info/verlustfrei.html Überblick zu verlustfreien Audioformaten] |
| + | |
| + | Daneben gibt es Formate zum Erfassen von Noten/Steuerungsbefehlen etc.: |
| + | * [[MIDI]] |
| + | * [https://www.musicxml.com/software/ MusicXML] |
| | | |
| == Lieder herunterladen == | | == Lieder herunterladen == |
Zeile 78: |
Zeile 82: |
| | | |
| === Soundkarte === | | === Soundkarte === |
| + | |
| + | ==== Von Linux unterstützte Soundkarten ==== |
| + | |
| + | Üblicherweise funktionieren die üblichen USB-Sound-Sticks gut mit Linux. |
| + | |
| + | Trotzdem sollte man vor dem Kauf googeln, ob es wirklich Linux-Support gibt. |
| + | |
| + | Für höherwertige Soundkarten siehe bei [https://wiki.linuxaudio.org/wiki/hardware_support linuxaudio.org] |
| + | |
| ==== ALSA-SoundSystem ==== | | ==== ALSA-SoundSystem ==== |
| Der Benutzer, der auf die Soundkarte zugreifen will, muss zumindest beim ALSA-Soundsystem der Gruppe <code>audio</code> angehören: | | Der Benutzer, der auf die Soundkarte zugreifen will, muss zumindest beim ALSA-Soundsystem der Gruppe <code>audio</code> angehören: |
Zeile 88: |
Zeile 101: |
| Mit | | Mit |
| aplay -L | | aplay -L |
− | lassen sich die installierten Soundkarten ausgeben. | + | lassen sich die installierten (virtuellen) Soundkarten ausgeben. |
| + | |
| + | Um alle Soundgeräte nacheinander zu testen, kann man Folgendes eingeben: |
| + | aplay -L | grep -e '^[^ ]' | xargs -n1 speaker-test -tw --nloops 1 -c2 -D |
| + | |
| + | |
| | | |
| | | |
Zeile 94: |
Zeile 112: |
| radeon.audio=1 | | radeon.audio=1 |
| | | |
| + | Manchmal hilft die Initialisierung mit |
| + | sudo alsactl init |
| + | und ein anschließender Neustart.<ref>Vgl. https://wiki.debian.org/ALSA </ref> |
| | | |
| Die Konfiguration von ALSA erfolgt in der systemweiten Datei <code>/etc/asound.conf</code> oder der benutzerspezifischen <code>~/.asoundrc</code>. | | Die Konfiguration von ALSA erfolgt in der systemweiten Datei <code>/etc/asound.conf</code> oder der benutzerspezifischen <code>~/.asoundrc</code>. |
Zeile 169: |
Zeile 190: |
| | | |
| Pulseaudio ist ein SoundServer, der regelmäßig auf ALSA aufsetzt. Er wird nicht zwingend benötigt, wenn der in ALSA enthaltene Soundserver "dmix" ausreicht. Ein Soundserver dient v.a. dazu, dass auf einem Ausgabegerät gleichzeitig zwei Soundquellen abgespielt werden können. | | Pulseaudio ist ein SoundServer, der regelmäßig auf ALSA aufsetzt. Er wird nicht zwingend benötigt, wenn der in ALSA enthaltene Soundserver "dmix" ausreicht. Ein Soundserver dient v.a. dazu, dass auf einem Ausgabegerät gleichzeitig zwei Soundquellen abgespielt werden können. |
| + | |
| + | |
| | | |
| Grundlegende Informationen über Pulseaudio liefert | | Grundlegende Informationen über Pulseaudio liefert |
Zeile 184: |
Zeile 207: |
| Das grafische System zur Einrichtung von [[PulseAudio]] nennt sich | | Das grafische System zur Einrichtung von [[PulseAudio]] nennt sich |
| pavucontrol | | pavucontrol |
| + | |
| + | Außerdem kann man mit |
| + | paprefs |
| + | PulseAudio so einstellen, dass vom Netzwerk auf den Pulseaudio-Server zugegriffen werden kann. Um von einem lokalen [[MPD]] darauf zugreifen zu können, muss man angeblich<ref>Siehe https://unix.stackexchange.com/questions/287678/pulseaudio-and-mpd</ref> in der <code>/etc/mpd.conf</code> den PulseAudio-Server nicht über <code>localhost</code>, sondern über <code>127.0.0.1</code> ansprechen. |
| | | |
| Wenn man keine Verbindung zu PulseAudio bekommt ("Verbindung verweigert"-Meldung bei pactl oder pavucontrol), hilft folgender Befehl zum Löschen alter Informationen:<ref>Vgl. https://forum.ubuntuusers.de/topic/probleme-mit-pulseaudio-2/</ref> | | Wenn man keine Verbindung zu PulseAudio bekommt ("Verbindung verweigert"-Meldung bei pactl oder pavucontrol), hilft folgender Befehl zum Löschen alter Informationen:<ref>Vgl. https://forum.ubuntuusers.de/topic/probleme-mit-pulseaudio-2/</ref> |
| pax11publish -r | | pax11publish -r |
| + | |
| + | Möglicherweise hilft es auch, den User den Gruppen <code>pulse</code> und <code>pulse-access</code> hinzuzufügen: |
| + | sudo adduser USER pulse |
| + | sudo adduser USER pulse-access |
| + | |
| + | |
| + | ===== Pulseaudio findet ALSA-Geräte nicht ===== |
| + | |
| + | Wenn ALSA die Soundgeräte findet, Pulseaudio aber nicht, hilft eine Änderung von <code>/etc/pulse/default.pa</code>: |
| + | |
| + | load-module module-alsa-sink device=hw:0 |
| + | |
| + | Dabei muss "hw:0" durch das gewünschte ALSA-Gerät (mit <code>aplay -L</code> anzuzeigen) ersetzt werden. Die Zeile kann auch wiederholt werden, um mehrere ALSA-Geräte in Pulseaudio aufzunehmen. |
| + | |
| + | |
| + | ===== Pulseaudio nicht automatisch starten ===== |
| + | |
| + | Normalerweise wird pulseaudio automatisch gestartet, wenn ein Programm darauf zugreifen will. Das lässt sich vermeiden, indem in der Datei <code>/etc/pulse/client.conf</code> der Wert <code>autospawn</code> auf <code>no</code> gesetzt wird. |
| + | |
| + | ===== Pulseaudio als Pulseaudio-Server im Heimnetz nutzen ===== |
| + | |
| + | Man sollte [[Avahi]], [[PulseAudio]] einschließlich des Pakets pulseaudio-module-zeroconf installiert haben. |
| + | |
| + | Bei normaler Verwendung muss die Datei <code>/etc/pulse/default.pa</code> geändert werden (wenn nicht das GUI-Programm <code>paprefs</code> genutzt wird). Folgende Zeilen sind hinzuzufügen:<ref>Vgl. https://www.raspberrypi.org/forums/viewtopic.php?t=11124 </ref> |
| + | |
| + | load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16 auth-anonymous=1 |
| + | load-module module-zeroconf-publish |
| + | |
| + | Damit ist allerdings ein Sicherheitsrisiko verbunden, da alle Clients im Heimnetz ohne Authentifizierung darauf zugreifen können. |
| + | Bei Verwendung von PulseAudio als Systemdienst muss die Datei <code>/etc/pulse/system.pa</code> gleichermaßen geändert werden. |
| + | |
| + | Damit die Clients den Server finden, muss in deren <code>/etc/pulse/default.pa</code> ergänzt werden: |
| + | load-module module-zeroconf-discover |
| + | |
| + | ===== Pulseaudio auf einem Rechner von verschiedenen Usern gemeinsam nutzen ===== |
| + | |
| + | Pulseaudio kann normalerweise nur von dem User genutzt werden, unter dessen Kennung der Pulseaudio-Server läuft. Ein Workaround ist das Aktivieren des Pulseaudio-Servers für das Netzwerk wie oben beschrieben. Man kann hier die erlaubten Zugriffe natürlich auf den eigenen Rechner (127.0.0.1) beschränken. |
| + | |
| + | Damit die Clients auch über das Netzwerkprotokoll den Pulseaudio-Server ansprechen können, muss noch in der Datei <code>/etc/pulse/client.conf</code> Folgendes eingefügt werden: |
| + | autospawn = yes |
| + | default-server = 127.0.0.1 |
| + | |
| + | |
| + | Eine wohl sicherere Alternative ist die [https://wiki.archlinux.org/index.php/PulseAudio/Examples#Allowing_multiple_users_to_use_PulseAudio_at_the_same_time Einrichtung von Unix-Sockets für PulseAudio]. |
| + | |
| + | ===== Pulseaudio immer wach ===== |
| + | |
| + | Um zu verhindern, dass PulseAudio manche Sounds schlafen legt, hilft evtl. in <code>/etc/pulse/default.pa</code> die Zeile |
| + | load-module module-suspend-on-idle |
| + | auszukommentieren (eine Raute # davor zu setzen). |
| + | |
| + | Da Pulseaudio kein HDMI-Audio erzeugen kann, wenn kein HDMI-Video-Signal ausgegeben wird, muss der Bildschirm per Hand eingeschaltet werden, z.B. mit |
| + | |
| + | DISPLAY=:0 xset dpms force on |
| + | |
| + | Siehe auch |
| + | * https://www.elektronik-kompendium.de/sites/raspberry-pi/2107011.htm |
| + | |
| + | ===== Ausgaben von Pulseaudio verschieben ===== |
| + | |
| + | Die Ausgabemöglichkeiten kann mittels |
| + | pactl list sinks |
| + | angezeigt werden. |
| + | |
| + | Die derzeitigen Pulseaudio-Clients sieht man mittels |
| + | pactl list clients |
| + | |
| + | Welche Clients welche Ausgabemöglichkeiten nutzen, zeigt |
| + | pactl list sink-inputs |
| + | oder kürzer |
| + | pactl list short sink-inputs |
| + | |
| + | Einen Client kann man damit auf eine andere Ausgabemöglichkeit verschieben: |
| + | pactl move-sink-input $CLIENT_NR $SINK_NR_OR_NAME |
| + | |
| + | ===== Ausgaben in Datei mitschneiden ===== |
| + | |
| + | Möchte man die Audio-Ausgabe in einer WAV-/MP3-/OGG_Datei sichern, geht das mit Bordmitteln von Pulseaudio. |
| + | |
| + | Zunächst mit |
| + | pacmd list-sink-inputs |
| + | |
| + | den zutreffenden "Sink" ermitteln. (Nummer hinter "index:") |
| + | |
| + | * WAV-Datei |
| + | parec --monitor-stream=$INDEX --file-format=wav aufnahme.wav |
| + | |
| + | * OGG-Datei (Bitte Paket <code>vorbis-tools</code> installieren) |
| + | parec --monitor-stream=$INDEX | oggenc -b 192 -o aufnahme.ogg --raw - |
| + | |
| + | |
| + | |
| + | Siehe |
| + | * https://blog.tausys.de/2016/12/21/pulseaudio-audio-stream-von-programmen-aufnehmen/ |
| + | |
| + | Siehe zu weiteren Mitschnittmöglichkeiten (z.B. krecord, gramofile) |
| + | * https://www.linux-community.de/ausgaben/linuxuser/2003/11/audio-aufnahme-mit-linux-tools/ |
| + | |
| + | ===== Soundqualität ===== |
| + | |
| + | Mit einigen Einstellungen kann man die [https://medium.com/@gamunu/enable-high-quality-audio-on-linux-6f16f3fe7e1f Soundqualität unter Linux erhöhen]. |
| + | |
| + | Auch scheint [https://stackoverflow.com/questions/27122564/which-version-of-linux-has-support-for-dolby-advanced-audio-v2 Dolby Atmos unter Linux] zu funktionieren. |
| + | |
| + | Siehe auch |
| + | * https://swaroop-m.medium.com/beginners-guide-for-better-audio-quality-in-linux-d41de6f35a14 |
| + | * https://www.reddit.com/r/linux/comments/coi4dt/a_complete_guide_of_and_debunking_of_audio_on/ |
| + | * https://pacesettergraam.wordpress.com/2016/10/03/1611/ |
| + | |
| + | ===== Pulseaudio-Infos ===== |
| + | Siehe |
| + | * https://rudd-o.com/linux-and-free-software/how-to-make-pulseaudio-run-once-at-boot-for-all-your-users |
| | | |
| === Music Player === | | === Music Player === |
Zeile 195: |
Zeile 334: |
| * Rhythmbox | | * Rhythmbox |
| * [[VLC]] | | * [[VLC]] |
− | * [http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2012/01/Digitales-DJ-ing-unter-Linux/(article_body_offset)/2 Mixxx] - eine DJ-Software, mit der man u.a. taktgenaues Überblenden schafft. | + | * [[Mixxx]] - eine DJ-Software, mit der man u.a. taktgenaues Überblenden schafft. |
| | | |
| ===== Konsolen-Player ===== | | ===== Konsolen-Player ===== |
Zeile 226: |
Zeile 365: |
| * [http://www.geekbone.de/geekbone-blog/?p=969 shareplay] (AirPlay-Renderer), | | * [http://www.geekbone.de/geekbone-blog/?p=969 shareplay] (AirPlay-Renderer), |
| * [http://binarysurfer.blogspot.de/2011/03/enable-airplay-in-ubuntu.html Totem Plugin]. | | * [http://binarysurfer.blogspot.de/2011/03/enable-airplay-in-ubuntu.html Totem Plugin]. |
| + | |
| + | ==== Streaming-Anbieter ==== |
| + | |
| + | ===== Spotify ===== |
| + | Siehe [[Spotify]] |
| | | |
| === Audio-CDs === | | === Audio-CDs === |
Zeile 238: |
Zeile 382: |
| | | |
| === Musiksammlung === | | === Musiksammlung === |
| + | |
| + | |
| + | ==== CD rippen ==== |
| + | |
| + | * ripperX |
| + | ** https://wiki.ubuntuusers.de/ripperX/ |
| + | ** Mir bekannte Tags für die Dateibenennung:<ref>Vgl. https://sourceforge.net/p/ripperx/bugs/41/</ref> |
| + | *** %# - Songnummer |
| + | *** %s - Songtitel |
| + | *** %a - Künstler |
| | | |
| ==== Musik taggen ==== | | ==== Musik taggen ==== |
| | | |
| + | ===== graphische Tools zum Musik taggen ===== |
| Die MusicBrainz-Datenbank ermöglicht das Analysieren von Musikdateien und deren Klassifikation. Das Tagging kann z.B. mittels des Tools "picard" durchgeführt werden. Aber auch [[AmaroK]] beherrscht das Updaten der Tags mittels MusicBrainz. | | Die MusicBrainz-Datenbank ermöglicht das Analysieren von Musikdateien und deren Klassifikation. Das Tagging kann z.B. mittels des Tools "picard" durchgeführt werden. Aber auch [[AmaroK]] beherrscht das Updaten der Tags mittels MusicBrainz. |
| + | |
| + | ===== Taggen auf der Kommandozeile ===== |
| + | |
| + | Im Paket <code>python-mutagen</code> ist das Tool <code>mid3v2</code> enthalten. Dies kann z.B. benutzt werden, um einem MP3-File die notwendigen Meta-Informationen wie Künstler und Titel hinzuzufügen: |
| + | |
| + | mid3v2 --artist 'Künstler' --album 'Album' --genre 'Genre' --song 'Liedtitel' music.mp3 |
| + | |
| + | Die möglichen Genres kann man sich mit |
| + | mid3v2 --list-genres |
| + | ausgeben lassen. |
| + | |
| | | |
| ==== Dateistruktur anhand ID3-Tags ==== | | ==== Dateistruktur anhand ID3-Tags ==== |
Zeile 266: |
Zeile 432: |
| | | |
| * Ein fertiges Produkt auf dieser Basis ist [http://sourceforge.net/projects/filerename/ filerename]. | | * Ein fertiges Produkt auf dieser Basis ist [http://sourceforge.net/projects/filerename/ filerename]. |
| + | |
| + | === Soundbearbeitung === |
| + | |
| + | Das Standard-Sound-Bearbeitungsprogramm ist [[Audacity]]. |
| + | |
| + | === Stille am Anfang und Ende abschneiden === |
| + | |
| + | Beim Rippen einer LP o.Ä. entsteht manchmal Stille am Anfang und Ende des Stücks, die auch automatisch entfernt werden kann. |
| + | |
| + | Z.B. mit dem [https://wiki.audacityteam.org/wiki/Nyquist_Effect_Plug-ins#Trim_Silence Plugin Trim Silence] für [[Audacity]]. |
| + | Es kann wohl auch für Batchbearbeitung genutzt werden. |
| + | |
| + | mp3splt könnte ebenfalls helfen. Dazu braucht man aber eine [[CUE]]-Datei um die Schnittpunkte festzulegen. |
| + | |
| + | Möglicherweise hilft auch [https://mpesch3.de/index.html mp3DirectCut]. |
| + | |
| + | Es geht möglicherweise auch mit sox: |
| + | * https://unix.stackexchange.com/questions/124734/how-to-remove-silence-part-from-mp3-that-is-extracted-from-tv-drama |
| + | * https://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/ |
| + | |
| + | ==== Trimmen mit ffmpeg ==== |
| + | Es geht auch mit [https://ffmpeg.org/ffmpeg-filters.html#silenceremove ffmpeg]. Siehe das Beispiel in |
| + | https://forum.manjaro.org/t/trim-silence-in-audio-files-by-directory/18988 . Der dazu benötigte Filter ist [https://ffmpeg.org/ffmpeg-filters.html#silenceremove silenceremove]. |
| + | |
| + | Beispiel, um aus einer WAV-Datei eine MP3-Datei zu machen, in der die Stille am Anfang und Ende nicht enthalten ist: |
| + | ffmpeg -i tmp/aufnahme.wav -af silenceremove=start_periods=1:stop_periods=1:detection=peak "tmp/OUTPUT.mp3" |
| + | |
| + | Siehe auch |
| + | * https://stackoverflow.com/questions/25697596/using-ffmpeg-with-silencedetect-to-remove-audio-silence |
| + | |
| + | === Komponieren === |
| + | |
| + | Mit [https://wiki.ubuntuusers.de/NtEd/ NtEd] kann man Partituren erstellen. Es stürzt aber ab und zu ab (Stand: 05/2020). |
| + | |
| + | Auch mit [https://wiki.ubuntuusers.de/MuseScore/ MuseScore] kann man Partituren erstellen und auch abspielen lassen. |
| + | |
| + | [http://lilypond.org/easier-editing.de.html Lilypond] ist ein Werkzeug, um .ly-Textnotendateien in schönen Notensatz umzusetzen. |
| + | * Dafür gibt es den (Text-)Editor [https://frescobaldi.org/ Frescobaldi]. |
| + | * [https://wiki.ubuntuusers.de/Denemo/ Denemo] verwendet dagegen Lilypond nur im Hintergrund und lässt sich graphisch bedienen. |
| + | * Online kann man Lilypond auf http://lilybin.com/ editieren. |
| + | |
| + | Siehe auch |
| + | * [https://de.wikipedia.org/wiki/ABC_(Musiknotation) abc-Musiknotation] |
| + | ** https://wiki.linuxaudio.org/wiki/abcmiditutorial |
| + | ** [https://github.com/paulrosen/abcjs ABC-Javascript-Library abcjs] |
| + | ** Debian-Package abcmidi mit <code>abc2midi</code> |
| + | ** Debian-Package abcm2ps |
| + | ** http://kurs.schacherl.info/ABC-Musiknotation/abc_syntax/abc_syntax.html |
| + | * https://wiki.ubuntuusers.de/Rosegarden/ |
| + | |
| + | == MIDI == |
| + | |
| + | === MIDI im Browser === |
| + | |
| + | Auch mit einigen Browsern kann man auf MIDI-Devices (oder deren Emulationen) zugreifen. |
| + | |
| + | Siehe |
| + | * [https://www.toptal.com/web/creating-browser-based-audio-applications-controlled-by-midi-hardware Tutorial zur Web MIDI API] |
| + | * Debian-package timidity - erlaubt das Abspielen von MIDI-Dateien. Dazu sollte man einen Soundfont installieren. |
| + | |
| + | Demos siehe |
| + | * [http://webaudiodemos.appspot.com/MIDIDrums/index.html Drum Machine] - Open Source |
| + | * https://webaudiodemos.appspot.com/slides/webmidi.html#/ |
| + | * https://www.audiotool.com/product/device/heisenberg/ |
| + | * http://nicroto.github.io/viktor/ |
| + | |
| + | === MIDI unter Linux === |
| + | http://tedfelix.com/linux/linux-midi.html |
| | | |
| == Weiterführendes == | | == Weiterführendes == |