Seite 1 von 6

Ukufon 0.42

Verfasst: 14.05.2008 12:46
von Lebostein
Hi,

eigentlich hatte ich vor, einen kleinen Akkordfinder für die Ukulele zu programmieren. Da es aber schon etliche gibt, ist ein kleines Ukulelen-Abspielprogramm daraus geworden. Hier eine kleine Infoseite dazu:

http://www.lebostein.de/tomysoft/ukufon/

Auf Basis von Textdateien mit Akkorden spielt einem das Programm das Lied auf der Ukulele vor. Dabei können Tempo und Schlagmuster vorgegeben werden. Dazu braucht ihr nur eine Textdatei eines Liedes:

Code: Alles auswählen

Alle meine Entchen

Alle meine Entchen,
schwimmen auf dem See,
schwimmen auf dem See,
Köpfchen in das Wasser,
Schwänzchen in die Höh.
Dort wird hinter dem Titel (getrennt durch #) auf der ersten Zeile das Tempo (Grundschläge pro Minute) und das sich immer wiederholende Schlagmuster angegeben (2 pro Grundschlag: D = runter laut, d = runter leise, U = rauf laut, u = rauf leise, x bzw X = dämpfen, - = ausklingen lassen). Dann die Akkorde in eckigen Klammern einfügen. Vor dem * steht der Akkord, hinter dem * die Länge (Grundschläge). Fertig:

Code: Alles auswählen

Alle meine Entchen # 160 # D-DU-UDU

[C*8] Alle meine Entchen,
[F*4] schwimmen auf dem [C*4] See,
[F*4] schwimmen auf dem [C*4] See,
[G*4] Köpfchen in das [C*4] Wasser,
[G*4] Schwänzchen in die [C*4] Höh. [C*1]
Das Programm hat im Moment niederstes Betastadium. Aber es funktioniert bereits. Falls ihr Fehler findet, Ideen habt oder das Programm vielleicht mit einer Fehlermeldung abbricht, sagt mir Bescheid. Derzeit werden etwa 95% der Akkorde richtig und greifbar berechnet (also genau so, wie sie gängige Grifftabellen zeigen), die restlichen 5% werden zwar theoretisch richtig berechnet, lassen sich aber nicht so recht greifen. Bin derzeit noch dabei, die Routine zur Akkodrdfindung zu optimieren.

Viel Spaß!

PS:
- Das ganze basiert auf einem einzigen Tonsample, das je nach Frequenz hoch und runterskaliert wird...
- in der ukufon.ini könnt ihr weitere Akkorde und Ukulelengrundstimmungen hinzufügen

Bekannte Fehler:
- in der aktuellen Version bitte ERST Lied laden, dann Play drücken, kleiner Fehler ups
- Textfeld mit dem Liedtext wird nicht mitgescrollt

Verfasst: 14.05.2008 13:09
von DarkDragon
:lol: Ich hab keine Ahnung von Musik, aber das ist echt geil. :lol: :mrgreen:

Verfasst: 14.05.2008 13:33
von bobobo
:allright: das gefällt

(abgesehen davon dass ich lieber die reale ukule quäle)

Verfasst: 14.05.2008 13:38
von Lebostein
bobobo hat geschrieben:(abgesehen davon dass ich lieber die reale ukule quäle)
Das will ich wohl meinen. Klingt schon ein bisschen maschinell der Sound, aber ich wollte es nicht übertreiben...

Verfasst: 14.05.2008 14:51
von Rings
sehr schön , TOP !

Verfasst: 14.05.2008 16:12
von gnasen
hehe, hab sogar ne Ukulele neben mir liegen, muss das mal genauer prüfen ;)

Erster Fehler: Wenn ich Stop drücke, stopt das Programm auch. Allerdings rabiat per absturz...

Verfasst: 14.05.2008 18:57
von bobobo
supergut ist es, das der vorgebene Rythmus (das Dudu-uDu-Ding)
vollkommen eigenständig und losgelöst zum eigentlichen Taktmuster
läuft. :allright: :allright: :allright:

Verfasst: 14.05.2008 19:08
von ts-soft
:allright:
Echt mal eine geniale Idee

Verfasst: 14.05.2008 19:09
von Lebostein
bobobo hat geschrieben:supergut ist es, das der vorgebene Rythmus (das Dudu-uDu-Ding)
vollkommen eigenständig und losgelöst zum eigentlichen Taktmuster
läuft. :allright: :allright: :allright:
...es sollte auch so einfach wie möglich zu "konfigurieren" sein. Ein Taktmuster, das ständig wiederholt wird, ist in dem Sinne die einfachste Lösung. Der Nutzer kann damit selber festlegen, ob sein Lied im 3/4 oder 4/4-Takt gespielt wird. Nachteil ist natürlich, dass man an interessanten Liedstellen keine Variationen einbauen kann. Der Rythmus wird halt immer und immer wieder runtergeleiert...

...wer natürlich will, kann hier auch nen 500-Zeichen-String oder mehr für das ganze Lied reinschreiben, so dass das Taktmuster halt nur einmal durchlaufen wird.

PS: Für das Abspielen im Hintergrund nutze ich einen Thread. Leider hab ich Null Erfahrung damit (sowas wie KillThread hab ich nicht drin, prüfe auch ständig mit IsThread den Status). Ich gehe davon aus, dass alle Absturzprobleme, die gelegentlich und zufällig auftauchen, damit zusammenhängen. Darf man eigentlich in Threads externe Library-Funktionen wie fmod aufrufen?

Verfasst: 14.05.2008 19:32
von gnasen
warum lässt du denn keinen Takt-Wechsel (wenn das so beim Dududu heisst) zu? Sobald man ihn in der Textdatei neu angibt, wird dieser weiter verwendet.