In welcher Programmiersprache könnte ich am besten ein Programm schreiben, welches sich sozusagen selber Melodien ausdenkt?

... komplette Frage anzeigen

6 Antworten

Wenn es dir nur um die Programmierung von Melodien geht, dann nimm Python. Diese Sprache kannst du selbst als Anfänger innerhalb von nur einer Woche ausreichend lernen, um dein Vorhaben zu realisieren.

An deiner Stelle würde ich die Melodie in Textform generieren, und zwar im Format eines gängigen Konsolen-Notensatz-Programms wie Lilypond. Suche dazu einfach bei Google nach dem Aufbau des Formats und schreibe dein Python-Skript so, dass es diese einfachen Textdateien generiert.

Im Anschluss kannst du die generierte Melodie über die Kommandozeile aus deinem Skript heraus als PDF zum drucken exportieren, und eine MIDI-Datei erzeugen, um dir die Melodie auch anzuhören.

Ein Skript zum generieren von zufälligen Melodien und dem Konvertieren in PDF und MIDI wird nicht größer als 40 bis 50 Zeilen sein.

Wenn du hingegen Harmonieregeln einbauen willst, gibts nach oben kein Ende. Aber ich schätze mit 150 bis 200 Zeilen kannst du schon etwas Ordentliches machen. :)

Viel Spaß! :)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von procoder42
16.04.2016, 09:26

Wenn du hingegen Harmonieregeln einbauen willst, gibts nach oben kein Ende.

Die gängigen Pentationiken (und Arpeggios) sollten ausreichen, alles weitere macht das Programm unübersichtlich.

Ein Problem das hier noch gar nicht angesprochen wurde :

Taktart und Rhythmik. Soll das Programm immer Melodien im 4/4 Takt erzeugen ? Wäre am Einfachsten, aber würde eben auch einschränken. Und die verschiedenen Notenlängen umzusetzen wird für Anfänger auch kein Spaß (Vor allem wenn noch punktierte Noten dazu kommen). Dazu sollte man am besten jedem Notentyp eine Länge (Ganz = 4; Halb = 2; Viertel = 1; Achtel = 0,5; ...) zuweisen und dann zufällig auswähen, bis die Summe gleich 4 ist.

0

Eigentlich eignet sich jede Sprache gleich gut dafür. Was du aber wahrscheinlich noch nicht wusstest ist das es viele Sprachen gibt die GENAU dafür gemacht worden sind. Einfach mal googlen. Ob es denn wirklich praktisch ist dein Ziel damit umzusetzen weiss ich leider nicht weil ich noch keine Erfahrungen damit gesammelt habe aber wenn ich dir eine Sprache empfehlen müsste wäre diese C# da ich es selber verwende und das damit auch nicht all zu schwer sein dürfte. Viel Glück dir! :)

Antwort bewerten Vielen Dank für Deine Bewertung

Sorry, dass ich nochmal antworte, aber könntest du mir evtl. sagen, ob es bei diesem Wettbewerb ausschließlich um die Entwicklung eines "Melodiengenerators" geht, oder handelt es sich um einen allgemeinen Programmierwettbewerb, für den du dir dieses Projekt ausgedacht hast?

Hat dein Wettbewerb auch eine Website? Keine Angst, ich mach da nicht mit und dir damit keine unnötige Konkurrenz! Ich finde es nur interessant, dass es zu diesem Thema gleich einen ganzen Wettbewerb gibt. Oder habe ich da etwas falsch verstanden?

Wäre schön, wenn du in einem Kommentar nochmal kurz antworten könntest!

Auf jeden Fall viel Erfolg! :)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Zuroll
16.04.2016, 13:27

Jugend Forscht, also geht alles mögliche

1
Kommentar von Zuroll
16.04.2016, 13:32

Ich bin bei der Vorstufe vom Wettbewerb, Schüler experimentieren auf Landesebene gekommen, aber da habe ich etw. mit Technik gemacht. Nich so mein Ding. Hat sich herausgestellt.

1
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von TeeTier
17.04.2016, 01:05

Ich habe mir absichtlich verkniffen, die genannten in meiner Antwort zu erwähnen, da es bei dem Wettbewerb ja sicher darum geht, wirklich etwas eigenes zu entwickeln. Aber im Nachhinein denke ich, da ich sowieso Lilypond erwähnt habe, ist deine Antwort ja auch OK.

Allerdings ist meine Erfahrung mit "Chuck", "Pure Data" und "Super Collider" eher die, dass es sich nicht gut zum automatischen Erstellen von Melodien eignet. Klangsynthese ist eben etwas anderes als eine Komposition. :)

1

Denke C+ wäre ganz gut dafür

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Zuroll
16.04.2016, 10:42

Meinst du C oder C++ ? C+ gibt es nicht

0

Also programmieren musst du da eigentlich nicht. Es gibt Profisoftware, welche eine große Anzahl an Musikinstrumenten inkludiert haben womit man z.B. auch einige Soundtracks von Filmen machen kann - bei einem wirklichen Pro hört man den Unterschied (im Film dann) kaum ob Orchester oder Prodktionsstudio.

Programm fällt mir gerade nur eines von Adobe ein, aber ohne Namen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Berny96
15.04.2016, 22:15

Der Fragesteller will doch ein Programm schreiben was selbst Melodien komponiert. Dafür gibt es keine vorgeschriebene Software.

1

Was möchtest Du wissen?