Barrier statt Synergy – Maus & Tastatur zwischen zwei Computern teilen

Um eine Tastatur und Maus für zwei Computer zu verwenden habe ich früher Synergy verwendet. Dann wurde das kommerzialisiert und ich habe mir Synergy gekauft, weil ich damals eine Brücke zwischen Windows und Linux brauchte.
 
Jetzt brauche ich gerade wieder so eine Verbindung. Allerdings zwischen zwei Linux Rechnern – genauer gesagt zwischen zwei Kubuntu Rechnern. Bei der Recherche bin ich dann auf Barrier gestoßen, das ein Fork des früheren Synergys ist.Barrier teilt Maus, Tastatur und die Zwischenablage.
 
Barrier ist in sehr vielen Linux Distributionen vorhanden und falls nicht, gibt es das noch als Flatpack. Daher geht die Installation auf beiden Rechnern schnell von der Hand mit einem
sudo apt install barrier
oder entsprechend mit der Flatpack Variante über Discover (Ubuntu).
 
Beim Start auf dem Rechner mit der Maus und der Tastatur (Server) öffnet sich das Barrier Konfigurationsfenster mit der Aufforderung eine Sprache auszuwählen. Danach kommt man in die eigentliche Konfiguration.

Server – im oberen (Serverbereich) „interaktiv konfigurieren“ anklicken
Server – „Server konfigurieren“ klicken
Server – Von der rechten oberen Seite das Monitor Symbol in das Feld auf die Seite ziehen, wo Maus und Tastatur auf den anderen Rechner wechseln sollen
Server – Doppelklick auf den neuen „Monitor“ und einen Anzeigenamen vergeben

Wechsel zum „Client“

Client – Barrier starten
Client – Auswahl „Client (Maus und Tastatur eines anderen Rechner benutzen)“ auswählen
Client – IP Adresse des Server eintragen (diese wird im Barrier Fenster des Servers angezeigt)
Client – Barrier starten (oder neu laden, falls schon gestartet)
Client – Es kommt eine Schüsselgenerierungsanzeige. Diese bestätigen

Barrier sollte jetzt mit der Maus und Tastatur funktionieren.
 
Nachtrag 20.08.2022
Will man eben schnell mal zwischen zwei Bildschirmen wechseln – bei mir war die Anforderung da, weil ich OBS Studio mit einem HDMI Grabber (MiraBox)auf einem anderen Rechner benutze – so kann man beim Server auf „Configure Server“ -> Hotkeys gehen und dort (habe ich) 2 neue „Hotkeys“ anlegen. z.B.

Shift + BildHoch = Action switchToComputer1
Shift + BildRunter = Action switchToComputer2

Die Maus landet dann immer dort, wo sie den jeweiligen Bildschirm verlassen hat. In meinem Fall sehr praktisch.
 
Barrier läuft unter Linux, FreeBSD, OpenBSD, Windows und macOS (hier bitte die Entwicklerseite wegen bekannten Problemen lesen!!)
 
Die Entwickler Webseite https://github.com/debauchee/barrier
 
 

Texteditor Kate sortieren

Ein Befehl zum Sortieren fehlt im KDE Texteditor Kate. Das ist insofern ungeschickt, weil so eine Funktion einfach integriert doch oft weiter hilft. Allerdings kann diese Funktion auf einem Linux System recht einfach durchgeführt werden, indem das Kommandozeilen Programm „sort“ benutzt wird. Dazu muss lediglich die Tastenkombination Strg+AltGr+\ oder im Menü „Extras – Filtern durch Befehl (Strg+\)“ aufgerufen werden.

Markiert man vorher einen Bereich, z.B. mehrere Zeilen mit einer Nummerierung, dann werden nur diese Zeilen dem aufgerufenen Programm übergeben.

So werden Zeilen dann einfach mit Strg+\ und der Eingabe „sort“ in die richtige Reihenfolge gebracht. WENN denn die Zahlen am Anfang für sich alleine stehen

Sort hat einige Parameter und vermutlich wird meist der Parameter „-V“ natural sort of (version) numbers within text“ gesucht, da dieser Parameter das so sortiert, wie wir das meist manuell machen würden.

sort -Vsort
1
2
3
20
30
1
2
20
3
30


Mit „sort -V“ werden zum Beispiel auch Nummer 1, Nummer 2, Nummer 3, Nummer 30 ordentlich sortiert.

Wer noch mehr Sortier-Parameter von sort erfahren möchte, gibt einfach „man sort“ auf der Kommandozeile ein.

Viel Spaß beim Sortieren.

PS: Kate gibt es übrigens auch als Windows und als Mac Version hier zum Runterladen

Beim ssh login tmux aufrufen

Da ich tmux (Alternative zu screen) sehr häufig benutze, nutze ich auch bei remote ssh logins einen Befehl, der mich nach dem erfolgreichen Login gleich in eine detachte tmux session bringt.

ssh -l <USERNAME> <HOST> -p <PORT> -t "tmux a"

Weitere Artikel zu tmux

  1. tmux – neues Fenster oder Pane im aktuellen Verzeichnis öffnen
  2. tmux ein Windowmanager für die Konsole
  3. Live-Anzeige der Webserver-Client Verbindungen
  4. Eine tmux.conf Konfiguration

Plugins – Windows VSTs 32/64 Bit mit YaBridge | Linux

Yabridge habe ich schon länger im Gebrauch und will nun endlich auch mal einen Artikel darüber schreiben, nachdem ich schon ein kleines Tutorial dazu gemacht habe. Wie man so schön auf deutsch sagen würde „Die Installation von YaBridge ist ein Gehirnloser (nobrainer)“  … manchmal vermisse ich die schlechten Übersetzungsprogramme. 🙂
 
Kurze Übersicht, was gemacht werden muss:

  1. Installation von Wine „Staging branch“
  2. Download Yabridge in ein bestimmtes Verzeichnis
  3. Konfiguration von Yabridge, setzen der Plugin Pfade & yabridgectl sync ausführen
  4. Fertig

 
Schritt für Schritt Anleitung mit vielen Erklärungen, um zu verstehen, was passiert und was dahinter steckt.
 

1. Installation von Wine „Staging branch“

Die „Staging branch“ ist quasi der neuste und heißeste Shit. Bleeding Edge! Es sind zwar die neusten Features mit drin, aber dafür kann man schon mal eben den einen oder anderen Bug rein bekommen. Insgesamt ist dieser Beta Entwicklungszweig aber auch sorgfältig gepflegt, so dass das zum Glück nicht häufig vorkommt. Hat man einen funktionierenden Stand könnte man den auch „einfrieren“ (apt pinning).
 

Generell IMMER der Anleitung auf der WineHQ Seite folgen!


Aktuell für Kubuntu 21.10 sieht das so aus

sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key

Für (K)Ubuntu 21.10

sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ impish main'
sudo apt update
sudo apt install --install-recommends winehq-staging

 
Dann gibt es noch 2 sehr wichtige Hinweise auf der WineHQ Webseite (Datum dieses Artikels)

WineHQ enthält derzeit keine Pakete für wine-gecko oder wine-mono. Wenn Sie ein neues Wine-Präfix erstellen, werden Sie gefragt, ob Sie diese Komponenten herunterladen möchten. Für beste Kompatibilität wird empfohlen, hier auf Ja zu klicken. Wenn der Download bei Ihnen nicht funktioniert, folgen Sie bitte den Anweisungen auf den Gecko- und Mono-Wiki-Seiten, um die Komponenten manuell zu installieren.

Beginnend mit Wine 5.7 haben die WineHQ Ubuntu-Pakete eine optionale debconf-Einstellung, um CAP_NET_RAW zu aktivieren, damit Anwendungen, die rohe IP-Pakete senden und empfangen müssen, dies tun können. Dies ist standardmäßig deaktiviert, da es ein potentielles Sicherheitsrisiko darstellt und die meisten Anwendungen diese Fähigkeit nicht benötigen. Benutzer von Anwendungen, die dies benötigen, können CAP_NET_RAW nach der Installation von Wine aktivieren, indem siedpkg-reconfigure wine-<branch>-amd64 wine-<branch> wine-<branch>-i386und beantworten Sie die drei Fragen mit Ja. (Ersetzen Sie devel, staging oder stable durch <branch> im obigen Befehl). Also sieht der Vefehl folgendermaßen ausdpkg-reconfigure wine-devel-amd64 wine-devel wine-devel-i386

Um die Darstellung anzupassen nutzt man das Tool winecfg. Unter Grafik kann man die DPI einstellen, so dass alles etwas größer ist z.B. 120 oder 150 DPI bei hochauflösenden Bildschirmen. Einfach in einer Konsole winecfg eintippen und Enter drücken.


Sollten irgendwelche Schriftarten oder ähnliches fehlen, können diese einfach mit dem tool winetricks nachinstalliert werden. Das Tool winetricks muss extra installiert werden und sollte mit größter Vorsicht und nur in Ausnahmefällen genutzt werden, da man sich mit diversen „Tipps & Tricks“ aus dem Internet schnell mal die Konfiguration zerschießen kann.Für die Schriftarten wäre es dann folgender Befehl notwendig winetricks -q corefonts

2 Download Yabridge in ein bestimmtes Verzeichnis

Von Robberts YaBridge Software Repository die letzte Version von Yabridge runterladen und zwar von der „Release“ Seite https://github.com/robbert-vdh/yabridge/releases . Das Paket das mit „-ubuntu-18.04.tar.gz“ endet ist AUSSCHLIESSLICH für (K)Ubuntu Versionen ÄLTER bis 18.04 gedacht. Für neuere Versionen einfach das Paket z.B. yabridge-3.8.1.tar.gz runter laden . Zum Zeitpunkt, wenn du das installierst, kann das natürlich eine neuere Version sein.

  1. Download von https://github.com/robbert-vdh/yabridge/releases
  2. Auspacken und in das Verzeichnis ~/.local/share (also dein Home Verzeichnis) kopieren. So dass als Ergebnis das Verzeichnis ~/.local/share/yabridge/ mit den entsprechend darin befindlichen Dateien existiert.
  3. In einer Konsole in das Verzeichnis wechseln cd ~/.local/share/yabridge/
  4. Die Pluginpfade hinzufügen ( mit ./yabridgectl add ), in denen sich normalerweise die installierten Plugins befinden. Wenn noch keine Plugins installiert sind, existieren auch oft die Pfade nicht!
    Typische Pfade sind:
"$HOME/.wine/drive_c/Program Files/Steinberg/Vstplugins/"
"$HOME/.wine/drive_c/Program Files/Vstplugins/"
"$HOME/.wine/drive_c/Program Files/Common Files/VST2"
"$HOME/.wine/drive_c/Program Files/Common Files/VST3"

Schau nach welche Pfade bei dir existieren (nach der Plugin Installation) und dann füge sie mit dem Befehl (im yabridge Verzeichnis) ./yabridgectl add DEINPFAD hinzu z.B. ./yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/Vstplugins/"

Mit ./yabridgectl list kannst du dir alle eingepflegten Pfade anzeigen lassen

und mit ./yabridgectl rm PFADNAME kannst du einen Pfad wieder aus der Konfiguration entfernen.

Mit ./yabridgectl status siehst du alle erkannten und unterstützten Plugins

Installierte Plugins hinzufügen
Jedes Mal, wenn ein neues Windows Plugin installiert wurde öffnest du eine Konsole, wechselst in das yabridge Verzeichnis cd ~./conf/share/yabridge und führst folgenden Befehl aus

./yabridgectl sync

Fertig

In der letzten Zeile der Ausgabe solltest du einen Hinweis lesen können, dass ein neues Plugin erkannt und hinzugefügt wurde (added new). Um es dann aber doch noch genau zu überprüfen und eine Liste aller Plugins zu sehen, rufe einfach folgenden Befehl auf

./yabridgectl status

Abschließend musst du vermutlich nur noch in der DAW die entsprechenden Pfade für die Plugins angeben und du kannst loslegen. Wenn du wieder mal neue Plugins installiert hast, dann einfach:

Prüfen, wird(wurde) das Plugin in einen der bekannten Pfade installiert?
Wenn ja, dann Konsole öffnen, ./yabridgectl sync ausführen. Fertig
Wenn nein, Pfad mit ./yabridgectl add PFAD hinzufügen und danach ./yabridgectl sync ausführen. Fertig.

 
Das gilt alles für 64 Bit Plugins. Für 32Bit muss bei Wine noch noch etwas angepasst werden, dann geht das auch. Aber das vielleicht in einem anderen Artikel.
 

Siebzehn Jahre hyperblog – Feierei Alter!

Das hyperblog wird heute 17 Jahre alt und wir feiern das im Stillen mit euch zusammen. Danke dass ihr immer mal wieder vorbei geschaut habt und gerade auch zu den Themen Linux und Computing zu meinem Senf euren Senf dazu beigetragen habt.

Mittlerweile sind wir auch mit dem Musikproduktionsblog „Klangwerk“ ein wenig größer geworden, was uns alle sehr freut. Bleibt uns treu und schreibt uns ab und zu mal in die Kommentare. Ist immer schön, was von euch zu hören.

Macht’s gut und esst nicht so viel Fisch.

Multicore Compression bei Zip & Co

Moderne Prozessoren haben mehrere Core und so sollte man auch dieses Möglichkeiten nicht ungenutzt brach liegen lassen zum Beispiel mit den standard Kompressionsprogrammen. Damit können Dateien, wie z.B. Tar Archive wesentlich schneller komprimiert werden. Natürlich zum Preis von einer höheren Prozessorlast. Also je nach System sollte evaluiert werden, ob das ein Vorteil oder ein Nachteil ist.

Hier eine kleine Liste von alternativen Kompressionsprogrammen mit Multicore bzw Multithreading Fähigkeiten, die das entsprechende Format des Originals schreiben und lesen können. Und noch weitere

Will man diese Kompressionsalgorithmen bei tar integrieren, so lautet eine Aufrufzeile z.B. so

tar -I pigz -cf Archive.tar.pigz /FilesNdirectories/toBe/Archived/

tmux ein Windowmanager für die Konsole

Die Konsole, die Manche auch als Kommandofenster oder Shell bezeichnen, ist für die Einen der furchtbar langweiligste und komplizierteste Weg irgendwas am System zu verändern. Für die Anderen ist es der Weg der ultimativen Macht und Kontrolle über ein System.

Standardmäßig öffnet man genau 1 Konsole und kann dort Befehle absetzt, Scripte starten oder Programme wie SSH starten und Verbindungen zu anderen Servern aufmachen. Braucht man mehr als nur eine Konsole, dann könnte man weitere Konsolen starten.

Nun gibt es aber Anwendungsszenarien, bei denen man mehrere Dinge parallel machen und sie auch im Auge behalten, oder nur 1 SSH Verbindung zu einem anderen Computer aufmachen möchte, dort aber ebenfalls mehrere Sessions mit z.B. unterschiedlichen Benutzern gleichzeitig starten, oder nicht jedes Mal warten müssen, bis ein Programm seine Arbeit erledigt hat, bevor man weiter machen kann. Und man möchte sich nicht für jede Aufgabe neu einloggen, wo man doch schon eigentlich eingeloggt ist. Hier kommt tmux ins Spiel.

Tmux ist ein sogenannter Terminal Multiplexer. Salopp ausgedrückt: Es vervielfältigt die aktuelle Konsole um weitere virtuelle Konsolen (Prozesse). Also aus einer einzigen Konsole werden viele Konsolen gemacht. Wenn man möchte.

  1. So gibt es zwei hauptsächliche Anwendungsszenarien. Die beide natürlich parallel nutzbar sind:
    1. Einerseits kannt man die (Text) Konsole in verschiedene Bereiche aufteilen, wie wenn man Fenster auf einem grafischen Desktop nebeneinander und untereinander anordnet.
    2. vertikale Aufteilung Strg+b+%
    3. horizontale Aufteilung Strg+b+"
    4. Wechseln zwischen den Fenstern Strg+b+<Pfeiltasten>
  2. Andererseits kann man Konsolen (Sessions) hintereinander stapeln, so dass man immer nur eine Konsole zur Zeit sieht
    1. Neue Session (Vollbildfenster) erstellen Strg+b+c
    2. Wechsel zwischen den Sessions Strg+b+<Nummer> , beginnt mit 0,1,2,3


Alle diese Fenster kann man mit Strg+d oder einfach mit der Eingabe von exit wieder schliessen.

Will man tmux aber nicht schliessen, sondern sich z.B. von einem Server ausloggen, dort aber alle tmux Sessions offen halten, weil ein Prozess dort noch länger läuft, oder man mehrere Fenster angeordnet hat und Prozesse monitored, so kann man

  1. tmux einfach im Hintergrund weiterlaufen lassen mit Strg+b+d   (detach)
  2. später die Session wieder aufnehmen indem man in der Konsole tippt: tmux a      (attach)

Der Vorteil von tmux ist hier ganz klar, dass man nicht nur eine Session vervielfachen kann, sondern auch, dass bei einem Verbindungsabbruch, die Scripte und Programm, die man gestartet hat unbehelligt auf dem entfernten Server weiter laufen. Sobald man wieder Netz hat, verbindet man sich wieder mit dem Server und holt sich die Session mit tmux a (attach) wieder zurück.

Man sollte dabei im Hinterkopf behalten, dass tmux immer mit dem Benutzer und dessen Rechten neue Sessions aufmacht, mit der tmux gestartet wurde. Braucht man also z.B. viele root Sessions, so sollte man erst zum Benutzer root wechseln, bevor man tmux startet.

Tmux kann noch wesentlich mehr, inklusive einem Theming, wenn man die Farben und die Statuszeile anpassen möchte, oder alle Tasten komplett umkonfigurieren usw. Sehr gute Einstiegsseiten, um mehr darüber zu erfahren sind

  1. Ubuntuusers Wiki https://wiki.ubuntuusers.de/tmux/
  2. Tmux Entwickler Seite https://github.com/tmux/tmux/wiki

Meine persönliche .tmux.conf in meinem Benutzerverzeichnis /home/Benutzer/ sieht momentan so aus

### DESIGN CHANGES ###
######################

# loud or quiet?
set -g visual-activity off
set -g visual-bell off
set -g visual-silence off
setw -g monitor-activity off
set -g bell-action none

# modes
setw -g clock-mode-colour colour25
setw -g mode-style 'fg=colour255 bg=colour25 bold'

# panes
set -g pane-border-style 'fg=colour19 bg=colour0'
set -g pane-active-border-style 'bg=colour0 fg=colour9'

# statusbar
set -g status-position bottom
set -g status-justify left
set -g status-style 'bg=colour25 fg=colour255'
set -g status-left ' #[bg=colour25,fg=colour255]'
set -g status-right '#[fg=colour255,bg=colour25] %d/%m/%Y #[fg=colour255,bg=colour25] %H:%M '
set -g status-right-length 50
set -g status-left-length 20

setw -g window-status-current-style 'fg=colour15 bg=colour31 bold'
setw -g window-status-current-format '#I#[fg=colour249]:#[fg=colour255]#W#[fg=colour249]#F'

setw -g window-status-style 'fg=colour0 bg=colour25 bold'
setw -g window-status-format '#I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F'

setw -g window-status-bell-style 'fg=colour255 bg=colour1 bold'

# messages
set -g message-style 'fg=colour232 bg=colour16 bold'

apt – Befehlsreferenz

Ein paar nützliche Befehle im Bezug auf apt, die ich immer wieder brauche und von denen ich mir einige immer wieder neu zusammen suche. Das repetitive Suchen muss endlich ein Ende haben 😉

Installation und Deinstallation

  • Installieren mit sudo apt install <Paketname>
  • Deinstallation sudo apt remove <Paketname>
  • Deinstallation mit Entfernung der Konfigurationen sudo apt purge <Paketname>
  • Alle installierten Pakete ausgeben apt list --installed
  • Eine bestimmte Version installieren sudo apt install <Paketname>=<Versionsnummer>
  • Wenn eine Installation schief lief, hilft manchmal das hier  sudo dpkg --configure -a   und   sudo apt-get -f install

Update/Upgrade

  • Software Update  sudo apt update
  • Welche Pakete sollen aktualisiert werden apt list --upgradeable
  • Software Upgrade der Pakete durch neuere Versionen sudo apt upgrade
  • Software Upgrade mit Entfernen von nicht mehr benötigten Paketen sudo apt full-upgrade
  • Software Upgrade mit Entfernen und Austausch durch neue Pakete sudo apt dist-upgrade
  • Alle Pakete, die nicht mehr benötigt werden entfernen sudo apt autoremove

Aufräumen

  • Nicht mehr benötigte Pakete deinstallieren sudo apt autoremove
  • Löschen aller runtergeladenen und gecachten Pakete sudo apt clean
  • Löschen aller lokalen Pakete, die nicht mehr in den Repositories verfügbar sind sudo apt autoclean

Suche

– Software suchen apt search |grep <Paketname>

Konfiguration

  • Paket neu konfigurieren sudo dpkg-reconfigure <Paketname>

Repository

  • Aus welchem Repository stammt das Paket apt policy <Paketname>
  • Oder mit etwas mehr Info apt show <Paketname>
  • So werden nur die installierten Pakete angezeigt apt list --installed

Sonstiges

  • Die Repositories befinden sich in /etc/apt/sources.list bzw weitere Listen in /etc/apt/sources.list.d/
  • Die runtergeladenen Pakete werden in /var/lib/apt/lists/ gespeichert
  • Ein grafisches Tool unter Kubuntu ist muon

Obsidian – Markdown your Power

Was ist das und warum ausgerechnet ich

Obsidian ist eine ziemlich intelligent gebaute Software rund um die Themen: Notizzettel, Knowledgebase, Wiki, Ideensammlung. Also alles was man so aufschreibt und sammelt, aber nie so genau weiß: soll ich das jetzt in meiner Textverarbeitung schreiben, oder als reine Textdatei, oder in meiner speziellen Software für z.B. Rezepte oder auf dem Smartphone oder nur auf dem Rechner, oder oder oder … einfach zu viele Frage, zu viele Möglichkeiten und die allermeisten dieser Möglichkeiten sind einfach zu begrenzt, weil „geht nur als APP“ , „Hat ein eigenes Dateiformat“, „kann nicht exportiert werden“, „kann nicht synchronisiert werden“, als dass es auf Dauer gut gehen würde.

Update 10.03.2022: Eine App für Android & iOS ist jetzt für VIPs in einer „public“ Beta.

Update 19.02.2021: Ich habe zu Obsidian ein Tutorial mit einer grundsätzlichen Einführung produziert. Weiter unten sind auch noch weitere Quellen hinzugefügt

Am einfachsten wäre eine Textdatei, denn die kann man unter Linux, Windows, Mac, Android, iOS oder wasweissichdennschon öffnen und bearbeiten. Aber es bleibt ja nicht nur bei einer Textdatei, sondern das summiert sich ja. Also hat man irgendwann eine Menge Textdateien.

Nächstes Problem: wenn man die Textdateien öffnet, sehen die schnöde aus. Oder sehr merkwürdig, weil man versucht mit Sonderzeichen irgendwelche Layouts zu kreieren, die auch nicht wirklich befriedigen. Fett, Kursiv und Überschriften wären echt hilfreich.

Dann kommen weitere Probleme: Wie finde ich bei vielen Textdateien das was ich suche? Wie sieht das irgendwann in Zukunft aus,wenn ich das System wechsle? Wie mache ich mich abhängig von einer Software? Was mache ich, wenn ich diese Software nicht mehr bekommen kann?

Auf all diese Fragen gibt es zwei Antworten: Obsidian und Markdown

Markdown

Fangen wir von hinten an. Markdown ist eine „Sprache“ bzw Programmiersprache zur Formatierung und Gliederung von Texten. Also Fett, Kursiv, Durchgestrichen, Überschriften, Tabellen, Aufzählungen und so weiter. Die Sprache ist so gehalten, dass man sie in einen normalen Text mit integrieren kann. Ein wenig wie HTML, nur einfacher und lesbarer.

Beispiele

  • Eine Überschrift würde man so schreiben # Kapitel 2
  • Eine untergeordnete Überschrift wäre dann ## Kapitel 2.1 und so weiter
  • Einen kursiven Text würde man *kursiv* schreiben, einen fett gedruckten Text würde man **fett** schreiben und fett+kursiv so ***fett kursiv***
  • Todos
    •  Einkaufen
    •  chillen und Pizza

Und von diesen Formatierungen gibt es noch richtig viel mehr https://www.markdownguide.org/basic-syntax/

Alles wirklich immer noch gut lesbar in einer normalen Textdatei. Aber schön? Nun, es gibt richtig viele Markdown Editoren für alle möglichen Betriebssysteme inklusive Smartphones. Diese stellen diese Formatierungen im Text gleich richtig dar und viele davon haben auch noch einen „Preview Modus“, in dem der Text ohne die Formatierungszeichen, aber mit dem gewünschten Layout dargestellt wird. Also in Schön.

Obsidian

Damit kommt Obsidian ins Spiel. Was ist Obsidian eigentlich genau?
Obsidian ist ein

  • Markdown Preview & Editor
  • Dateiverwaltung
  • Suchmaschine
  • Voll integrierte Markdown Suite mit zusätzlich integrierten Funktionen, die auch vollständig nur mit der Tastatur bedienbar ist, wenn man das möchte

Obsidian verwaltet einfach nur das was da ist.

Hat man also eine Struktur mit Unterverzeichnissen und den entsprechenden Dateien schon erstellt, dann „stülpt“ man Obsidian einfach nur darüber und fertig. Hat man so etwas noch nicht, dann startet man mit Obsidian einfach einen eigenen „Vault“.

Ein Vault ist so etwas wie eine Instanz oder Knowledge Datenbank. Praktisch gesehen ist das Vault das oberste Dateiverzeichnis, in dem man weitere Unterverzeichnisse und Dateien anlegt.

Man kann verschiedene Vaults anlegen und zwischen ihnen wechseln. Neue Markdown Dateien fügt man einfach per Import oder per Copy’n’Paste hinzu. Wenn man erst mal verstanden hat, was man damit eigentlich machen kann und vor allem wie uneingeschränkt über alle Systeme und sehr zukunftssicher, dann will man diese Art der Wissenssammlung nicht mehr missen.

Achja, als kleines Info-Schmankerl: Es gibt viele Anwendung, die als Input Markdown verwenden. So kann man auch aus seinen Texten schöne PDF Dateien erzeugen. Oder wenn man seine Sammlung über verschiedene Geräte synchronisieren möchte, kann man das Verzeichnis mit all den Unterverzeichnissen und Textdateien einfach mit z.B. einer Nextcloud automatisch synchronisieren lassen. Dadurch, dass es nur kleine Textdateien sind, geht die Synchronisation super schnell, auch wenn die Leitung extrem schmal ist. UND Ihr könnt Markdown Dateien auch direkt in der Nextcloud editieren. Es gibt dort nämlich auch einen Markdown Editor. Probiert es einfach aus!

Obsidian ist aktuell in der Version 0.6.4 0.7.3 0.11 1.0.0 für Linux, Windows und Mac hier https://obsidian.md frei und kostenlos runterladbar. Es sind weitere Features geplant, die die Eingabe und Verwaltung noch komfortabler machen soll, als sie jetzt schon ist.

Bei größeren Dokumenten kann das Inhaltsverzeichnis, das man sich auf der rechten Seiten einblenden lassen kann (Outline Headings) schon etwas ausufern. Ein ganz nützliches Community Plugin „Quiet Outline“ kann diese riesen Liste standardmäßig zusammen klappen, so dass das gezielte Navigieren wesentlich einfacher gemacht wird. Man kann dann zwar leider nicht mehr die Überschriften direkt verschieben, aber das macht man glücklicherweise nicht so häufig und ist immer noch direkt im Dokument per Cut’n’Paste machbar. Des weiteren habe ich sowieso das Einklappen (Folding) direkt im Dokument auf eine Tastenkombination Win+F gelegt, das die Organisation und Suche in großen Dokumenten auch nochmal erleichtert.

Weitere Quellen

  1. LibreOffice: Suchen&Ersetzen – Mit RegEx Hashtags markieren
  2. Obsidian – PDF Export mit TOC
  3. Markdown in Obsidian https://publish.obsidian.md/help/How+to/Basic+note+taking
  4. Markdown Wikipedia https://de.wikipedia.org/wiki/Markdown

Audiospuren aus Videodateien entfernen und hinzufügen – ffmpeg

Ich stand vor dem Problem, eine bearbeitete Audiodatei mit der ursprünglichen Audiospur einer Videodatei (mp4) auszutauschen. Da ich nur die Audiodatei verändert hatte, wollte ich nicht das Video neu kodieren und so Gefahr laufen, die Qualität zu verändern, oder unnötig die Videodatei zu vergrößern.

Im Prinzip ist es ganz einfach (unter Linux): ffmpeg

Was ist drin

Um den Inhalt einer Videodatei zu verändern, sollte erst geschaut werden, was da überhaupt drin ist. Das erledigt der Befehl:

ffprobe INPUTVIDEO.mp4

ffprobe ist ein Analyseproramm und bei ffmpeg standardmäßig mit dabei.

Entfernen

Das Entfernen einer oder mehrerer Audiospuren funktioniert mit folgendem Befehl

ffmpeg -i InputVideo.mp4 -map 0 -map -0:a:0 -codec copy OutputVideo_EINS.mp4
  • -map 0 wählt alle (Video/Audio) Spuren aus
  • -0:a:0 wählt aus allen Spuren die Audiospur Nummer 1 (Zählweise ab 0) aus
  • -codec copy definiert, dass keine Neukodierung stattfindet

Will man alle Audiospuren aus dem Video entfernen, so gilt abgekürzt

  • -0:a wählt alle Audiospuren aus

Zur Auswahl stehen nicht nur a (Audiospuren), sondern auch v (Videospuren), s (Sub-/Untertitel), d (Datenspuren).

Hinzufügen

Das Hinzufügen einer oder mehrerer Audiospuren (zum vorherigen Beispiel) funktioniert mit folgendem Befehl

ffmpeg -i OutputVideo_EINS.mp4 -i Audiospur.m4a -codec copy -shortest OutputVideo_ZWEI.mp4
  • -i steuert, was in die Datei aufgenommen werden soll. Hier 1 Video- und 1 Audiospur
  • -codec copy definiert, dass keine Neukodierung stattfindet
  • -shortest kürzt alles auf die Länge der Datei mit der kürzesten Dauer

Zweite Spur hinzufügen

Wenn eine zweite Spur hinzugefügt werden muss, dann sollte darauf geachtet werden, dass die zweite Spur genau gleich lang ist, wie die erste Spur!

ffmpeg -i INPUTVIDEO.mp4 -i INPUTAUDIO.aac -map 0 -map 1 -metadata:s:a:1 title="MEIN TITEL DER AUDIOSPUR" -codec copy OUTPUTVIDEO.mp4

Extrahieren

Das Extrahieren einer Audiospur im Originalformat funktioniert folgendermaßen

ffprobe Name_der_Video_Datei

Als Ausgabe erhält man eine lange Ausgabe und zum Schluss findet man so etwas in dieser Art

Input #0, matroska,webm, from 'MeinVideo.webm':
Metadata:
ENCODER : Lavf58.20.100
Duration: 03:59:10.04, start: -0.007000, bitrate: 2285 kb/s
Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv, bt709), 3840x2160, SAR 1:1 DAR 16:9, 59.94 fps, 59.94 tbr, 1k tbn, 1k tbc (default)
Metadata:
DURATION : 03:59:10.019000000
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
Metadata:
DURATION : 03:59:10.041000000

In diesem Falle handelt es sich bei Stream #0:1 Audio: opus um ein Ogg Vorbis Audio, das man in ein .ogg oder .oga abspeichern kann mit folgendem Befehl

ffmpeg -i MeinVideo.webm -map 0:a:0 -c copy MeinAudio.oga

In diesem Fall wird einfach die Audiodatei ohne ein neues konvertieren aus der Videodatei herauskopiert und liegt dann als MeinAudio.oga im Dateisystem.

Extrahieren und Konvertieren

Das Extrahieren und Konvertieren einer Audiospur in ein anderes Audioformat z.B. WAV geht sogar noch einfacher

ffmpeg -i MeinVideo.webm MeinAudio.wav

Bei komprimierten Audioformaten müssen natürlich noch ein paar mehr Parameter zur Steuerung der Qualität angegeben werden.

Open Source Voice Assistants

Siri, Duo, Alexa, Cortana oder wie sie alle heissen. Diese digitalen Assistenten, die immer einen Kanal zur Hersteller Cloud brauchen und über diesen Kanal auch immer mithören und das natürlich auch beim Hersteller verarbeiten. Warum tut man sich sowas an und stellt sich eine Wanze ins Eigenheim? Man muss schon einen gehörigen Schaden haben sich sowas in sein privates Zuhause zu stellen und auch noch Geld dafür zu bezahlen. Egal. Es gibt für sowas OpenSource Alternativen. Hier will ich einfach mal ein paar aufzählen

Kalliopehttps://kalliope-project.github.io/
Kalliope is a modular always-on voice controlled personal assistant designed for home automation. Kalliope can be installed on multiple linux system, and also on small single-board computers like the Raspberry Pi.

Mycrofthttps://mycroft.ai/
Mycroft is the world’s first open source assistant. Mycroft runs anywhere – on a desktop computer, inside an automobile, or on a Raspberry Pi. This is open source software which can be freely remixed, extended, and improved. Mycroft may be used in anything from a science project to an enterprise software application.

SUSIhttps://github.com/fossasia/susi_linux
This project aims at creating an implementation of Susi, capable to run on Linux Devices in a headless mode. It will enable you to bring Susi AI intelligence to all devices you may think like a Speaker, Car etc.

Jasperhttps://jasperproject.github.io/
Jasper is an open source platform for developing always-on, voice-controlled applications. Use your voice to ask for information, update social networks, control your home, and more. Jasper is always on, always listening for commands, and you can speak from meters away. Build it yourself with off-the-shelf hardware, and use our documentation to write your own modules.

Snipshttps://snips.ai/
Using Voice to Make Technology Disappear. Snips provides Private-By-Design, Decentralized Voice Assistant Technology and Solutions. Snips was built from scratch to protect your privacy. Everything runs directly on-device, meaning no one will ever hear your voice but you. This required over 4 years of research, during which our team pushed the limits of what can be done with AI on tiny devices. (Raspi)
Update 21.11.2019 : Sonos kauft französische Sprachassistenten-Firma Snips

Leonhttps://getleon.ai/
Leon is an open-source personal assistant who can live on your server. He does stuff when you ask him for. You can talk to him and he can talk to you. You can also text him and he can also text you. If you want to, Leon can communicate with you by being offline to protect your privacy.

Mozilla DeepSpeechhttps://github.com/mozilla/DeepSpeech
Project DeepSpeech is an open source Speech-To-Text engine, using a model trained by machine learning techniques, based on Baidu’s Deep Speech research paper. Project DeepSpeech uses Google’s TensorFlow project to make the implementation easier. Blogbeitrag „Mozilla stellt weltweit größten Sprach-Datensatz kostenlos zur Verfügung“

Almond https://almond.stanford.edu/
Almond is the open virtual assistant that you can access through your phone and the web. It helps you configure your devices, accounts, and public services, retrieve data from them, and execute actions on them. It also lets you share your data with your friends and families easily. Oh, by the way, it’s open source and it protects your privacy!

Vosk https://github.com/alphacep/vosk-api
Update 07.07.2021

Vosk is a speech recognition toolkit. Features:
Supports 18 languages and dialects – English, Indian English, German, French, Spanish, Portuguese, Chinese, Russian, Turkish, Vietnamese, Italian, Dutch, Catalan, Arabic, Greek, Farsi, Filipino, Ukrainian. More to come.
Works offline, even on lightweight devices – Raspberry Pi, Android, iOS
Installs with simple pip3 install vosk
Portable per-language models are only 50Mb each, but there are much bigger server models available.
Provides streaming API for the best user experience (unlike popular speech-recognition python packages)
There are bindings for different programming languages, too – java/csharp/javascript etc.
Allows quick reconfiguration of vocabulary for best accuracy.
Supports speaker identification beside simple speech recognition.

Github https://github.com/alphacep/vosk-api

Das Blog ist eröffnet

Wir haben uns lange gesträubt. Immer dieses neumodische Zeugs. Aber im Endeffekt haben sie uns bekommen. Sie haben sich ganz fies von hinten angeschlichen und uns dann den Sack über den Kopf gestülpt und den Strick zugezogen, bis wir kapitulieren mussten. Nun gut. Jetzt haben sie auch den Salat und so schnell hören wir auch nicht mehr auf.