Seite auslesen, ändern und ausgeben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
anogayales
User
Beiträge: 456
Registriert: Mittwoch 15. April 2009, 14:11

Vielen Dank für all euren Input:

Da ich momentan nicht allzu viel Zeit habe an diesem kleinen privaten Projekt zu arbeiten, sollt ich euch nicht wundern, falls ich für ein Weilchen nicht melde.

@jerch:
Ja, du hast recht, mit meiner Methode geht der funktionsharmonische Kontext verloren. Damit kann ich aber leben. Auch werde ich, vorerst, darauf verzichten auf exotische Konstruke wie A#### zu verzichten.

Hauptzweck der Software soll sein, den Songtext zu kopieren und in schnell ohne große Probleme transponieren zu können.

Beispiel:
Folgendes Lied lerne ich gerade:
Abm F#
Sitting by the window
E B
Staring out into the night
C#m Abm F#
Waiting up for the light of day yehh
Abm F#
And the sound of silence
E B
The faintly flaring candle light
C#m
Parting has got me
Abm F#
Around to go insane yehh
Das lied beinhaltet viele Barre Griffe, die einfach unschön sind.
Das ganze in mein Programmier kopiert und um einen Halbton
nach oben transponiert ergiebt:
Am G
Sitting by the window
F C
Staring out into the night
Dm Am G
Waiting up for the light of day yehh
Am G
And the sound of silence
F C
The faintly flaring candle light
Dm
Parting has got me
Am G
Around to go insane yehh
Viel besser zu spielen. Wer interesse an dem Code hat, soll
sich bei mir melden. Es funktioniert mitlerweile das Nötigste.
Bassgrundtöne werden momentan nicht berücksichtigt. Werde ich aber einbauen. Das ganze konnte ich ohne Reguläre Ausdrücke umgehen.
An manchen stellen ist der Code aber nicht sehr pythonic. Naja was solls :P
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Für solche Sachen kann ich Dir das Programm Band-in-a-box empfehlen. Das kann das von Haus aus (neben vielen anderen tollen Sachen wie komplette Band emulieren, Solostimmen erzeugen etc.)

Wegen der Enharmonik hätte ich noch eine Idee:
Man könnte die API so stricken, daß man für einen "strict"-Modus, in dem nicht verwechselt werden darf, nicht die Halbtonschritte angibt, sondern das Intervall:

Code: Alles auswählen

# es wird enharmonisch verwechselt, d.h. das script entscheidet selbst
transpose(string, steps=1)
# strict, keine enharmonische Verwechslung
transpose(string, interval="übermaßige Prime")
Im ersten Fall würde A zu Bb, im zweiten zu A#.
Antworten