24 August 2014

Audiobook im Eigenbau

Zutaten:
  1. Ein EBook nach Wahl
  2. Calibre
  3. Texteditor und/oder Textverarbeitende Skriptsprache (ich empfehle perl)
  4. espeak
  5. lame
Zubereitung: Man nehme ein beliebiges EBook und konvertiere es via Calibre nach .txt. Mit einem Texteditor und oder einem Bröckelchen perl tranchiere man das exportierte .txt in handliche Brocken, wenn es das EBook zulässt in Kapitel. Andere Methoden sind anzuwenden, wenn das Buch nicht sinnvoll unterteilt ist.

Die einzelnen Kapitel werden jetzt mit espeak nach .wav gelesen - dabei ist darauf zu achten, eine Stimme zu wählen, die die Sprache des Buchs einigermassen wiedergibt - bei mir war die Stimme german-mbrola-4 für ein deutsches Buch gar nicht mal so übel:
for i in *.txt; do
    espeak -f $i - -v german-mbrola-4 -w `basename $i .txt`.wav
done
.wav ist natürlich nicht wirklich handlich - das übliche Format ist .mp3, dazu nimmt man einen Konvertierer - ich nehme da gerne lame:
for i in *.wav; do
    lame --tt "Kapitel `basename $i .wav`" --ta "Mein Autor" \
    --tl "EBook Titel" --ty Erscheinungsjahr --tn `basename $i .wav` \
    --tg "Speech" --preset voice $i `basename $i .wav`.mp3
done
Dabei wird gleich im id3 Tag der mp3-Dateien alles versenkt. So wie's da steht geht das aber nur, wenn man die Kapitel nur mit Zahlen benannt hat... Die mp3s werden auf einem mp3-Player versenkt und - viola! Ich hab' aus meinem EBook ein Audiobuch gemacht.

OK, an den Vorlesestil muss man sich gewöhnen, aber nach 10min Zuhören hat man sich gut daran gewöhnt und versteht jedes Wort.

23 März 2014

Crimson ProkeKCt, Karlsruhe

Tja. Kann auch schlechter laufen. Sonja und ich waren in Karlsruhe die einzigen, die ein VIP-Ticket für Crimson ProjeKCt gebucht haben - dementsprechend haben wir eine noch bevorzugtere Behandlung erfahren als erwartet. Nahezu auf die Sekunde genau hat uns der Tourmanager Francesco uns an der Tür abgeholt und war von da ab immer verfügbar, uns zu betüdeln.

Soundcheck war durchaus interessant, die hatten aber eine Menge Probleme - am Schluss hat sich nach vielem Hin und Her dann herausgestellt, dass die Techniker zwei Kabel nicht angeschlossen hatten - wie üblich halt die einfachste Erklärung, wieso es gerade nicht tut.

Danach war nochmals großes Meet & Greet, nachdem sich einige Musiker schon im Konzertsaal einzeln vorgestellt hatten (Tobias Ralph und Tony Levin sind einfach mal vorbeigekommen, der Rest hat von der Bühne gewinkt) und ein Schwätzchen gehalten hatten, dabei hab ich einige meiner CDs signieren lassen. Markus Reuter hat ein etwas längeres Schwätzchen gehalten, er konnte sich an mich sogar noch aus Asheville erinnern. Muss an meinem Bart liegen.

Konzert war dann der Hammer - es ist schon erstaunlich, was die in 3 Jahren noch an Entwicklung zugelegt haben. Das starre Trio-Trio-alle-Schema von 2011 ist einem lockerern Hin und Her gewichen: ganz am Anfang startet Markus Reuter mit einer Soundscape-Improvisation, die langsam von beiden Schlagzeugern unterstützt wird und dann in ein verlängertes Intro von B'Boom übergeht.

Und so geht's dann weiter mit ständig wechselnden Besetzungen, mit Stücken von Adrian Belew's e, von der Stick Man Open und natürlich von King Crimson. Und dann noch ein Stück von Stravinsky zwischenrein.

Das ganze in einem Konzertsaal, in dem der Sitz bei jedem Bass schüttelt und in dem man bei jedem Kick der Bassdrum einen Schlag in den Brustkorb spürt. Um es ganz kurz zu sagen: wir haben uns prächtig amüsiert.

08 März 2014

Ich bin Hacker

CC-BY-SA 3.0 Baggage Master
Auf der Apache OpenOffice Mailing Liste ist es eine FAQ: Ich habe mein Dokument verschlüsselt und das Passwort vergessen, jetzt möchte ich das wieder öffnen. Die Standard-Antwort schreib's neu - die Verschlüsselung ist nicht von Microsoft lag mir auf der Zunge, aber die Dame hatte ein ganzes selbsgeschriebenes Buch in den Limbo gecryptet.

Wie bekommt man also das Passwort zu einer bisher als sicher angesehenen Verschlüsselung raus?
  • Dictionary Attack
  • Brute Force
Also hab' ich mal geantwortet, dass man da einen Passwort Cracker verwendet und einen Link auf John the Ripper. Und eine Kurzanleitung, wie man damit umgeht.

Was wirklich klar war: wer ein ganzes Buch wegcryptet ist kein Computernerd. Der hätte das nicht gemacht und außerdem 20 Sicherungen auf verschiedenen Medien gehalten. Unsere Autorin hatte das nicht - und ihr gutgemeinter Versuch mit der vorcompilierten Windows-Variante (da passiert nix mit einem Doppelklick) endete, wie er enden musste.

Nachdem ich mit der Kurzanleitung auch gepostet hatte, dass sie sich vielleicht vertrauensvoll damit an einen Nerd wenden soll, tat sie mit ihrem Schlamassel das einzig Folgerichtige: sie fragt natürlich mich. Da hätte ich auch selbst draufkommen können.

Zu ihrem nicht enden wollenden Glück war ich aber interessiert genug, um einen Versuch zu wagen, also hab' ich mich mal dran gemacht.
  1. John compilieren. Und da fangen sie schon an, die Probleme: John ist in erster Linie mal Single Thread. Das kann auf Multicores immer nur einen Prozessor benutzen. Ich hab' 4 Kerne mit Hyperthreading, kann also gleichzeitig 8 rechenintensive Prozesse laufen lassen. Das Wiki erklärt aber, wie es geht: MPI benutzen. Dazu muss man schonmal am Makefile rumfummeln und eine Menge Zeug nachinstallieren.
  2. MPI Umgebung installieren:
    apt-get install mpi-default-dev mpi-default-bin
    Naja, war ja nicht schwer.
  3. Wörterbücher finden und installieren. Ich hab' mich für Englisch und eine Liste mit einigen 1000 Passwörtern entschieden, nachdem ich nochmal nachgefragt habe, welche Sprache für das Passwort in Frage kommt.
  4. Den Passwort Hash aus dem ODF-Dokument holen - da hat John schon ein Tool dabei:
    ./odf2john.py Livro.odt > passwd
  5. John starten. Auf 7 Prozessoren, ich möchte ja noch Katzenvideos gucken können:
    mpiexec -np 7 ./john --format=odf passwd
  6. Sehr lange warten. Dabei zuhören, wie die Lüfter in meinem Rechner auf Anschlag drehen. Die Logdatei john.log klärt mich nach einer Minute darüber auf, dass der Singles Shot Mode nichts gebracht hat und nach einer weiteren Stunde, dass der Dictionary Attack fehlgeschlagen ist. Ab jetzt ist es Brute Force.
  7. Nach weiteren 10 Stunden meldet Prozess #4, dass er das Passwort gefunden hat, dass man aber wegen MPI die anderen Prozesse von Hand anhalten muss. Man erkennt also nicht am Rechnergeräusch, dass John was gefunden hat.
Naja, 11 Stunden auf 7 Prozessoren, für ein Passwort mit 7 Kleinbuchstaben - hässlich. Bei 10 Buchstaben kanns wirklich so sein, dass neu schreiben schneller geht.


02 März 2014

Lilypond und Bass-Tabs

Irgendwann kommt jedes Gedächtnis an Grenzen - also schreibt man auch Musik auf. So richtig gefallen hat mir mein Gekritzel aber nicht, also habe ich mich auf die Suche nach flexiblen Notensazt für umsonst gemacht, und Lilypond gefunden.

Lilypond ist für den Notensatz das, was LaTeX für den Satz von mathematischen Texten ist: kein WYSIWYG- sondern ein WYGIWYW-Tool. Die Noten werden mit einer flexiblen Syntax geschrieben, mit einigen Satzanweisungen versehen und dann compiliert. Als Ergebnis bekommt man PDF.

In meinem Fall habe ich mir Systeme mit Noten und Bass-Tabs für einen 5-Saiter herausgelassen - mit wenigen Befehlen kann man aber auch die Tabs weglassen oder auch Akkorddiagramme für Gitarre dazumachen.

Die Notation für eine Stimme ist dabei denkbar einfach: Man schreibt die Notennamen hintereinander auf, dabei kann man auswählen, in welcher Sprache das geschehen soll, meine Auswahl "deutsch" stellt dabei sicher, dass h und b dabei richtig interpretiert werden und dass mit cis ein erhöhtes c und mit des ein vermindertes d gemeint ist.

Die Rhythmik wird mit Zahlen angegeben, c4 sagt aus, dass man eine Viertelnote auf c meint. Lässt man die Tonlänge weg, wird einfach der Wert der letzten Note genommen. Hinweise für die gewünschte Saite werden mit \3 eingegeben, wenn man die weglässt, dann wird die Saite mit dem niedrigsten Bund genommen.

Der Quellcode für die Seite oben ist dann
\version "2.16.0"
\language "deutsch"
\header {
    title = "I Need a Woman (Like Sarah Palin)"
    composer = "The Cube - Darrin Maxwell"
}


cho = {
    \chordmode {
 % Verse
 d2. a4 e1
 d2. a4 e1
 % Verse (Breaks)
 d2. a4 e1
 d2. a4 e1
 % Chorus
 h1:m g a e2 cis:m e1
 % Keyb Solo
 e1
 e1 e:7 a a a2 h
 d1 e d e
    }
}
tune = {
    \relative c, {
 \mark "=1= Verse"
 \repeat volta 2 {
     d8\3
     cis d\3 cis d\3_. a\4 r e ~
     e e e e e'\3 e, e'\3 e\3

     d8\3 cis d\3 cis d\3_. dis\3 r e\3 ~
     e\3 e\3 e\3 e\3 e\3 e\3 e, e'\3
 }
    } \break

    \relative c, {
 \mark "                    =1a= Verse 2 (Breaks)"
 \repeat volta 2 {
     d8\3
     d\3 r4. cis8 ~ cis r e8\3 e\3 r4 r2
     d8\3 d\3 r4. cis8 ~ cis r e8\3 e\3 r4 r2
 }
    } \break

    \relative c, {
 \mark "  =2= Chorus"
 \repeat volta 2 {
     h1
     g
     a
 }
 \alternative {
     { e'2\3 dis\3 }
     { e,8 e e e e e e e }
 }
    } \break

    \relative c, {
 \mark "     =3= Keyb Solo"
 \repeat volta 4 {
     e8\3 e, e e'\3 e, e e'\3 e,
     % e'\3 e, e e'\3 e, e e'\3 e,
 }
 \repeat volta 2 {
     e'2\3 r8 e8\3 ~ e4\3
     d2\3 r8 d8\3 ~ d4\3
     cis2\3 r8 cis8\3 ~ cis4\3
 }
 \alternative {
     { a2 r8 a8 ~ a4 }
     { a8 a a a h h h h }
 }

    } \break

    \relative c, {
 \mark "     =4= Bass Solo"
 \repeat volta 4 {
     d8\3 a d\3 a d\3 a r e ~
     e e'\3 r e\3 a\2 a\2 gis4\2
     d8\3 a d\3 a d\3 a r e ~
     e4 r8 e e e e'\3 e,
 }
    }
}

\layout {
  % In Tabs alles anzeigen
  \override Voice.StringNumber #'stencil = ##f
  % Mehr Space zwischen den Systemen:
  \context {
    \Staff
    \override VerticalAxisGroup #'default-staff-staff-spacing
     #'basic-distance = #12
  }
}
\score {
    <<
 \new ChordNames {
     \tempo 4 = 125
     \cho
 }
 \new Staff {
     \clef "bass_8"
     \time 4/4
     \tune
 }
 \new TabStaff \with { stringTunings = #bass-five-string-tuning } {
     \tabFullNotation
     \tune
 }
    >>
}
\markup {Abfolge: als Intro 8T Pause, Slide nach d als Auftakt - =1= =1= =2= =1a= =3= =4= =1= =2= }
\markup {8T Pause (Git only), Slide nach d als Auftakt - =1=, dann 8tel auf e bis Fadeout }
Lilypond ist für meine kleinen Notenblätter genausogut geeignet wie für komplette Orchesterpartituren.

01 März 2014

Spambox: Aktivieren Sie Ihr Konto: F4-F9-T6-08-G1

Plump, einfach, effizient und an meinem Spamfilter vorbei. Da ist eben nicht viel, auf das man matchen könnte.
Return-Path: <anonymous@webxc43s02.ad.aruba.it>
Received: from bugs ([unix socket])
  by bugs (Cyrus vXXXXX) with LMTPA;
  Sat, 01 Mar 2014 04:55:01 +0100
X-Sieve: CMU Sieve X.X
Received: from smtplqs-out28.aruba.it ([62.149.158.XX] helo=smtplqs-out40.aruba.it)
 by bugs with esmtp (Exim X.XX)
 (envelope-from <anonymous@webxc43s02.ad.aruba.it>)
 id 1WJb0u-0007Lp-Tt
 for xxxx@hampft.de; Sat, 01 Mar 2014 04:55:01 +0100
Received: from webxc43s02.ad.aruba.it ([62.149.145.28])
 by smartcmd03.ad.aruba.it with bizsmtp
 id Y3uu1n00F0cyziu013uu0n; Sat, 01 Mar 2014 04:54:54 +0100
Received: (qmail 16736 invoked by uid 19121497); 1 Mar 2014 03:54:54 -0000
Date: 1 Mar 2014 03:54:54 -0000
Message-ID: <20140301035454.16734.qmail@webxc43s02.ad.aruba.it>
To: xxxx@hampft.de
X-PHP-Originating-Script: 19121497:mailinoo.php
From: Wichtig-paypal <Uopazrtpport@caQsfpaigner.re>
MIME-Version: 1.0
Content-Type: text/html
Content-Transfer-Encoding: 8bit
X-SA-Exim-Connect-IP: 62.149.158.68
X-SA-Exim-Rcpt-To: klaus@hampft.de
X-SA-Exim-Mail-From: anonymous@webxc43s02.ad.aruba.it
X-Spam-Checker-Version: SpamAssassin xxxxxxxx on bugs
X-Spam-Level: *
X-Spam-Status: No, score=1.8 required=5.0 tests=BAYES_05=-0.5,
 HTML_IMAGE_ONLY_04=1.172,HTML_MESSAGE=0.001,HTML_MIME_NO_HTML_TAG=0.377,
 MIME_HTML_ONLY=0.723,RCVD_IN_DNSWL_NONE=-0.0001,RP_MATCHES_RCVD=-0.001,
 TO_NO_BRKTS_HTML_ONLY=0.001,T_REMOTE_IMAGE=0.01 autolearn=no version=X.X.X
Subject: Aktivieren Sie Ihr Konto: F4-F9-T6-08-G1
X-SA-Exim-Version: XXX (XXX)
X-SA-Exim-Scanned: Yes (on bugs)



<img alt="" src="http://www.serica.net/1.png"></p> <p> <u><strong><a href="http://www.thailandamulet8899.com/css/dee/index.php" target="_blank">Aktivieren Sie Ihr Konto</a></strong></u></p> <p> <img alt="" src="http://www.serica.net/2.png">
Das dazugehörige Bild (das ein anständiger Mailreader auf keinen Fall runterlädt) ist das hier:
Das ist fehlerfrei - deshalb wahrscheinlich ein Screenshot direkt von PayPal. Ich sach ja, einfach und effizient. Langsam bekomme ich Angst vor den Spammern, die Intelligenz dieser Leute scheint jetzt höher zu sein als bei ca. 30% ihrer potentiellen Opfer.

30 Januar 2014

Spambox: ohne pädagogische back Boden Barriere

Heute einfach so an meinem Spamfilter vorbei gerutscht:
Hallo liebe,

Mein Name ist Eliana J.Seyang, ich bin 25 Jahre alt, ein Mädchen auf  
der Suche nach einem Mann, der Liebe als Vertrauen und Glauben  
versteht, sondern als eine Möglichkeit, Spaß immer, aber eine gereifte  
Mann mit Sinn für Humor es zu sehen. Ich bin daran interessiert, eine  
Beziehung mit Ihnen, und ich werde auch gerne mehr über Sie wissen.  
Sie sind frei, um mich wieder zu schreiben, so dass ich Ihnen mehr  
über mich selbst mit meinen Bildern zu erzählen.

Bedenken Sie auch, dass Liebe hat keine Farben Barriere, ohne  
pädagogische back Boden Barriere, keine sozio-ökonomischen Barrier,  
religiösen, Sprache, Nationalität oder Abstand Barriere, ist die  
einzige wichtige Sache, die Liebe und Verständnis. Ich warte auf Ihre  
E-Mails und Erklärungen über Sie.

Ich glaube, wir können von hier aus starten. Ich warte, von Ihnen bald  
zu hören, und ich werde dir meine Fotos schicken und sagen Ihnen mehr  
über mich.

Eliana
Ich muss Eliana jetzt wirklich entäuschen - sie bekommt heute keine EMail mit Erklärungen über mir.

20 Januar 2014

Spambox-Perle

Sehr geehrter Amazon Kunde, Wir haben vor kurzem festgestellt, dass verschiedene Computer zu Ihrem Amazon-Konto, das Kennwort und der vorliegenden Schach mehr taient vor dem Anschluss zu verbinden. Jetzt muessen wir die neuen Informationen aus Ihrem Amazon-Konto zu bestaetigen. Wenn nicht innerhalb von 48 Stunden abgeschlossen werden, sind wir gezwungen, Ihr Konto auf unbestimmte Zeit auszusetzen, weil es in eine betruegerische Absicht verwendet werden kann. Vielen Dank fuer Ihr Verstaendnis in dieser Weise. Um Ihr Online-Konto zu bestaetigen:
>> Klicken Sie hier <<
Ich bin doch immer wieder erstaunt, dass die Dumme finden, die der vorliegenden Schach mehr taient vor dem Anschluss verbinden. Social Engineering at it's best.

09 Januar 2014

Geht gar nicht

Heute gesehen beim runterladen der neuesten gparted Live Version:
Der eigentliche Download-Link war viel weiter rechts zu finden, das da ist eine Anzeige, die auf eine Seite verlinkt, auf der man genausowenig mitbekommt, dass man da gparted gar nicht runterladen kann.

Ich wollte nur mal sagen: DAS NERVT. WIE SCHEISSE.