PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tonerkennungs-sensor



eddy
21.05.2004, 13:16
gibt es sensoren, die töne erkennen können? denk mal, dass es sowas in stimmgeräten oder so gibt, aber köntte mir bitte jemand erläutern, wie die funktionieren? bräuchte sowas für meinen ersten roboter. (noten-umblätter-robo, siehe "eure roboterprojekte")

Matthias
21.05.2004, 13:25
Mann kann das nur mit Programmen für den Rechner machen, weil das ziemlich aufwändig ist, soweit ich weiss(ausser es gibt immer nur einen Ton und du verhästst dich gaaanz ruhig *g*)

nikolaus10
21.05.2004, 13:39
ToneErkennnungssensor ?

Nennt man im allgemeinen Mikrofon =P~
Oder Klatschschalter...
oder DTMF Decoder ....
oder....
oder....

Manf
21.05.2004, 15:19
Das mit dem Mikrofon ist ja zunächst mal ganz gut. Als nächstes stellt sich die Frage, ob der Ton alleine auftritt, dan könnte man die Frequenz messen, oder wohl eher zusammen mir anderen, dann muß man ihn zunächst herausflitern.
Filtert man alle Töne gleichzeitig aus und bestimmt ihren zeitlichen Verlauf, dann macht man das per Fast- Fouriertransformation (FFT).
Es gibt für diese Technik Digitale Signalprozessoren (DSPs) von denen man sicher gehört haben sollte, aber ich glaube nicht das es das ist, was Du jetzt machen willst.
Einen betimmten Ton kann man auch anders herausfiltern, mit einem Bandfilter den man mit Operationsverstärkern realisieren kann.
Erst mal bis hierhin.
Manfred

martin
21.05.2004, 23:16
Hallo eddy,

ich hab hier eine Seite gefunden, wo ein Gitarrenstimmgerät mit AVR gebaut wurde:

http://www.myplace.nu/avr/gtuner/

Die Töne sollten ja bei einem Klavier so ähnlich aussehen, vielleicht funktionierts.

EDIT: Ach ja, jetzt wo ich den Beitrag von Manfred sehe fällt mir ein, es können ja mehrere Töne gleichzitig vorkommen, ja nachdem wie fortgeschritten du Klavier spielst :-)
In diesem Fall wirst du wohl um eine FFT nicht rumkommen (oder viele Bandpässe :-))

@Manfred

geht eigentlich FFT mit AVR? Hat das mal jemand probiert? Wäre interessant!

Servus, Martin

22.05.2004, 00:29
Hi Eddy,
am einfachsten wäre es wohl, wenn Du ein Klavier mit Midi-Ausgang nimmst. Über Midi ist die Melodieerkennung sehr viel einfacher als mit Frequenzanalyse oder so. Ohne Midi wird das höllisch aufwendig.

eddy
22.05.2004, 08:11
hm, hätte schon ein keyboard zu hause rumstehen, das auch midi unterstützt, aber eigentlich wollt ich des auch für normale klaviere, heißt die teile mit saiten und aus holz..... :-)
für den anfang kann ichs ja auch mal mit midi versuchen und schauen, ob es überhaupt geht (umblätter-mechanik, stromversorgung, etc. muss alles sowieso noch geklärt werden.) aber midi wär auch nicht sehr gut für die melodieerkennung, weil man dann total genau spielen müsste. hab mal aus jux und tollerei ein stück mit midi aufgenommen und mir dann die noten angeschaut..... totales chaos.
aber mit dem tönezählen, wie oft ein ton auf einer seite vorkommt,sollte mit midi schon gehen, oder?

FFT? AVR?? Bandfilter?? Kann mit diesen begrifen nicht viel anfangen..... *g* gibts hier im forum irgendeinen beitrag, der diese wörter erklärt?

Matthias
22.05.2004, 08:32
FFT-Algorithmen, sind Algorithmen mit denen man verschiedene Töne voneinander Trennen kann. (wenn du CEG spielst, kriegst du nicht 3 sauber getrennte signale, sondern alle 3 überlagert.)

AVRs sin microcontroller von Atmel. (siehe AVR-Forum)

Bandfilter sind Filter, die alle Frequenzen, bis auf die eines bestimmten Bandes (Frequenzbereichs) herausfiltern.

recycle
22.05.2004, 18:23
aber mit dem tönezählen, wie oft ein ton auf einer seite vorkommt,sollte mit midi schon gehen, oder?

Ich glaube selbst wenn du das technisch in den Griff bekommst, wirst du da später bei der anwendung nicht viel Freude dran haben.
Du müsstest dann ja immer erst auf jeder Seite zählen wie oft ein Ton vorkommt. Wenn dann ein Ton nicht richtig erkannt und mitgezählt wird, oder du einen Ton falsch spielst, scheitert das Ganze.

D.H. es klappt nur wenn du wirklich alles richtig spielst, zum Üben taugt es eigentlich gar nichts.


Da kannst du eigentlich schon fast besser die Zeit vorgeben nach der die Seite umgeblättert werden soll. Wenn du das Stück richtig spielst müsste das ja auch ungefähr hinkommen. Ganz genau wird das sicher auch nicht passen, aber ichn glaube es ist fehlertoleranter als das Zählen eines bestimmten Tones. Wenn die Seite eine Sekunde zu früh oder zu spät umgeblätert wird, ist das ja vielleicht gar nicht so tragisch, weil du die Melodie vermutlich eh ungefähr kennst.

Zum Üben oder Improvisieren taugen aber beide Methoden ziemlich wenig.

eddy
22.05.2004, 21:39
soll ja eigentlich auch nicht zum üben gedacht sein, sondern, z.b. für auftritte, konzerte, etc., oder auch wenn man mal ein stück von anfang bis ende ohne unterbrechung spielen will, aber das stück zum auswendig lernen zu lang ist.
bei einem konzert sollte es dann nicht so viel mühe machen, mal kurz davor die töne zu zählen. und bis dahin sollte das stück auch so gut geübt worden sein, dass man verspieler und fehler vermeiden kann.
das mit dem erkennen kann ich selbst nicht beurteilen, da ich ja noch keine erfahrung darin hab. aber wozu gibts denn experimente?? *g*

werd mich im forum und im i-net noch etwas umsehen und schlau machen, bevor ich dann endgültig die entscheidung zum bau von dem robo treff......

hrrh
22.05.2004, 22:20
zum tonerkennen: taster an die tastzen des klaviers

D34TH
24.05.2004, 19:04
.... Fußschalter.... oder sowas..

währe glaub ich am sichersten!

mfg Flo

hrrh
24.05.2004, 20:24
die gfuesse muessen aber auch die pedale bedienen

D34TH
24.05.2004, 20:59
... jodas ist mir auch 3 min nach dem posten eingefallen... ist es denn immer zu bedinen?? also immer glaub ich net...

und von daher kann man ja einmal kurz und schnell runter oder??

naja mann kann ja auch nen tater in den mund nehmen ;)

aber wenn du dann noch singen willst wirds glaub ich schwierig!

recycle
24.05.2004, 21:33
Wie wärs mit einem Infrarotsendor und 'nem Vibrationssensor am Brillengestell.
Wenn die Seite dann zu Ende ist und du nicht weisst wie es weiter geht, bekommst du bestimmt automatisch nervöse Zuckungen. Der Vibrationssensor nimmt die dann auf und schickt dem Robby über Infrarot das Signal zum weiterblättern ;-)

Oder nimm einen Klatschschalter. Dann bekommt das Publikum die nächste Seite halt nur vorgespielt, wenn sie auch brav aplaudieren ;-)




soll ja eigentlich auch nicht zum üben gedacht sein, sondern, z.b. für auftritte, konzerte, etc.,

Ich weiss nur nicht, ob ich die Nerven hätte, vor einem Konzert oder Auftritt eine selbstgebaute, eventuell sogar noch etwas seltsam aussehende Robotik aufzubauen und dann die ganze Zeit zu beten, dass sie auch funktioniert und mir nicht plötzlich das komplette Notenheft zwischen die Augen katapultiert ;-)
Beim Üben ohne Publikum wäre ich da eigentlich eher zu Experimenten bereit, aber ich bin halt ein Feigling ;-)

Wenn die Geschichte wirklich funktioniert, ärgert es einen doch bestimmt, wenn die Noten nur beim Auftritt automatisch umgeblättert werden. Normalerweise verbringt man doch bestimmt mehr Zeit mit Üben, als mit Auftritten.



bei einem konzert sollte es dann nicht so viel mühe machen, mal kurz davor die töne zu zählen. und bis dahin sollte das stück auch so gut geübt worden sein, dass man verspieler und fehler vermeiden kann.

Ich kenn mich da nicht aus und bin leider auch nicht besonders musikalisch. Ich hätte aber eigentlich gedacht, dass auch gute Klavierspieler hin und wieder mal eine Taste verfehlen.
Wenn das dann dazu führt, dass mitten auf der Seite umgeblättert wird, würde es mir reichlich schwer fallen nicht völlig aus dem Tritt zu kommen.



aber wozu gibts denn experimente?? *g*

Stimmt.
Ärgerlich wird es halt nur, wenn man sich schon irgendwelche teuren Elektronik-Komponenten die man für nichts anderes brauchen kann gekauft hat und dann feststellt, dass das Konzept eigentlich gar nicht klappen kann.

eddy
25.05.2004, 15:49
also ich hab mir jetzt ein ganz anderes konzept ausgedacht, das auch funzen müsste:

man hat einen taster oder lichtschranke oder ähnliches, den/die man dann an eine bestimmte taste des klaviers befestigt. wenn die taste gespielt wirde, wird der taster gedrückt und sendet ein signal (kA, wie das gehen soll) an den robo, der die vorgegeben anzahl zählt.
so bräuchte man keinen bandfilter oder so zeux. *g*

und die apparatur wär auch ganz einfach, weil man ja nur einen ton zählt und somit nur eine lichtschranke, taster braucht. vllt mit saugnapf, aufkleber oder ähnlichem festmachen. hauptsache es geht wieder ab.

Manf
25.05.2004, 16:25
Ich verstehe nicht, daß es so unmittelbar mit der Tonerzeugung am Klavier zusammenhängen muß.
Ich fürchte, man erkennt dann die Seiten ohne den "Umblätterton" daran, daß kurz vor Ende der Seite dieser Ton dann ganz unvermittelt kommt damit doch umgeblättert werden kann, oder wenn mit der Erkennung oder Zählung etwas nicht funktioniert dann spielt man die Note so oft, bis schließlich umgeblättert wird.
Das müßte schon schwer erträglich sein beim Zuhören.
Man sollte doch irgend eine Beträtigungsmöglichkeit haben einen kleinen Taster irgendwo, ein Windrad zum hineinpusten oder etwas, was nicht einen Klavierton erzeugt, denn der stört wohl am meisten.
Manfred

eddy
25.05.2004, 18:07
also eigentlich wärs mir der einfall mit der lichtschranke über dem taster lieber. wenns dann eben 7 seiten sind, bräuchte man eben 7 solche lichtschranken, die genau über der jeweiligen taste befestigt sind. könnte man die signale dann auswerten? dass wenn lichtschr 1 mit der seite 1 fertig ist und diese umgelättert hat, dass dann lichtschr 2 anfängt zu senden?
man gibt am anfang ein, wie viele tastenschläge lichtschr 1 zählen soll. z.b. 5. nach diesen 5 tastenschlägen wird lichtschr 1 ausgeschaltet und lichtschr 2 angeschaltet, die dann wieder eine am anfang festgelegte zahl von tastenanschlägen zählt. d.h. die tonerkennung würde rausfallen, da ja nur der tastenanschlag zählt. würde doch die sache um einiges erleichtern, nicht?

die methode mit dem windrand oder eine andere, bei der man keine körper exkremente braucht, sondern nur pusten, zwinkern, etc muss, könnte man noch zur sicherheit einbauen, falls ein falscher ton mitgezählt wurde.

Gottfreak
25.05.2004, 19:03
Willst du mehrere Lichtschranken benutzen um die jeweils an die Taste zu packen, die die letzte auf jeder Seite ist?
Und ja, die Anschläge zu zählen ist dann trivial (die Umblätter-Automatik ist dann 'ne andere Frage...).

eddy
25.05.2004, 19:48
Willst du mehrere Lichtschranken benutzen um die jeweils an die Taste zu packen, die die letzte auf jeder Seite ist?
Und ja, die Anschläge zu zählen ist dann trivial (die Umblätter-Automatik ist dann 'ne andere Frage...).hm, also wenn ich des so mach, wie gottfreak es beschrieben hat, dann würde es nicht gehen, weil ja auf einer seite ein ton öfters vorkommt. also müsste ich trotzdem die töne zählen. ;-)

Gottfreak
25.05.2004, 19:57
hm, also wenn ich des so mach, wie gottfreak es beschrieben hat, dann würde es nicht gehen, weil ja auf einer seite ein ton öfters vorkommt. also müsste ich trotzdem die töne zählen

Das meinte ich nicht.
Du willst ja offenbar mehr als das Vorkommen EINES Tones zählen(oder was sollen mehrere Lichtschranken?).
Das macht nur Sinn, wenn es verschiedene Töne sind (irgendwie klar). Also müsstest du mehrere Töne zählen wollen. Doch sicher deshalb, weil sich kein einzelner(für alle Seiten geeigneter) Ton findet, nach dessen letztem Auftreten du direkt umblättern kannst, weil noch andere kommen(als Schlussfolgerung daraus, dass du soviele Lichtschranken wie Seiten nimmst.). Zählen musst du sie wohl in jedem Fall.

eddy
25.05.2004, 20:06
die vielen lichtschranken sind da, um das problem der vielen seiten zu lösen. der letzte (oder auch vorletzte) ton der ersten seite muss nicht gleich dem letzten ton der zweiten seite sein.
-> ich brauch für die zweite seite einen anderen letzten ton bzw. eine weitere lichtschranke.

hoffe mal, dass jetzt alle klarheiten beseitigt sind. *g*

Gottfreak
25.05.2004, 20:29
würde doch die sache um einiges erleichtern, nicht?

Eben


hoffe mal, dass jetzt alle klarheiten beseitigt sind

Stimmt, jetzt ist garnix mehr klar. Jedenfalls nicht, wo das Problem liegt.

Ist es jetzt das Zählen der Impulse, das die Schwierigkeit darstellt(Variable erhöhen etc.)? Oder wie man deren Anzahl einstellt(Tastatur, Display etc.)? Hast du dir schon einen Controller für das Projekt ausgesucht?

eddy
25.05.2004, 20:54
das problem ist, dass die letzten töne der jeweiligen seiten immer verschieden sind. (nun ja, es gibt auch ausnahmen). nach manfs auffassung müsste ich dann, damit die zweite seite umgeblättert wird, den ton von der ersten seite noch ein paar mal spielen, was ja dann für den zuhörer nervig ist. deshalb brauch ich mehrere sensoren, für die jeweiligen töne. und am anfang sollte der musiker (in dem fall ich) einstellen können, nach welcher anzahl von z.b. A tasten die erste seite umgeblättert werden soll. bei der zweiten seite soll man einstellen können, dass z.b. nach 3 C tasten die zweite seite umgeblättert wird. die intervalle zwischen den tönen soll variabel sein, so dass es egal ist, wie schnell oder langsam das lied gespielt wird.

sry, aber ich hab leider gar keine erfahrung im bereich roboter.
progammieren sollte da eher das kleinere problem werden.

was bräuchte ich also für das projekt? sollte vllt die 100 euro grenze nicht überschreiten. werkzeug kann ich mir ausleihen.
denk mal, dass lichtschranken eine gute möglichkeit wären, da diese ja kleinste bewegungen wahrnehmen können. wenns eine billigere ungefähr genauso gute möglichkeit gibt, dann raus mit der sprache *g*.
ein motor für den umblätterarm ist auch ganz gut. möglichst klein, denn ich wollte den arm mit motor mit einem saugnapf und einem flexiblen halter unter das notenpult beim klavier hinkleben.
gehäuse kann ich mir selbst aus plexiglas oder alu oder irgendetwas anderem bauen.
ein lcd display wär auch nicht schlecht. doch das würde die sache um einiges erschweren (und verteuern), oder? ein ganz stinknormales, wie es auch in lcd uhren drin is, würde ausreichen. muss ja nur A-H und 1~30 darstellen können, damit der musiker weiß, was er gerade eingestellt hat.

wenn jmd einen günstigen anbieter kennt, dann melde er sich bitte.
schon mal nen herzlichen dank im voraus.

Gottfreak
25.05.2004, 22:05
Du brauchst mit Sicherheit irgendeinen µController. Ein Atmel AVR der billigsten Sorte würde sich da anbieten(zu denen gibt's hier auf der Seite 'ne ganz gute Einführung und 'nen eigenes Forum.).
Lichtschranken sind, glaube ich, schon recht günstig. Bloß könnten die schlecht von oben auf die Tasten "blicken", weil dann deine Finger dazwischen kommen. Also entweder "innen" im Klavier oder vorne (zwischen dir und dem Klavier). Also brauchst du noch ein paar Meter Kabel (Funk fällt wegen deiner Preisvorstellung wohl flach.).
Als Motor würde sich ein Servo aus dem Modellbaubereich(gibt's in extrem klein) anbieten, wenn du 'ne Art Arm bauen willst (so verstehe ich deine Beschreibung. Ist aber sicherlich 'ne ziemlich Bastelei, dass der zuverlässig einzelne Seiten umblättern kann.).
Zum Eingeben der Anzahl der Noten auf den jeweiligen Seiten ist irgendeine Art von Tastatur sicher nötig(es sei denn, du willst den Controller für jedes neue Stück neu programmieren). Mindestens zwei Taster(sind billig und kann man auch selber basteln.).
Als Display dachte ich an eine 7-Segmentanzeige(oder 2 für Zahlen bis 99, kosten ein paar cent) oder eine Reihe einzelner LEDs. A-H muss die eigentlich garnicht anzeigen(obwohl's natürlich schön wäre), da du ohnehin die Lichtschranken nach Bedarf montierst(du gibtst dann nur an "Nach dreimal der ersten Lichtschranke umblättern, 5mal bei der zweiten" etc. Dann muss sich der µC garnicht darum kümmern, welcher Ton das jetzt ist, und du bist frei in der Wahl der Tasten. Dann müssen es auch nicht gleich 12 Lichtschranken sein.).

eddy
26.05.2004, 12:17
ja, die sache mit den tönen und dem lcd display ist mir gestern abend im bett auch noch eingefallen.

wenn ich die lichtschranken so befestige, dass diese ein klein wenig über dem tastenende (=das ende, das dann ins klavier reingeht) befestige und der strahl senkrecht auf die taste trifft, wird dieser dann direkt zurück reflektiert? oder muss ich da noch alufolie oder so etwas drunter legen?
wenn die taste gedrückt wird, würde der strahl ja in eine andere richtung gelenkt werden und so könnte die lichtschranke ein signal ausgeben.

mit tastern würde es auch gehen. die taster hängen wie die lichtschranken über dem tastenende und der tastknopf (oder der drücker) liegt auf der klaviertaste auf. wenn die klaviertaste gepspielt wird, rutscht der tastknopf raus und sendet so ein signal.

"innen" im klavier wär schlecht, weil man die plätze der lichtschranken ja variabel sein müssen.

würde dann das nehmen, was billiger wäre. (ich denk mal die taster).

Excalibur
26.05.2004, 16:13
Hallo,

vielleicht bin ich da etwas blauäugig. Ich habe von Musik keine Ahnung. Aber jedesmal wenn eine neue Note gespielt wird, muss es doch ein Lautstärkemaximum geben das man zählen kann.

Manf
26.05.2004, 18:28
Ich schätze daß es bei Akkorden und Schwebungen zwischen den Tönen eines Akkords beliebig viele Maxima gibt, die auch sehr unterschiedliche Werte haben.
Manfred

eddy
26.05.2004, 18:32
also ich brauch ja jetzt keine tonerkennung mehr, da ichs mit schaltern/tastern/lichtschranken o.ä. löse. wird auch billiger und einfacher.

aber trotzdem danke für die tips, die ich jetzt leider nicht mehr gebrauchen kann.