Kleines Programm, stimmt die Theorie?

Leef
Leef
Registrierter Benutzer
Zuletzt hier
15.11.24
Registriert
16.03.07
Beiträge
4.462
Kekse
6.458
https://www.musiker-board.de/vb/software/229306-midi-ukulele-tabs-konverter.html

Ich wollte in dieser Rubrik mal nachfragen, ob der Ansatz so richtig ist...

Ich habe mir diese Tabelle aufgestellt, mit allen Bünden und dann einfach vom Startton ausgehend weitergemacht. Also Ukulele auf europäische Stimmung B F# D A und dann folgendes:

Code:
00 01 02 03 04 05 06 07 08 09 10 11 12
B  C  C# D  D# E  F  F# G  G# A  A# B
F# G  G# A  A# B  C  C# D  D# E  F  F#
D  D# E  F  F# G  G# A  A# B  C  C# D
A  A# B  C  C# D  D# E  F  F# G  G# A

bzw in MIDI Noten:

(71,72,73,74,75,76,77,78,79,80,81,82,83) // B
(66,67,68,69,70,71,72,73,74,75,76,77,78) // F#
(62,63,64,65,66,67,68,69,70,71,72,73,74) // D
(69,70,71,72,73,74,75,76,77,78,79,80,81) // A

Jetzt suche ich einfach nur den passenden Ton aus der Tabelle raus und wenn es mehrere gibt, nehme ich den mit dem niedrigsten Bund. Meine Frage an euch, kann man das so machen oder habe ich einen Denkfehler drin?

Vielen Dank für die Mühe! :redface:
 
Eigenschaft
 
[Ukulelen-Akkordgriff-Berechnungs-Software]
Ich habe mir diese Tabelle aufgestellt, mit allen Bünden und dann einfach vom Startton ausgehend weitergemacht. Also Ukulele auf europäische Stimmung B F# D A und dann folgendes:
bzw in MIDI Noten:
(71,72,73,74,75,76,77,78,79,80,81,82,83) // B
(66,67,68,69,70,71,72,73,74,75,76,77,78) // F#
(62,63,64,65,66,67,68,69,70,71,72,73,74) // D
(69,70,71,72,73,74,75,76,77,78,79,80,81) // A
[/code]
Jetzt suche ich einfach nur den passenden Ton aus der Tabelle raus und wenn es mehrere gibt, nehme ich den mit dem niedrigsten Bund. Meine Frage an euch, kann man das so machen oder habe ich einen Denkfehler drin?

Grundsätzlich ist das sicher richtig so. Allerdings könnte es mit dem Algorithmus "immer den niedrigsten Bund nehmen" bei Akkorden zu faktisch unspielbaren Kombinationen kommen, denn du berücksichtigst dabei nicht die Anatomie der linken Hand und günstige Lagen für schnelles Wechseln. Diese "Nebenbedingungen" sind ja der Grund, warum Saiteninstrumentalisten manchmal gerne in den hohen Bünden spielen (wo sie auch nur Töne spielen, die auch tiefer erreichbar wären).

In welcher Sprache programmierst du? Ich mache MIDI-Programmierung mit Visual C++ 6.0 (jaja, immer noch... ;-) )

Harald
 
Vielen Dank für die Antwort!

Ja, ich habe bisher nur einfache Melodien berücksichtigt, da ich wie gesagt ein Anfänger bin was Musik angeht :(

Ich nutze das gute alte Delphi, klappt bisher ganz gut! Ich wollte mir eigentlich einfach nur ein kleines Tool schreiben, mit dem ich kleinere Melodien die ich auf dem Keyboard spielen kann schnell in diese "Tab Form" für die Ukulele umwandeln kann, weil ich da kaum Noten für gefunden habe...

Mal sehen, was später draus wird, scheinbar gibt es sowas ja noch nicht hier?
 
Also ich find die Idee total gut,
dürfte ich das Programm in der Betaversion mal antesten?

Liebe Grüße,
Amadeus

P.S.: Bin unter PM oder ICQ (Profil zu erreichen), danke! :great:
 
So, ich bastel immer noch daran rum, jetzt kam mir die Idee, daß ich die Noten einfach so eingebe - unabhängig vom Tonumfang der Ukulele. Sie dann aber solange in Halbtonschritten transponiere, bis es paßt. Das Resultat ist irgendeine verrückte Tonart, aber alle Tonintervalle bleiben dabei erhalten.

Ich habe es zZ mit ein paar Weihnachtsliedern probiert und finde das Ergebnis sehr interessant, mit dem Algorithmus land ich oft bei 0'er Tabs das heißt ich muß gar keinen Bund greifen = leicht zu spielen. Ist das von der Musik Theorie her noch vertretbar? Ich meine schon, da ich ja alle Noten transponiere, bis sie im Spielbereich der Ukulele sind.

Trotzdem bleibt noch das Problem der Spielbarkeit, man müßte einfach ein paar Sachen optimieren damit man nicht so sehr zwischen den Saiten wechseln muß bzw laufend die Bünde neu suchen. Habt ihr vielleicht ein paar Ideen dazu?

So und hier meine zwei Weihnachtslieder in Tab-Form für die Ukulele, Ergebnis meines kleinen Programms. Bzw habe ich sie per Hand nochmal etwas formatiert und die Wiederholung eingebaut. Die Bünde kommen aber alle aus meinem Programm.

Code:
Stille Nacht, Heilige Nacht

B |:-----0------:|--5--5--2--3--3---|
F#|:-----------0:|------------------|
D |:------------:|------------------|
A |:--0-----0---:|-----------------0|


B |:--0--0--3--2--0|-----0------:|
F#|:---------------|-----------0:|
D |:---------------|------------:|
A |:---------------|--0-----0---:|

B |--5--5--8--5--2--3--7|
F#|---------------------|
D |---------------------|
A |---------------------|

B |--3------------------|
F#|--------0-----1------|
D |-----------------2--0|
A |-----0-----0---------|

Oh Tannenbaum

B |------------|-----0--0--0|--0-----0--1---------|--3--3--0--5|
F#|-----1--1--1|------------|--------------0-----1|------------|
D |--0---------|------------|---------------------|------------|
A |------------|--0---------|-----0-----------0---|------------|

B |--3--3--1--1|--1--1-----3--1--1--0--0|------------|-----0--0--0|
F#|------------|------------------------|-----1--1--1|------------|
D |------------|------------------------|--0---------|------------|
A |------------|--------0---------------|------------|--0---------|

B |--0-----0--1----------|
F#|-------------0-----1--|
D |----------------------|
A |----0-----------0-----|
 
Hey...
ich selbst spiele keine Ukulele, Gitarre oder so.. bin Schlagzeuger :D
aber das Grundprinzip ist mir vertraut.
Ich gehe das ganze also jetzt aus Programmierersicht an :)
Hier mal mein Ansatz (Das gilt jetzt ab dem 2. Ton, beim solltest du einfach die Seite nehmen, für die der niedrigste Bund gegriffen werden muss):
1. Du findest alle Möglichen heraus, wie du einen bestimmten Ton greifen kannst. (Sollten ja maximal 4 seien, wenn ich mich recht errinere hat eine Ukulele ja nur 4 Seiten.)
2. Jetzt wirds interessant. Grundsätzliche Idee, finde die vom vorherigen Ton am einfachsten zu greifende Art heraus.
Hier kann ich jetzt für nichts garantieren, da ich selber keine große praktische Erfahrung mit Saiteninstrumenten hab^^
a) Du benutzt den mit dem geringsten Bund und Saitenunterschied. Ob jetzt Saitenunterschied oder Bundunterschied schwerer sind, sollen lieber Leute mit Ahnung entscheiden. ;)
b) Du legst nen riesiges Array an und gibst für jede Kombination einen Schwierigkeitsgrad an. Aufgrund des Aufwands scheidet das allerdings aus. Es sei denn jemand aus der Com will helfen und hat Langeweile o_O
c) Jetzt kommen die ganz groß Kanone: Neuronales Netz :p hab damit selber noch wenig Erfahrung, kann also nicht beurteilen inwieweit das performant seien würde, aber diese sind sicherlich zum Lösen solcher Aufgaben gut geeignet.
3. Es geht wieder von vorne los, alten Ton + Griff merken und los gehts :great:

du kannst dich gerne bei mir in ICQ melden wenn du noch Fragen hast und da das sonst evlt zu speziell für den Thread wird ;)
 
Also deine Ideen sind richtig gut, besonders die Frage wie man vom aktuellen zum nächsten Ton am besten kommt finde ich gut als Programmkriterium, das schau ich mir mit Sicherheit mal an!

Ich habe zur Zeit erstmal eine "0 Bund Optimierung eingebaut", daß heißt es wird nicht solange transponiert bis es in den Tonumfang der Ukulele paßt, sondern solange bis die meißten 0er Bünde drin sind. Die Tonart ist dann wieder irgendwas verrücktes, aber! das finde ich genial - es läßt sich super einfach spielen!

Hier mal für Ihr Kinderlein kommet...

Code:
B |--0--0-----0--0|-----0---------|-----0--0-----0|--0-----0------|
F#|--------2------|--2--------0---|--2--------2---|-----2--------0|
D |---------------|---------------|---------------|---------------|
A |---------------|--------0-----0|---------------|-----------0---|

B |---------------|---------------|--------2--2--0|--0--0--5--0---|
F#|-----2--2--0--0|--0-----------2|--2--2---------|--------------2|
D |---------------|---------------|---------------|---------------|
A |--0------------|-----0--0--0---|---------------|---------------|

B |------------|
F#|-----0------|
D |--------1--2|
A |--0---------|
 
Nimm's mir net übel, aber wozu braucht man für solch einfache Melodien Tabs? Die paar Töne hat man sich doch in 0,3 bis 3 Minuten (gern auch per Try & Error) auf dem INstrument schneller zusammengesucht als über diese Riesenumwege..

UNd für schwierigere, komplexere Tonfolgen und Mehrklänge muss ja beim Komponieren/Arrangieren die Spielbarkeit auf dem "Zielinstrument" von vornherein berücksichtigt werden.
 
Das ist natürlich eine berechtigte Frage! Zum einen geht es natürlich um den Lerneffekt der beim Programmieren und der Auseinandersetzung mit der Materie für mich eintritt, zum anderen habe ich für die Ukulele kaum Tabs im Netz gefunden. Für mich als absoluten Anfänger ist das eine prima Möglichkeit einfache Melodien, die ich auf einem Keyboard spielen kann, in Tabs zu wandeln die ich sofort auf der Ukulele spielen kann.

Mir ist bewußt, daß ich dadurch die Auseinandersetzung mit dem Instrument und den Noten/Griffen meide, andererseits bietet ein Programm immer mehr Möglichkeiten als man selbst hat.

Zum Beispiel kann ich meine Ukulele nach Belieben frei stimmen und das Programm würde mir trotzdem die entsprechenden Tabs erzeugen, ich könnte auch Optimierungsprobleme damit lösen z.B. die Frage was ist die Optimale Stimmung für ein bestimmtes Lied damit ich z.B. so wenig wie möglich umgreifen muß, nur in niedrigen Bünden spiele usw.

Es geht also im Moment mehr um die Auseinandersetzung mit der Theorie und der Verknüpfung der technischen Möglichkeiten als um den Mehrwert für einen fortgeschrittenen Musiker.

Für mich persönlich sind die Resultate bisher ein riesen Erfolg, das Ergebnis sind so schön einfache Tabs - da freut sich doch jeder Anfänger, der einfache Melodien zum ersten Experimentieren sucht!

@Eldarion

Ich habe jetzt folgende Wertung für die Folgenote umgesetzt (vom Besten zum Schlechtesten):

Wenn ein Ton an mehreren Stellen greifbar ist dann...

1. es ist ein 0er Bund, wird sofort genommen

2. es ist die selbe Saite wie der vorherige Ton, die Entfernung zwischen den Bünden ist aber z.B. kleiner als 5 und nicht riesig (z.B. vom 1. auf den 10. springen = schlecht)

3. es ist nicht die selbe Saite wie vorher, dann wird einfach der Abstand zwischen den Bünden genommen und bewertet


Damit bekomme ich so viele 0 Bünde wie möglich, ich bleibe auf der selben Saite wenn es im Rahmen liegt und sonst wird versucht die Saite zu nehmen wo der Bund am besten greifbar ist im Vergleich zum vorherigen Ton. Klappt richtig gut, ich wollte eigentlich das Programm mal hochladen aber das Board spinnt irgendwie und nimmt keine Anhänge an :(
 
es freut mich erstmal das dir meine Tipps geholfen haben.
Mich würde allerdings der Source mal interessieren, vllt hast du ja ICQ, dann könntest du mich mal adden. Sonst kannst du dich auch per PM melden. :)
 
So hier mal die neueste Version und die Hauptunit als Source. Viel Spaß! :D
 

Anhänge

  • Uke_12.png
    Uke_12.png
    20,3 KB · Aufrufe: 385
  • UKE20071213.ZIP
    171,5 KB · Aufrufe: 356
  • source.txt
    9,9 KB · Aufrufe: 633
Die Frage, ob's sowas schon gibt, ist zwar etwas älter, aber dennoch der Vollständigkeit halber:

Es gibt von Myriad (http://www.myriad-online.com/) für 20 Euro ein Notensatzprogramm namens Melody Assistant. Das kann unter die Noten auch gleich noch Tabs setzen, u.a. für Ukulele. Was die Ukulele angeht, hat es fünf verschiedene Stimmungen voreingestellt, im Prinzip kann man sich aber Tabs für beliebige Instrumente mit bis zu 16 Saiten erstellen lassen. MIDI-Import kann es auch. Testen geht kostenlos, erhältlich ist es für Windows und Mac.

Ich hoffe, ich verderb dir damit jetzt nicht den Spaß, immerhin hätte ein eigenständiges Programm das keine 20 Euro kostet immer noch einen Vorteil für jemanden, der den Rest nicht braucht.
 
Und noch eine kleine Neuerung, man kann nun wählen ob das Programm versuchen soll die Tabs so zu gestalten, daß man möglichst auf einer Saite bleibt und die Bünde vom hohen zum niedrigen hin gehen. Also z.B. --8--5--3-- was sich recht gut greifen läßt. Da die Option aber manchmal das ganze komplizierter macht ist sie wie alle anderen einzeln zuschaltbar.
 

Anhänge

  • UKE20081003.zip
    174,4 KB · Aufrufe: 338
wow, coole sache das programm
aber wie kann ich diese rawmidi files erzeugen? hab zwar ein paar normale midis, aber die frisst das programm ja nicht
danke schonmal im vorraus
 
Das Programm ist dazu gedacht, daß man eigene Melodien mit einem Keyboard einspielt und diese dann in Tabs umwandelt. Um das ganze zwischenspeichern zu können habe ich das rawmidi Format erfunden.

Das hat nichts mit dem "großen" Midi zu tun und die einzige Möglichkeit welche zu erzeugen besteht darin, Sachen mit einem Keyboard einzuspielen. Man könnte wenn man jetzt ganz gerissen ist natürlich ein Midi File abspielen und die Signale über ein virtuelles Midi Kabel an das Programm weiterleiten. Das könnte klappen. Aber dafür war es nie gedacht :p
 
Ich bin gerade wieder am basteln. Ich habe jetzt einen Mountain Dulcimer bekommen und erzeuge gerade (passend zur Jahreszeit) Weihnachtsliedertabs für die traditionelle Spielweise (nur Melodiesaite, Rest als Drones).

Mir sind auch ein paar Ideen gekommen, wie man Midi Files direkt importieren könnte und ich denke ich werde das Programm dahingehend überarbeiten, daß man seine Saiten / Notenwerte an den Bünden frei eingeben und somit das Programm für viele Instrumente anpassen kann. Weiterhin könnte ich mir vorstellen, daß man auch Tabs einlesen könnte statt Noten. Das erfordert sicherlich einige Fummelei, aber machbar ist das bestimmt!

Besteht hier vielleicht Interesse daran? Was für Features würdet ihr euch wünschen? Schreiben werde ich es vermutlich erst um die Weihnachtsfeiertage, vorher fehlt die Zeit.

Hier schonmal eine Vorschau der Dulcimer Variante, natürlich könnte jetzt jemand kommen und sagen für eine Saite - so ein Quatsch! Aber das Programm optimiert natürlich weiterhin und transponiert die Melodie so, daß sie a) überhaupt spielbar ist und b) möglichst einfach. Interessant wird es erst, wenn ich die anderen Saiten "freischalte" um von der traditionellen Spielweise abzuweichen. Übrigens lassen sich die Dulcimer Tabs oft auch auf den Strumstick übertragen - sollte jemand einen besitzen. Und falls nicht, wird mein Programm das entsprechend können.

(6# ist der 6+ Bund, sonst sind die Tabs nur für die Melodie / D Saite, Stimmung DAD)

Code:
Laßt uns froh und munter sein
|-4---4---4---5---4--|-3---2---2---2---3--|-3---3---4---3---2--|

|-1---1---1---0---1--|-2---3---4---5---4--|-5---4---7---4---4--|

|-5---4---3---2---1--|-4---7---4---4---5--|-4---3---2---1---0--|

Morgen kommt der Weihnachtsmann
|-0---0---4---4---5--|-5---4---3---3---2--|-2---1---0---4---4--|

|-3---3---2---2---1--|-4---4---3---3---2--|-2---1---0---0---4--|

|-4---5---5---4---3--|-3---2---2---1---0--|

Stille Nacht, Heilige Nacht
|-4---5---4---2---4--|-5---4---2---8---8--|-6#--7---7---4---5--|

|-5---7---6#--5---4--|-5---4---2---5---5--|-7---6#--5---4---5--|

|-4---2---8---8---10-|-8---6#--7---9---7--|-4---2---4---3---1--|

|-0--|

Süßer die Glocken nie klingen
|-2---2---2---2---1--|-2---4---1---1---1--|-1---1---0---1---2--|

|-4---4---4---4---2--|-0---7---5---4---5--|-4---4---3---1---0--|

|-1---1---1---2---2--|-2---4---3---1---2--|-1---1---1---2---2--|

|-2---4---3---1---2--|-4---3---2---2---1--|-0---7---5---4---5--|

|-4---4---3---1---0--|    

Alle Jahre wieder
|-4---5---4---3---2--|-1---0---1---2---3--|-2---1---2---4---5--|

|-4---7---6#--5---4--|-3---2---3---4---2--|

Am Weihnachtsbaume die Lichter brennen
|-0---0---2---4---2--|-4---7---5---4---2--|-4---5---4---3---1--|

|-4---4---2---2---2--|-4---3---1---3---3--|-5---4---2---2---2--|

|-4---3---1---4---4--|-2--|
 
Ein kleines Update, das Programm gibts jetzt auch für das Hackbrett oder auch Hammered Dulcimer genannt. Dabei habe ich einfach die Saiten in Bass, Left Treble und Right Treble durchnummeriert und es läßt sich genauso bequem mit Tabs arbeiten.

Also, falls überhaupt noch jemand den Thread liest oder ein Hammered Dulcimer sein eigen nennt, auch dafür können jetzt Tabs erzeugt werden.

Code:
Little Drummer Boy
L |--------------------|--------------------|--------------------|
R |-------------0---0--|-0---0---1---0---1--|-0---------------0--|
B |-2---2---3----------|--------------------|-----2---2---3------|

L |--------------------|--------------------|--------------------|
R |-0---0---0---1---0--|-1---0-------0---1--|-2---2---2---3---2--|
B |--------------------|---------3----------|--------------------|

L |--------------------|--------------------|--------------------|
R |-1---0-------0---0--|-1---2---2---2---3--|-4---3---2---1---3--|
B |---------3----------|--------------------|--------------------|

L |--------------------|--------------------|----|
R |-2---1---0---2---1--|-0------------------|----|
B |--------------------|-----3---3---2---3--|-2--|
 
Es gibt wiedermal ein Update, jetzt lassen sich einzelne Tracks aus Midi Dateien importieren und Presets auswählen.
Mit den Midis gibt es noch ein paar Fehler und die Bedienung läßt sich auch noch freundlicher gestalten, daran arbeite ich aber!

Im Moment gibt's als Presets nur Ukulele, Dulcimer und Hackbrett - ich kann aber jederzeit neue hinzufügen und eventuell später mal einen Editor für eigene Sachen.

Falls es Fragen gibt, einfach eine PN an mich! :great:

Noch ein kleines Update, hatte beim Dulcimer den 6+ Bund unterschlagen.... :rolleyes:
 

Anhänge

  • Bild2.png
    Bild2.png
    27,8 KB · Aufrufe: 734
  • tabs20090322.ZIP
    220,8 KB · Aufrufe: 248
Zuletzt bearbeitet:
Es hat sich nochmal mächtig was getan, die Instrumenten Presets lassen sich nun editieren und somit beliebige eigene Instrumente hinzufügen!
Weiterhin wurden ein paar Fehler behoben und die Einstellungen werden jetzt automatisch gespeichert.

Viel Spaß! :great:

attachment.php
 

Anhänge

  • 20090326.zip
    277,8 KB · Aufrufe: 326
  • version10.png
    version10.png
    22,1 KB · Aufrufe: 1.348

Ähnliche Themen


Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben