Seite 4 von 12

Verfasst: Mi Jul 27, 2005 10:40 pm
von florianklachl
Wert +/-100 entspricht maximaler Lautstärke, Wert 0 der Ruheposition der Lautsprechermembran (ohne elektrostatische Aufladung).

Zusätzlich zu den Grundrechnungsarten unterstützte Funktionen:
  • sin(t)
  • cos(t)
  • tan(t) (-wahrscheinlich die unwichtigste Funktion für dieses Programm)
  • abs(t) - Absolutbetrag
  • -- - Vorzeichenwechsel (2 Bindestriche hintereinander)
  • sqrt(t) - Wurzel
  • exp(t) - Exponentialfunktion
  • ln(t) - nat. Logarithmus
  • pi - liefert die Kreiskonstante
  • rand - liefert eine Zufallszahl zwischen 0 und 1 (für Rauschsimulationen)
  • sign - Signumfunktion (nützlich für Zeitabschnittsfunktionen)

Verfasst: Mi Jul 27, 2005 10:41 pm
von florianklachl
44.1 kHz wird eh auch unterstützt!

Verfasst: Mi Jul 27, 2005 10:43 pm
von florianklachl
nachfolgend ein paar nette Beispielfunktionen:

Formel0:
100*sin(440*2*Pi*t)*exp(-0.8*t) - exponentiell abklingende Schwingung
Formel1:
80*sin(440*2*Pi*t*sin(6*t)) - irgendwas
Formel2:
60*sin(880*2*Pi*t+159*sin(3.5*t)) - Sirene
Formel3:
links:sign(4-t)*80*sin(440*2*Pi*t)
rechts:80*sin(440*2*Pi*t) - 4 Sekunden mit gleicher, 4 Sekunden mit verkehrter Phase
Formel4:
links:80*sin(440*2*Pi*t) - Stereoschwebung, geringer Frequenzunterschied
rechts:80*sin(440.5*2*Pi*t)
Formel5:
links:80*sin(440*2*Pi*t) - Stereoschwebung, mittlerer Frequenzunterschied
rechts:80*sin(441.6*2*Pi*t)
Formel6:
40*sin(440*2*Pi*t)+40*sin(441.6*2*Pi*t) - Monoschwebung, mittlerer Frequenzunterschied
Formel7:
links:80*sin(440*2*Pi*t) - Stereoschwebung, großer Frequenzunterschied
rechts:80*sin(445*2*Pi*t)
Formel8:
links:80*sin(440*2*Pi*t) - 2 Töne, einen halben Halbton auseinander
rechts:80*sin(455*2*Pi*t)
Formel9:
60*sin((rand+440*2*Pi)*t)+5*rand - langsam zunehmendes Rauschen
Formel10:
links: (sign(t)-sign(3-t))*40*cos(550*2*Pi*t)+(sign(t-3)-sign(6-t))*40*cos(554.37*2*Pi*t)
rechts:80*cos(440*2*Pi*t) - 3 Sekunden reine Terz und 3 Sekunden wohlharmonisch Terz, ohne Obertöne
Formel11:
links:
(sign(t)-sign(3-t))*(20*cos(3455.75*t)+10*cos(6911.5*t)+5*cos(13823*t)+2.5*cos(27646*t))+(sign(t-3)-sign(6-t))*(20*cos(3483.18*t)+10*cos(6966.4*t)+5*cos(13932.7*t)+2.5*cos(27865.4*t))
rechts:
40*cos(2764.6*t)+20*cos(5529.2*t)+10*cos(11058.4*t)+5*cos(22116.8*t)



Ad Formel0: Lösungsfunktion eines gedämpften harmonischen Oszillators (gedämpfte Schwingung)

Ad Formel1: Spielerei, klingt aber ganz nett. Hier kommt der Effekt zum Tragen, dass Frequenzen oberhalb der halben Abtastrate aufgrund der Diskretisierung wieder zu niedrigen Frequenzen werden.

Ad Formel2: Polizeisirene oder so.

Verfasst: Mi Jul 27, 2005 10:47 pm
von florianklachl
ja der reine Sinuston klingt ziemlich mies!

Anm. zu Formel3: am besten merkt man die phasenbedingte Auslöschung, wenn Hörer- und Lautsprecher-Positionen die Eckpunkte eines gleichseitigen Dreiecks bilden, und sich in mittlerem Abstand der Lautsprecher eine reflektierende Wand befindet. Man hat dann den Eindruck, die Schallquelle wäre weiter weg, da man nur die Reflexionen, aber nicht mehr die direkt ausgesendeten Schallwellen hört.


.

Verfasst: Mi Jul 27, 2005 10:51 pm
von florianklachl
Anm. zu Formel6:Vergleich einer Schwebung, die durch verschiedene Frequenzen auf beiden Lautsprechern zustandekommt, mit einer Schwebung, die mathematisch berechnet worden ist. Den Unterschied hört man glaub ich am besten mit Kopfhörern

Formel 4,5,7,8 zeigen schön den Übergang von scheinbarem Lautstärkewechsel über die typischen Schwebungserscheinungen hin zu bereits separierbaren, stark dissonanten, nahe beieinander liegenden Tönen, je größer der Frequenzunterschied wird.


.

Verfasst: Mi Jul 27, 2005 10:57 pm
von florianklachl
Ad Formel 9: proportional zur Zeit zunehmende zufällige Abweichung von der Normalfrequenz + Grundrauschen

Ad Formel10&11: Formel10 zeigt den Unterschied zwischen einer reinen großen Terz und einer wohltemperierten großen Terz. Dieser ist relativ gering. Wenn man aber, wie in Formel11, die Obertöne dazunimmt (in diesem Bsp. 1.,2. u. 3. Oberton), wird die Dissonanz in der Terz nach der wohltemperierten Stimmung deutlicher.


.

Verfasst: Mi Jul 27, 2005 11:07 pm
von Grent
florianklachl hat geschrieben:44.1 kHz wird eh auch unterstützt!
Das ist mir schon klar, bloß der Schieberegler bringts mangels Auflösung nicht hin. Das meinte ich.

florianklachl hat geschrieben:ja der reine Sinuston klingt ziemlich mies!
Also ich find, es ist ein perfekter Sinuston. ;)

Aber ich muss zugeben, ich hab die Formel nicht kapiert, und daher nicht gecheckt, dass dies eigentlich tatsächlich bereits ein einfaches Musikinstrument ist. So einfach im Klang, so komplex in der Handhabe ... :D

Trotzdem: Hut ab !

:bier:


Aber echt: Mit deinem Verständnis für Formeln ist der Weg hin zu einem Software-Synthesizer sicher nicht mehr so lang !

Verfasst: Mi Jul 27, 2005 11:34 pm
von florianklachl
vielen dank! wenn du irgendwelche ideen hast, bau ich sie gern noch ins programm ein, sofern sie halt nicht zu kompliziert zu programmieren sind!

ein problem ist sicher, dass die formel extrem unhandlich wird und die berechnung lang dauert, sobald man mehrere einzeltöne zusammen spielen will.

je mehr man aber die formulierungsmöglichkeiten der formeln verbessert (zum beispiel wär nicht schlecht wenn man für ein a einfach nur 'a' oder so hinschreiben bräuchte), desto größer und langsamer wird der auswertecode.

interessant wär glaub ich, wenn man statt einer zeitfunktion auch eine frequenzfunktion angeben könnte und sich daraus dann die wave berechnet, nur ist das fürcht ich ziemlich mühsam zu programmieren und ich bin mir nicht sicher, ob der computer das von der rechenzeit dann überhaupt derpackt. der auswertecode ist nämlich überhaupt nicht optimiert (für jede einzelne berechnung wird die formel jedesmal aufs neue ausgewertet).

Verfasst: Do Jul 28, 2005 12:00 am
von Grent
Aso. Dann scheints in Richtung Synthesizer doch eine Sackgasse zu sein in der Form. Das benötigt wahrscheinlich komplett ausgereifte Algorithmen, um in schlankem Rechenaufwand nahe Echtzeit zu funktionieren.

Aber cool ist es allemal.

Verfasst: Do Aug 04, 2005 1:56 pm
von florianklachl
Flurls Wavegenerator:

neue Version 1.1

featuring:
  • frei skalierbare Partialtonspektren (max. mögliches Intensitätsverhältnis 1 : 100.000) für die 3 wesentlichen Zeitabschnitte
  • 3 Spezialeffekte: Grundtonschwebung, Anschlagsklirreffekt, Obertonerhöhung (tritt auf bei stark gespannten Saiten)