[linux-l] Suche: Frequenzgenerator/analyzer.

Robert C. Helling r.helling at iu-bremen.de
Do Mär 15 13:39:31 CET 2007


On Thu, 15 Mar 2007, Oliver Bandel wrote:

> On Thu, Mar 15, 2007 at 12:11:55AM +0100, Norm at nSteinbach wrote:
>> Hallo Jan-Benedict,
>>
>> so wie ich das sehe, scheinen PCs oder überhaupt digitale
>> Frequenzgeneratoren für meine Versuche nicht geeignet zu sein,
>
>
> Wenn Du mal sagen würdest,WAS GENAU Dumachen willst,
> was ausserdem die Information der genauigkeit,die Du erreichen
> willst, beinhaltet, dann könnte man dazu vielleicht merh sagen.

Dem kann ich mich nur anschliessen, ich bin inzwischen auch richtig 
neugierig geworden, was genau Du denn vor hast. Vielleicht schreibst Du's 
uns mal kurz, vielleicht ergeben sich dann ja noch andere Loesungen, als 
das, was Dir vorschwebt.

Ausserdem wollte ich nochmal darauf hinweisen, dass es da grundsaetzliche 
Schwierigkeit mit der Genauigkeit von Frequenzmessungen gibt, die von der 
Fourieranalyse herkommt: Nur unendlich lang andauernde Signale haben 
ueberhaupt eine scharfe Frequenz. Ein Ton von einer Sekunde Dauer hat 
automatisch eine intrinsische Frequenzunschaerfe von 1Hz. Dh, bei einem 
solchen Ton macht es ueberhaupt keinen Sinn zu fragen, ob er 440Hz oder 
440.5Hz hat, der Unterschied ist ueberhaupt erst bei laengeren Toenen 
bestimmbar.

Und wo wir schon ueber solches Zeug reden, kann ich ja nochmal erzaehlen, 
was ich schon lange mal machen wollte, aber was bisher an meinen 
Faehigkeiten, was realtime audio Programmierung angeht, gescheitert ist: 
Ich wollte immer mal ein Programm schreiben, das mein Saxophonspiel 
sampled und als Midi-Signal ausgiebt. Und zwar in real time. Idee ist 
dabei, dass dann ein Synthi mitspielen kann bzw dazu noch andere Toene 
(harmonisch passend zB oder jazzrockartig in Quartparallelen oder so) 
mitspielt.

Meine Idee war, dass eine echte Fourieranalyse mit Kanonen auf Spatzen 
schiessen waere und auch die Latenz wahrscheinlich viel zu gross waere. 
Daher hatte ich folgende Idee (vielleicht fuehlt sich ja wer berufen???): 
Ich weiss ja, dass beim Saxophon ueberhaupt nur etwa 2,5 Oktaven an Toenen 
vorkommen, sagen wir mal 35 verschiedene Halbtoene. Und nur die muessen 
erkannt werden und auch immer nur einer zur Zeit. Mein Ansatz war daher, 
einfach numerisch 35 harmonische Oszillatoren zu simulieren in der Art 
(fuer jeden einzelnen Oszillator)

f''(t) = - w^2 f(t) - c f'(t) + sample(t)

(' ist die Zeitableitung) und das halt einfach ueber die Zeit 
aufzusummieren. Dabei ist w halt grade so gewaehlt, dass es der Frequenz 
des entsprechenden Tons entspricht und c (die Daempfung) ist dadurch 
bestimmt, dass der Oszillator nicth zu lange nachschwingt, wenn der Ton 
schon weg ist, aber die Resonanzbreite auch nicht zu gross wird. Und dann 
pruefe ich einfach die Energie des Oszillators

E = f'(t)^2+ w^2 f(t)^2 .

Wenn die einen bestimmten Schwellwert uebersteigt, ist der entsprechende 
Ton "an", sonst aus.

Wuerde ich halt gerne mal ausprobieren, ob das taugt, fehlte mir leider 
bisher immer die Zeit dafuer. Wie gesagt, vielleicht fuehlt sich ja jemand 
dazu berufen.

Viele Gruesse
Robert



-- 
.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oO
Robert C. Helling     School of Engineering and Science
                       International University Bremen
 		      Jacobs University Bremen as of spring 2007
print "Just another   Phone: +49 421-200 3574
     stupid .sig\n";   http://www.atdotde.de


Mehr Informationen über die Mailingliste linux-l