# Musiknoten abspielen



## ComFreek (29. Juni 2010)

Hallo an alle,

ich versuche gerade eine Software zu entwickeln (was sonst), die Musiknoten abspielen sollte. Nun meine Frage, wie kann man Noten auf einer bestimmten Frequenz abspielen?
Ich habe an einen Ordner voller Musikdateien gedacht, doch es gibt ziemlich viele Noten.

Ich hoffe jemand kennt sich aus. Ich bedanke mich sehr im Voraus!!


----------



## chmee (29. Juni 2010)

Was meinst Du mit Musiknoten abspielen?
Notenblatt vor die Webcam halten?
Notenblatt als PDF?

Notenlesen ist reine Mathematik, soviele gibt es nun wirklich nicht.

mfg chmee


----------



## ComFreek (29. Juni 2010)

Erstmal Danke für die schnelle Antwort.

Ich habe mich vielleicht nicht so klar ausgedrückt.
So etwas wie aus dem Musikunterricht (=>Wikipedia). Also man kann eine Note angeben und das Programm spielt sie ab.


----------



## timestamp (29. Juni 2010)

Vielleicht hilft dir ja dieser Link weiter?


----------



## ComFreek (29. Juni 2010)

Ja, danke sehr.
Aber das Programm soll möglichst plattformübergreifend sein.

*Edit: Habe vergessen, anzugeben, dass es in C++ sein soll*


----------



## chmee (29. Juni 2010)

Naja nun, dann schaust Du Dir die wohltemperierte Stimmung an, hast damit erstmal die Frequenzen. Dann suchst Du mal nach ner Sinuserzeugung in c++ und die Sache ist fast fertig, oder? Die Sache mit den Geschwindigkeiten, nun, sowas ist in Nullkommanichts verstanden.

Links:
http://de.wikipedia.org/wiki/Werckmeister-Stimmung
http://de.wikipedia.org/wiki/Note_(Musik)
http://www.wer-weiss-was.de/theme158/article1558729.html

mfg chmee


----------



## Marschal (29. Juni 2010)

@chmee: Nun für ein reines Klimperboard reicht deine Idee, wenn du aber eine richtiges, ich sage mal vorsichtig Instrument, programmieren willst, kommst du damit und ein paar Sinusfunktionen nicht weiter. Worin liegt der Unterschied zwischen einem no-name Keyboard für 100€ und einem Yamaha für 10000€ leigt? Abgesehen von der Verarbeitung liegt der Unterschied in der Software des Keyboards. Einfache Sinuskurven reichen nicht aus. Es erfordert eine menge mehr Mathematik und algebrarischer Formeln, um Klänge und töne realistisch nachzuahmen.

Aber wie gesagt, für eine spielerei sollte deine Idee reichen


----------



## sight011 (30. Juni 2010)

Dat' weiß der Chmee garantiert auch - aber da frag ich mich doch glatt ob die Obertonstrukturen sich verändern oder woran es liegen mag, das Töne unterschiedlich klingen beispielsweise in Bezug auf die "Anschlagsdynamic" --> rein mathematisch gesehen 

Wuuh - da kommt man doch glatt mal ins grübeln.

Ich denke das Problem das Du hier gerade wegen den verschiedenen Keyboards mit verschiedenen Preisklassen, sowie verschiedenen Qualitätsmermalen beschreibst, liegt vorallem an den unterschiedlichen Synthese Verfahren (mal abgesehen von der Hardware )

MfG s.


----------



## Marschal (30. Juni 2010)

Nun wenn man sich ein Gitarre betrachtet, so schwingt die Seite sinusförmig - denkt man Wenn du die etwas fester anschlägst, so verändert sich die Schwingungswelle - nicht mehr Sinus förmig.

Hier  (wikipedia.org) ist das recht gut erklärt, wie verschiede Klänge bei verschiedenen Tönen, Naschlägen und und und entstehen.

EDIT: 
weitere Referenzen:
Klick 1
Klick 2

Hier sieht man gut bei einem Ton den Unterschiedlichen Klang, anhandvon enterschiedlichen Schwingungsarten: 
Klick 3


----------



## chmee (30. Juni 2010)

Marshal, Danke für die Infos, keine Sorge. Nur, weil ich im Audiobereich nicht mehr rumturne.. usw.. Nur die Frage als Solche betrifft ja unseren TO. Und soll/will er ein Syntheseverfahren auch gleich coden? Er könnte es sich auch einfach machen und -anstatt den Puffer mit selbsterrechneten Sinustönen zu füllen- Waves seiner Wahl laden..

@ComFreek: In der Regel reichen 76 bzw. 88 Sounds, das ist der Tastenumfang eines klassischen Tasteninstruments. Wie Marshal es aber auch sagte, Lebendigkeit erzeugt man mit mahr als nur "statischem" Abspielen der Sounds. ADSR-Kurven und Obertonbegrenzungen(Filter), die abhängig sind zB von der Anschlagstärke oder Lautstärke.

@sighto: Stell Dir vor, Du hast auch auf den Tiefpass-Filtern, die die Obertöne ausblenden, noch eine ADSR-Kurve. etc und so weiter. Die subtraktive Synthese ist der perfekte Einsteig.

mfg chmee


----------



## ComFreek (30. Juni 2010)

Vielen Dank für die Antworten und für die Links. Werde mich mal damit beschäftigen, falls ich noch eine Frage habe, kann ich ja nochmal hier reinschreiben!


----------



## sight011 (30. Juni 2010)

Sitz gerade auf der Arbeit - kann das gerade nicht lesen - 



> @Schwingungswelle



Sprich daraus werden Rechteckwellen oder Sägezähne?


----------



## chmee (30. Juni 2010)

Abhängig von den Obertönen ergibt sich in der Summe eine andere Wellenform, das kann Rechteck werden, Sägezahn und so weiter und so fort. Andersrum kann man sagen, jede Wellenform (im Hinblick auf ihren zeitlichen Verlauf) lässt sich in ihre Anteile an Sinusfrequenzen zerlegen. (FFT)

Hier eine typische Erklärung für zB Generatoren(VCO) und Filter(VCF) - http://www.musik-service.de/synthesizer-VCO-Filter-VCA-VCF-mkb26de.aspx

mfg chmee


----------



## sight011 (30. Juni 2010)

Das man ein Klavier von einer Gitarre unterscheiden kann liegt ja auch an den Obertönen!

Das Fast-Fourier-Theorem kenn ich 


Sau interessantes Thema


----------



## chmee (30. Juni 2010)

*Aber wir schweifen ab*  ComFreek, wie schon gesagt, kümmer Dich darum, die Noten zweifelsfrei in einem Datensystem abzubilden (dazu könnte Dir das Mid-Format behilflich sein, weil so einfach), danach die Darstellung als Noten, zu guter Letzt die Übergabe an das Soundmodul (ob nun Sinus, Synth oder Sample ist erstmal egal).

mfg chmee


----------



## ComFreek (30. Juni 2010)

@chmee: Genau, ich bin erstmal froh, wenn ich überhaupt eine Note abgespielt bekomme, egal welches Instrument 

*EDIT: Wisst ihr zufällig eine Bibliothek für MIDI, bei Google habe ich GN Midi Parser gefunden, hat jemand Erfahrungen?*


----------



## sight011 (30. Juni 2010)

Sorry 

Darf man fragen, um was für ein instrument es sich hier handelt das programmiert werden soll? - oder einfach nen synth?


----------



## Marschal (30. Juni 2010)

@chmee: War auch nicht vorwerfend, eher ergänzend Ich bin selbstverständlich davon ausgegangen, dass du die Informationen aus übersichts Gründen vorenthalten hast. Aber danke für deinen Link, ist sehr aufschlussreich. Hat mir auch einige Fragen, die ich bezüglich Synts hatte erklärt Ich bin ja eher der konventionelle Musiker (Gitarre)

Damit es nicht nur Offtopic ist: 
Es gibt ein sehr interessantes *Modulation Programm*. Heist *SunVox *(so ziemlich alle Platformen, sogar Palm und iPhone).
Ist kostenlos und auf Englisch. Reinschauen lohnt sich. 
Mehr Infos dazu hier: http://www.warmplace.ru/soft/sunvox/index.php
Ich bin selbst nicht der Profi im Umgang mit diesem Tool, aber es macht auf jeden Fall eine Menge Spas, und wer auf Bennybenassi oder einfach Electro - und House - Beats, etc, steht, ist damit gut bedient


----------



## ComFreek (30. Juni 2010)

@sight011: Ja klar, ist kein Geheimprojekt! Also ich will/versuche ein Programm zu machen, mit welchem man Lieder komponieren kann (eher nichts komplexes). Erstmal ist es mir egal um welches Instrument es gehen soll.

@Marschal: Bitte streitet euch nicht  Habe mal beim Programm reingeschaut. Irgendwie sehe ich da keine Notenlinien mit Noten


----------



## chmee (30. Juni 2010)

@ComFreek: Hier? Streit? Ich weiß nicht, wann es sowas das letzte Mal gab (außer den Diskussionen im Showroom).

mfg chmee


----------



## ComFreek (30. Juni 2010)

@chmee: Wie auch immer, egal.


----------



## Marschal (30. Juni 2010)

Das Programm für welches ich hier geworben hatte, hat auch keine Notenlinien
Wenn du was mit Notenlinien und "echtem" Klang suchst, empfehle ich GuitarPro 5 (kostenpflichtig).

@chmee & ComFreak: Wir streiten uns doch garnicht Streit sieht anders aus


----------



## ComFreek (1. Juli 2010)

@Marschal: Meinen Namen schreibt man mit doppelt e (sozusagen ein Eigenname )

Zum einen will ich mehr in die Software-Entwicklung einsteigen und zum Anderen will ich ein *konstenloses* Programm entwickeln.


----------



## chmee (1. Juli 2010)

Hmpf. Wir sind hier im c/c++-Bereich, es geht ums Coden, nicht um gesuchte Software..

@ComFreek: Du hast Dir was vorgenommen, schön, aber ich habe das Gefühl, Du müsstest in C/C++ doch einigen Aufwand treiben. Die Welt hat doch so schöne Interfaces wie DirectX/VST gebaut, um externe Sound-Plugins zu benutzen. Kümmer Dich erstmal um die Ausgabe von Noten, welche Du aus einem Datensatz erstellst. Im Moment seh ich da genug Arbeit, lange bevor es zur Soundausgabe kommt.

mfg chmee


----------



## ComFreek (1. Juli 2010)

An dieser Stelle möchte ich mich nochmal für alle Antworten bedanken.
Aber bitte schreibt jetzt keine Namen für andere Software. *Ich* habe mir vorgenommen, mir das selber zu programmieren (vllt. nicht ganz so gut, aber egal)

@chmee: Ja, viel Arbeit.

Jetzt baue ich erstmal ein Grundgerüst (übrigens benutze ich wxWidgets, was die Sache ein wenig vereinfacht) und dann die "Note-Speicherung" und *dann* kann ich mich ja hier wieder melden.


----------

