Phyton / unvollständiges Programm? / keine Ausführung

Ich fand bei Capella ein Tool welches die Notennamen („c, d, e …“) im Notenblatt einblendet:
https://www.capella-software.com/download/mehr/PlugIns/Notennamen-anzeigen.py

Leider kann ich die Programmiersprache Phyton nicht. Zudem scheint das Programm nicht vollständig zu sein, da das Hauptprogramm nur aus einer abgebrochenen If-Schleife besteht.
Capella versicherte mir, dass sie mit dem Download keine Schwierigkeiten haben. Vielleicht läge es an meinem Browser, dass das Tool nicht komplett heruntergeladen wird.
Der Programmierer ist nicht mehr aktiv.
Ich kann das Programm nicht starten. Wo muss ich die Liedtexte speichern? Im gleichen Verzeichnis?
Wer kann mir helfen, die Notennamen in den Notenblättern einzublenden?

Ich kann kein Python, aber grundsätzlich Programmieren schon, und if ist eine Verzweigung und nienieniemals eine Schleife, auch wenn ich das häufig höre/lese. Abgebrochen sieht da auf dem ersten Blick nichts aus.

Welche Capella-Version hast du?

Hast du versucht, ihn direkt anzuschreiben? Vielleicht kann ich dir aber auch so helfen …

Welches Programm? Das ist ein Plugin für Capella, d. h. es muss in einem bestimmten Verzeichnis gespeichert werden, damit es von Capella gefunden wird. Hier findest du die Angabe des Verzeichnisses, je nach verwendeter Capella-Version:

http://www.peter-becker-cap.de/index.htm

Ich kann mir das nachher auch bei meinem Capella anschauen, ob es klappt.

So, ich habe es bei meinem Capella 8 ausprobiert, es funktioniert. Solltest du die gleiche Capella-Version haben und damit nicht klar kommen, melde dich nochmal, dann kann ich dir Schritt für Schritt (be)schreiben, was du machen musst.

Hallo Christa,
mein Plugin endet mit:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.
.
.
------ Hauptprogramm ------ #
activeScore().registerUndo(„Notennamen anzeigen“)
if dlg.run():
if activeScore():
activeScore().registerUndo(„Notennamen anzeigen“)
tempInput = tempfile.mktemp(’.capx’) # für aktuelle aktive Partitur #
tempOutput = tempfile.mktemp(’.capx’)
activeScore().write(tempInput)
displNoteNames(tempInput, tempOutput) # Notennamen anzeigen
os.remove(tempInput)
os.remove(tempOutput)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Wenn Dein Script länger ist, bitte mir zumailen ([email protected]).
Die Capella-Mitarbeiterin sagte mir, dass das Script auch ohne Capella läuft.
Meines Wissens lebt der Autor nicht mehr. Seine Einträge liegen ja auch Jahre zurück.

Nein, das ist das Ende. Ich kann es auch hier einstellen, aber es ist genau das, was kommt, wenn man deinen Link aufruft.

Mag sein, dass man es aufrufen kann (wie gesagt, Python kenne ich aus eigener Erfahrung nicht), man braucht dann aber eine Python-Programmierumgebung. Aber ich wüsste nicht, was ein Plugin, welches für ein bestimmtes Programm geschrieben wurde, außerhalb dieses Programms bewirken soll. Vielleicht hatte die Dame auch einfach keine Ahnung?

Also, Butter bei die Fische: welche Capella-Version hast du? Sonst drehen wir uns im Kreis …

So sieht es vor Anwendung des Plugins aus:

und so danach:

1 Like

Hallo Christa,
ich bin unmusikalisch und mit Sicherheit kein Musiker. Aber ich arbeite an einer Notenschrift, die es Schreibkräften (= Personen, die blind Maschinenschreiben können) ermöglichen soll, ohne große Übung ihnen bekannte Lieder zu spielen.

Der Trick dabei ist, dass sie statt Notenblätter mit Musiknoten, Notenblätter mit „Buchstabennoten“ erhalten. Es folgt ein Beispiel:

. O Tannenbaum
s g g g h j j j
. O Tan-nen-baum, o Tan-nen-baum,
j h j k F h g
. wie grün sind dei-ne Blät-ter!
l l j ö l l k k
. Du grünst nicht nur zur Som-mers-zeit,
k k h l k k j j
. nein, auch im Win-ter, wenn es schneit.
s g g g h j j j
. O Tan-nen-baum, o Tan-nen-baum,
j h j k F h g
. wie grün sind dei-ne Blät-ter.

Die o. g. Buchstabennoten sind für reale Klaviere (also keine PC-Programme) geschrieben. Der linke Zeigefinger (= bei der PC-Tastatur/Schreibmaschine) ist die Taste f. Er wird beim Klavier auf die Klaviertaste mit der Note f gelegt. Die anderen Finger ergeben sich entsprechend:

Weihnachtslieder mit Buchstabennoten für reale Klaviere habe ich hier erstellt:

Die Schreibkraft „schreibt“ also den Text der Buchstabennoten einfach ab: für „O Tan-nen-baum“ also „s g g g“ (siehe oben).
Es fällt auf, dass keine Angaben über die Notenlänge usw. vorhanden sind. Es können also nur die Lieder „gespielt“ werden, die der Schreibkraft bekannt sind.
Das ist für meine Idee und Hausmusik aber vollkommen ausreichend.


TinyPiano:
… ist ein kleines aber feines Programm, mit dem man unter Windows eines von über 100 Instrumenten wählen und damit Lieder spielen kann.
Das Programm und Lieder finden Sie hier:


Weiterhin gibt es noch unzählige Musikprogramme die viele Zusätze anbieten (mehrstimmig, Echo, Takt, Schlagzeug usw.).
Leider benutzt jeder Hersteller seine eigene Tastenbelegung, so dass hier zur Zeit für jedes Programm eine Konvertierung notwendig ist.
(Doch das ist zur Zeit Zukunftsmusik. Mein erstes Ziel ist die Erstellung der Buchstaben-Notenblätter für TinyPiano.)

Ich schilderte mein Projekt Capella.


Von Capella bekam ich folgende Auskunft:

Wir haben uns Ihr System angesehen. Tatsächlich ist capella prädestiniert dafür, die Umsetzung normaler Noten in Ihr System ( - hat es einen sprechenden Namen? - ) zu automatisieren. Dazu bräuchte es ein kleines Zusatz-Programm.

capella besitzt eine Schnittstelle zur Skriptsprache „Python“. Dank der XML-Struktur der capella-Datei ist es damit möglich, Python-Skripte zu programmieren, die die Datei entsprechend ergänzen. Die Umwandlung folgt ja einer festen Regel, also genau das, was Programme können: Regeln befolgen, Algorithmen ausführen. Wir nennen diese kleinen Zusatz-Programme für capella „Plugins“.

Die Python-Schnittstelle ist offen, d.h. jede/r, die/der des Programmierens einigermaßen kundig ist, kann so ein Skript (=Plugin) schreiben. Man muss dafür nicht einmal Musiker sein.

Mehrere interessierte Anwender haben schon Plugins für capella geschrieben, die z.B. Noten mit Notennamen versehen: https://wiki.sins942.ch/index.php?title=Notennamen_anzeigen

Das ist im Prinzip das gleiche wie das, was für Ihr System gebraucht würde, nur die „Notennamen“ wären andere. Es braucht also:

  1. capella in der größten und leistungsstärksten Version, derzeit capella 8, (nur evtl. capella-scan, s.u.)
  2. die gewünschten Noten als capella-Datei (selbst notiert, gescannt oder aus dem Download-Angebot, s.u.) und
  3. ein Python-Skript, das die Umwandlung besorgt.

Leider können wir die Programmierung des Skripts in unserem Hause nicht anbieten. Wenn Sie Ihr Projekt weiter voran bringen möchten, könnten Sie jetzt eine/n Software-Entwickler/in finden, der/die Python-Skripte programmieren bzw. das vorhandene „Notennamen anzeigen“ ändern kann; weitere Fachkenntnisse sind eigentlich nicht nötig. Manche programmieren solche Skripte nebenbei nach Feierabend oder als Rentner. (Herr Lampe, der „Notennamen anzeigen“ programmiert hat und seine Kontaktdaten im Skript angibt, ist allerdings nicht mehr aktiv.)

capella-scan brauchen Sie zunächst nicht, wenn Sie sich für den Anfang aus dem Vorrat der Lieder bedienen, die es schon als capella-Datei zum freien Download gibt, z. B. hier: http://www.notenseiten.de/LiederIndex.php?cat=0

Wenn Sie sich entscheiden, die Griffschrift nicht nur als Text, sondern als Noten mit Liedtext und Griff-Buchstaben anzuzeigen, kommt capella-reader ins Spiel: Er zeigt die Noten mit der entsprechenden Beschriftung an und kann sie auch vorspielen. Jetzt können die Anwender nicht nur bekanntes spielen, sondern auch neue Lieder lernen! capella reader ist kostenlos.


Fazit: Laut Capella benötige ich nicht komplett capella 8 sondern nur capella-scan.
Selbst capella-scan wird nicht benötigt, wenn ich die vorgeschlagenen Lieder verwende (http://www.notenseiten.de/LiederIndex.php?cat=0)

Dies möchte ich zunächst einmal versuchen. Die Menge der Lieder sind mehr als ausreichend. Es ist mir aber noch nicht gelungen die Lieder umzuschreiben - wie Sie es mit capella 8 schaffen. Mag sein, dass es daran liegt, dass ich Probleme mit der Installation von Phyton unter Linux habe (ich könnte auch XP als Betriebssystem testen), kann aber auch sein, dass ich das Tool nicht als Plugin einbinden kann - weil ich capella 8 nicht habe.

Mit freundlichen Grüßen
Hans-Jürgen Schulz

Hallo Hans-Jürgen,

ich erinnere mich dunkel an diese Buchstaben-Geschichte, hast du nicht hier schon mal im Forum darüber geschrieben? Bin jetzt zu faul zum Suchen.

Aus eigener Erfahrung: das reicht nicht aus. Es muss das 10-Finger-Tastschreiben beherrscht werden. Als ich in den Besitz meines ersten Computers kam, wusste ich nichts davon, und auch viele Jahre danach nicht. Deswegen habe ich mit zwei Fingern angefangen, und irgendwann konnte ich alle 10 benutzen, aber leider ohne System. Irgendwann habe ich mir ein Buch über das 10-Finger-Tastschreiben gekauft und habe versucht, die Übungen zu machen. ES GELANG MIR NICHT und ich habe es aufgegeben. Manchmal muss ich noch auf die Tastatur gucken, um den Ansatzpunkt zu finden, aber ich tippe schon überwiegend blind. Ich könnte aber deine „wirren“ Buchstabenfolgen oben nicht eingeben. Ich kann quasi nur Wörter tippen. :rofl: Klingt komisch, ist aber so!

Das verstehe ich jetzt allerdings nicht.

Ich habe mir mal eine RTF-Datei angeschaut, aber ich möchte kein Programm extra installieren. Ich glaub’s dir einfach mal. :slight_smile:

Das kann ich irgendwie überhaupt nicht nachvollziehen. Ich habe mir sowohl eine .cap-Datei (altes Format) als auch eine .capx-Datei (neues Format) heruntergeladen und in einem Texteditor angeschaut. Das sieht überhaupt nicht aus wie XML, sondern wie eine Mischung aus binärer Datei und Textdatei. XML ist normalerweise eine reine Textdatei.

Na ja, Musikkenntnisse braucht man auch. Ich kann zwar die zwei Bereiche im Python-Text identifizieren, die für die Umsetzung nötig sind, aber zumindest so auf Anhieb habe ich keine Idee, wie man das auf dein System „ummodeln“ sollte.

Einmal ist es das hier:
noteNames = {
0:(‚ceses‘,‚ces‘,‚c‘,‚cis‘,‚cisis‘),
1:(‚deses‘,‚des‘,‚d‘,‚dis‘,‚disis‘),
2:(‚eses‘, ‚es‘, ‚e‘,‚eis‘,‚eisis‘),
3:(‚feses‘,‚fes‘,‚f‘,‚fis‘,‚fisis‘),
4:(‚geses‘,‚ges‘,‚g‘,‚gis‘,‚gisis‘),
5:(‚asas‘, ‚as‘, ‚a‘,‚ais‘,‚aisis‘),
6:(‚heses‘,‚b‘, ‚h‘,‚his‘,‚hisis‘),

            7:('Ceses','Ces','C','Cis','Cisis'),
            8:('Deses','Des','D','Dis','Disis'),
            9:('Eses', 'Es', 'E','Eis','Eisis'),
           10:('Feses','Fes','F','Fis','Fisis'),
           11:('Geses','Ges','G','Gis','Gisis'),
           12:('Asas', 'As', 'A','Ais','Aisis'),
           13:('Heses','B',  'H','His','Hisis'),
            }

und dann das:

if   pitch > 62: pitch = pitch - 63; octave = '5'
elif pitch > 55: pitch = pitch - 56; octave = '4'
elif pitch > 48: pitch = pitch - 49; octave = "'''"
elif pitch > 41: pitch = pitch - 42; octave = '"'
elif pitch > 34: pitch = pitch - 35; octave = "'"
elif pitch > 27: pitch = pitch - 28; octave = ""
elif pitch > 20: pitch = pitch - 14; octave = ""  
elif pitch > 13: pitch = pitch -  7; octave = "1"
elif pitch >  6: pitch = pitch -  0; octave = "2"

Ich kann ein bisschen Klavier spielen, kenne mich aber nicht super gut mit den Noten aus. Eingestrichene und zweigestrichene Noten kenne ich, hier habe ich gelesen, dass es auch dreigestrichene gibt:
http://www.lehrklaenge.de/PHP/Grundlagen/Noten_lesen.php

und das hängt mit der jeweiligen Oktave zusammen, aber wie die einfachen und doppelten Anführungszeichen im zweiten Quelltext kombiniert wurden, verstehe ich schon nicht mehr!

Ich bin mir nicht sicher, weil die Dame ziemlich wirr geschrieben hat. Aber man merkt, sie möchte die ganzen Produkte unters Volk bringen, auch wenn sie die eine oder andere kostenlose Variante erwähnt hat.
Aber ich fürchte, du brauchst auf jeden Fall Capella 8. Denn sie schreibt

aber das ist nur dafür da, um Capella-Dateien zu erzeugen. Aber um das Plugin zu benutzen, brauchst du trotzdem das Capella-Programm. Ich weiß nicht, wie alt die Antwort von Capella ist, aber inzwischen ist Version 9 aktuell, wie ich gerade festgestellt habe.

So sehe ich das.

Mir fehlt leider die Zeit, mich damit zu beschäftigen, und bis zu meinem Rentneralter möchtest du nicht warten. :joy: Aber falls du jemanden findest, der dir das Skript passend umschreibt, aber kein Capella hat, wäre ich bereit, das auf Funktionalität zu testen, und wenn es dann funktioniert, auch nach und nach, wie ich mal Zeit habe, Noten umzuwandeln. Nur fürs Umschreiben habe ich eben keine Zeit, weil das etwas ist, was mehr als 5 Minuten zwischendurch kostet.

Es gibt ein deutschsprachiges Python-Forum, vielleicht findest du dort jemanden? https://www.python-forum.de/

Gruß
Christa

Hallo,

Eine kleine Anmerkung dazu, von jemandem, der mit knapp 50 erst das Notenlesen gelernt hat und einige Spielmannszüge aus Deutschland live erlebte: Musik nach Zahlen oder bunten Tasten klingt stets sehr schräg. Man ist nicht in der Lage, Lautstärke- oder Tempowechsel abzubilden. Auch der korrekte Takt, der bei vielen Stücken eminent ist, lässt sich nicht gut wiedergeben, wenn man nicht das komplette Notenblatt vor sich hat.

Es wird also „schief“ klingen. Ob die zukünftigen Schüler mit diesem halben Ergebnis zufrieden sein werden? Ich wäre es nicht.

Trotzdem viel Erfolg.
Pierre

P.S.: ich hoffe, dass hieraus jetzt keine lange Off-Topic-Diskussion wird.

P.P.S.: da mein Leidensdruck bezüglich Python bisher nicht groß genug war, kann ich zur eigentlichen Frage nichts beitragen.

Kennst du lilypond? Ist sogar frei und capella klar überlegen in der Notensatz-Qualität.
Deine Notenschrift erinnert mich ziemlich daran.

Ist auch nach Eingabe mit einem Befehl in alle 12 Tonhöhen tranponierbar, Tempi änderbar uvm.

https://lilypond.org/text-input.de.html

https://lilypond.org/examples.de.html

Hallo oldy22,
Danke für den Tipp. lilypond kenne ich nicht. Ich habe mal kurz hineingeschnüffelt. Es hat die ähnliche Grundidee wie Klavarskribo.
Beide Notenschriften benötigen eine Einarbeitung und sind noch zu kompliziert. Ich kann nicht erwarten, dass jemand ein lilypond- oder Klavarskribo-Notenblatt in die Hand nimmt und sofort flüssig das Lied spielt.
Man muss ständig „umdenken“:

  • Wo liegt die Taste gis?
  • Wann ist der Vierteltakt zu Ende?
  • Wie kann ich gleichzeitig auf das Notenblatt und auf die Klaviertastatur schauen?

Diese Nachteile haben meine Buchstabennoten nicht. Geben Sie einer Schreibkraft folgende 4 Zeilen in die Hand und bitten Sie sie, die beiden Zeilen, die nicht mit einem Punkt beginnen abzutippen:
b z z z m z x b
. Mit sieb-zehn hat man noch Träu-me,
b x x x z x c b
. da wach-sen noch al-le Bäu-me
Jemand, der wirklich blind Maschinenschreiben kann, wird ohne Verzögerung und ohne Fehler den Text „bzzzmzxb bxxxzxcb“ tippen können.
Mit Hilfe des Programms TinyPiano kann er so am PC musizieren und muss nicht ein Klavier oder anderes Musikinstrument mitschleppen.

Natürlich haben die Buchstabennoten auch Nachteile:

  • Da keine Notenlänge angegeben ist, können nur Musikstücke gespielt werden, die man kennt.
  • Obwohl viele Menschen einen PC oder Laptop haben, müssen sie beim Tippen immer noch auf die Tastatur schauen. Sie können die Buchstabennoten nicht verwenden.

Ja Hans-Jürgen eigentlich ist es auch kein musizieren sondern programmieren (oder konstruieren) einer mathematisch korrekten Musik (abschreiben oder komponieren) ohne eigene Interpretation. Für Musizieren würde ich dir trotzdem ein MIDI Keyboard zB an einem PC empfehlen zum einspielen anstatt zum verwenden der PC Tastatur (auch blinde kommen durch die schwarzen Tasten in 2er und 3er Gruppen damit wunderbar zurecht)…

Ich verwende auch gern deine Lautschrift der Noten, wenn ich schnell eine Melodieidee festhalten (einfrieren) will (zB als Vorspiel zu einem Lied)… weil ich zu faul bin und über Noten oft kein Platz ist für ein schnelles Notensystem zu zeichnen:

c4 d e f g g g g a f c’ a g2 (Fuchs du hast die Ganz gestohlen)
a4 f c’ a g2
g4 f f f f e e e e d e d c e g2

Grüße daniel

Mir scheint, als ginge deine Antwort völlig an seine Bedürfnisse/Wünsche vorbei.

Darum geht es doch gar nicht, sondern um Menschen ohne Notenkenntnisse. Und auch wenn Blinde mit der Klaviatur zurecht kommen, müssen sie ja vorher die Noten auswendig lernen. Aber die gehören gar nicht zu seiner Zielgruppe.

Gruß
Christa

Hallo Christa, leider habe ich erhebliche Schwierigkeiten mit dem einfügen von Texten in wer-weiss-was. Ich habe meine Antwort und die Anlagen hier abgespeichert:


Wenn Du mir über [email protected] Deine Emailadresse sendest, kann ich Dir die Anlagen auch zumailen.

Hallo, Hans-Jürgen,

keine E-Mails bitte, ich bekomme auch so genug, dass ich nicht weiß, wohin damit. Deine Antwort habe ich zwar gelesen und diesen Teil

noteNames = {
            0:('7','u','q','2','w'),
            1:('q','2','w','3','e'),
            2:('w', '3', 'e','r','5'),
            3:('3','e','r','5','t'),
            4:('r','5','t','6','y'),
            5:('t', '6', 'y','7','u'),
            6:('y','7', 'u','q','2'),
            
            7:('j','m','z','s','x'),
            8:('z','s','x','d','c'),
            9:('x', 'd', 'c','v','g'),
           10:('d','c','v','g','b'),
           11:('v','g','b','h','n'),
           12:('b', 'h', 'n','j','m'),
           13:('n','j', 'm','z','s'),
            }

auch eingebaut, aber keine Ahnung, ob das passt, das müsstest du prüfen!

Es sind jedenfalls andere Noten als bei deinem Beispiel-Tannenbaum-Lied, aber das muss nichts heißen:

Na ja, und alle Buchstaben haben hinten Anführungszeichen, wie die eingestrichenen Noten, das hängt sicherlich mit dem zweiten Teil des Skriptes zusammen, den ich nicht verändert habe.

Ohje, das hört sich schlimm an. Da ist irgendetwas verkehrt.
Ich schau mir das nächste Woche an.
Aber erst einmal vielen Dank für Deine Mitarbeit.

Schönes Wochenende
Hans-Jürgen :slight_smile:

Übrigens es gibt sogenannte Trashmailadressen (Papierkorbadressen). Die kannst Du anlegen ohne dass Deine Daten benötigt werden. Sie eignen sich z. B. für Gewinnspiele oder - wie hier - zur Weitergabe.
Ich habe eine Adresse bei trash-mail.com
Als Zusatz habe ich nicht @trash-mail.com sondern @opentrash.com gewählt, damit man nur mit Passwort in das Konto kommt. Genaueres erfährst Du dort über Hilfe :slight_smile:

Hallo oldy22, bezüglich des Festhaltens einer Melodie auf Papier habe ich vielleicht etwas für Dich:
https://www.capella-software.com/de/index.cfm/aktuelles/inside-capella/aktueller-newsletter/

Umfangreiche Notensammlungen für Lilypond konnte ich leider nicht finden.

Für übliche Musiknoten gibt es hier einiges:
https://www.lieder-archiv.de/
https://www.liederkiste.com/

Die sollst du ja auch nicht finden, schließlich gibt es genug Verlage die Noten verkaufen wollen. :slight_smile:
Es gibt sie aber doch - zB hier:
https://www.mutopiaproject.org/
(Die Suche scheint aber grad nicht zu funktionieren…)

Hallo Christa, kannst Du mir bitte ein „Lied“ mit Capella schreiben, in dem alle Noten chronologisch - wie die Tasten eines Klaviers - vorkommen, es mit dem Tool von Herrn Lampe bearbeiten und es mir zukommen lassen?

Hi,

du brauchst aber nicht alle 88 Tasten, oder?? Das Problem ist, beim Klavier gibt’s ja zwei Notenreihen (wegen Violin- und Bassschlüssel), so viele Hilfslinien, dass ich das nur mit Violinschlüssel hinbekomme, kann Capella vermutlich gar nicht.

Also, wieviele/welche Oktaven brauchst du?

Viele Grüße
Christa