Hallo, ich möchte mein Klavier elektronisch nachbilden und suche Tipps und Tricks dies zu tun. Ich habe jeden einzelnen Ton des Klaviers jetzt aufgenommen. Jetzt suche ich eine Hardware, um diese (erst einmal rohen und unbearbeiteten) Samples wiedergeben zu können. Bevorzugt soll das ganze später auf einem eingebetteten System laufen. Die Töne werden über midi angesteuert. - Wie, mit welcher Software kann ich die Samples nachbearbeiten - Wie kann ich auf einem Mikrocontroller auf Seite der Software mehrere Samples simultan abspielen?
randalf schrieb: > - Wie, mit welcher Software kann ich die Samples nachbearbeiten Audacity (beispielsweise) > - Wie kann ich auf einem Mikrocontroller auf Seite der Software mehrere > Samples simultan abspielen? https://hackaday.io/project/8320-the-beatsqueezer-stm32-sampler http://www.hypnotriod.org/beatsqueezer/
:
Bearbeitet durch User
Der Beatssqueezer basiert auf einem STM32F407 - damit, also mit dem DiscoveryBoard habe ich auch schon rumgespielt, allerdings kann ich nur einfache Sinus Töne wiedergeben. Gibt es zum Beatsqueezer den Source Code?
Die Schwierigkeit an einem solchen Unterfangen ist halt, dass das Klavier mit verschiedenen Anschlagstärken aufgenommen werden sollte, alles andere klingt nicht wirklich brauchbar. Um die Anschlagstärke präzise wiederholen zu können, benutzen die Profis einen Roboter. Zusätzlich werden Töne aufgenommen, die von der Mechanik des Instrumentes kommen. Danach erfolgt eine extrem (zeit-)aufwändige Nachbearbeitung der Samples, damit das Instrument wirklich natürlich und ausgewogen klingt. Da kommen dann schnell mal 17GB Sound-Daten zusammen - für einen Mikrocontroller dann doch etwas viel. Wo die Latte hängt kannst du ja mal hier nachgucken: Klavier von Alicia Keys, für 99 EUR zu haben (als Software-Sampler) https://www.native-instruments.com/de/products/komplete/keys/alicias-keys/
:
Bearbeitet durch User
Danke für deine Antwort Joe F. Es ist mir klar, dass mein aktuelles Sytem sche**ße klingt. Es geht mir nicht um die Klangqualität, sondern um die elektronische Umsetzung und die Software Seite. Wie kann ich so etwas elektro-informationstechnisch umsetzten?
Naja, also du brauchst halt ein System mit großem, schnellen Speicher. Angenommen du hast 88 Tasten mit 44.1 KHz/16-bit (CD-Qualität) aufgenommen, und schneidest die Samples bereits nach 5 Sekunden ab, dann kommst du schon auf 88 Tasten x 5 Sekunden x 44100 x 2 Bytes = 37 MB Speicherbedarf für die Samples. Das sollte dann schon RAM sein, du möchtest ja auch mal 10 Tasten gleichzeitig anschlagen können. Das "Abspielen" selbst ist dann nicht so schwierig. Im ersten Schritt müsstest du erstmal den Midi-Datenstrom parsen (welche Taste wurde angeschlagen/losgelassen). Dementsprechend wird dann eben das entsprechende Sample aus dem RAM auf den DAC gespielt. Bei Polyphonie müssen dann u.U. mehrere Samples erstmal in Echtzeit gemischt werden, und das Summensignal geht dann zum DAC.
:
Bearbeitet durch User
Wie bewerkstelle ich das Mischen in der Praxis, wenn ich mehrere Tasten gleichzeitig anschlage, z.B. bei einem Akkord? Wie gesagt: Einzelne Sinus-Töne kann ich bereits abspielen. Wie schaffe ich es nun einen Akkord zu spielen? Es gibt sicher eine Lösung, ohne dafür gleich auf Desktop-PC-Hardware zurückzugreifen ;)
Ich denke, das hier könnte was für dich sein: http://www.samplerbox.org/ Das ganze basiert auf dem Raspberry Pi, der kostengünstig zu haben ist. Deine Samples kannst du vermutlich gleich so verwenden, wie du sie aufgenommen hast.
randalf schrieb: > Wie bewerkstelle ich das Mischen in der Praxis, wenn ich mehrere Tasten > gleichzeitig anschlage, z.B. bei einem Akkord? Die parallel abzuspielenden Samples werden einfach addiert. Erfordert aber "Headroom" (Eingangssamples dürfen nicht voll ausgesteuert sein, damit beim Summieren kein Überlauf passiert). Mir scheint aber, dir fehlen generell die Grundlagen digitaler Audioverarbeitung, so dass ich mir nicht sicher bin, ob du dir da nicht ein bisschen viel vorgenommen hast...
:
Bearbeitet durch User
Du hast recht, mir fehlen die Grundlagen in der Audioverarbeitung. Da ich hobbymusiker bin möchte ich mich hier aber einarbeiten. Jemand Tipps für Literatur/wisenschaftliche Artikel oder auch nur Keywords, nach denen Ich suchen muss. Ich bin fertig mit dem Bachelor in Elektrotechnik. Mit Audio hatte ich im Studium nichts zu tun. Digitale Signalverarbeitung schon, da suche ich jetzt Zusammenhänge. :D
Joe F. schrieb: > Mir scheint aber, dir fehlen generell die Grundlagen digitaler > Audioverarbeitung, Das glaube ich auch. Zwei Samples zusammenmischen ist offenbar schon zuviel. Ich glaube auch nicht, dass es reicht bei einem Akkorde einfach drei Samples abzuspielen und zu mischen.
Mein Tip. Lass die Hardware weg, das gibt's ja alles schon. zB in Form deines Smartphones.
Nur am Rande bemerkt: Mittlerweile kann man Klaviere ausreichend gut synthetisieren, so daß der Sample-Aufwand nicht mehr unbedingt nötig ist. Allerdings ist die dafür nötige Software nicht frei verfügbar, so daß man sie nicht auf einem selbstgestrickten Embedded-System laufen lassen kann, sondern es gibt sie nur für die üblichen Betriebssyteme: https://www.pianoteq.com/ Hier ein willkürliches Klangbeispiel: https://www.pianoteq.com/audio/grotrian/Bach%20-%20Fugue%20in%20F-sharp%20Major,%20WTC%20I%20-%20Yunling%20Zhang.mp3
Wie wird bei Sampler Synthesizern denn jetzt gemischt? Angenommen ich habe 100 einzelne Oszillatoren. Wie bringe ich diese mit geringem Aufwand zusammen?
Ja Summieren, allerdings braucht es dazu eine Vorstellung was wohin summiert werden soll. Praktisch hat man ein 3D-Modell von Amplituden, das in den Raum abgebildet wird. In der vereinfachten Elektronik ein paar Klangkanäle die auf eine Stereobasis müssen. Da gibt es etliche Optionen. Einfaches Zusammenmischen geht Kanal für Kanal für jedes Sample. Wir waren aber eigentlich beim Klavier und dem Mischen von Einzeltönen: Die Sache ist deshalb nicht stimmig, weil es eine Interaktion des Klavierbodens und anderer Resonanzkörper mit den Saiten gibt. Die Erklärung ist etwas kompliziert, aber ich probiere es mal: Schlägt man eine Saite an, dann setzt diese den Rest des Klaviers über deren Aufhängung in Bewegung und die Nachbarsaiten klingen in gewissem Umfang mit. Insbesondere die zweite und dritte angeschlagene Saite eines Akkordes schwingen mit, bzw würden mitschwingen, was sie aber bei Einzeltonaufnahme nicht tun, bzw in anderer Weise tun. Mischt man nun zwei solcher Nachbarseitenschwingungen zusammen, könnte man glauben, das Superpositionsprinzip würde für richtiges Verhalten sorgen. Das ist aber nicht der Fall, weil die Störungen der Rückwirkungen der Mechanik andere sind und zu anderen Modulationen führen. Es hört sich zwar auch nach Klavier an, klingt aber anders. Wesentlich dafür sind neben den nichtlinearen Auswirkungen der Spannungen des Klavierkörpers auf die einseitig durchhängenden Saiten (besonders beim Sostenutospiel) und dem generell nichtlinearen Schwingungsverhalten von Saiten (das ist kein Sinus) auch die Partialschwingungen des Resonanzbodens: Jenachdem wie sich diese Schwingungen dreidimensional lokal addieren, wirken sie mit anderer Phase und Amplitude auf die Saitenaufhängung. Bei Minimalphase am Aufhängungsort wirken z.B. bestimmte Frequenzen gar nicht und bei Maximalphase andere entsprechend mehr. Diese Effekte addieren sich und schieben den Klang nach einer Einschwingphase in eine bestimmte Richtung. Entscheidend ist, dass der gehörte Klavierklang insgesamt betachtet eben überwiegend nicht der Saitenklang, sondern der Bodenklang und der Gesamtkörperklang ist. Bei Gitarren klappt das z.B. wesentlich besser mit der Überlagerung. Die kriegt man durch simple Wellenaddition genauer abgebildet. Pauschal betrachtet kann man aussagen, dass die Summe der sich bildenen Modulationen und Effekte beim händischen Mischen größer ausfallen, was dazu führt, dass das Samplerklavier bei mehr, als 3-4 Tönen "fetter" klingt, als das Echte, wenn man den Akkord aufnehmen würde. Das kann man praktisch durch Aufnahmen zeigen und auch in Simulationen kommt das raus. Deshalb verwendet man heute entweder Nachbildungen von Klavieren durch Körper- und Saitenemulationen oder man sampelt ganze Akkorde mit unterschiedlichen Spieltechniken. Da gibt es einfach zu viele Parameter und zu viele komplizierte Verkettungen von Effekten: Hart angeschlagene Saiten haben mehr Oberwellenanteil, der mehr Energie in das System bringt, welche sich atonal, also mit anderen Frequenzen als der Grundwelle im System abbildet. Ein Hammer, der auf eine ruhige Saite trifft, löst einen anderen HF-Anteil aus, als einer, der auf eine bewegte Saite trifft. Ein anders befilzter Hammer hat weniger Oberwellen und... und.. und... Rufus ?. F. schrieb: > Nur am Rande bemerkt: Mittlerweile kann man Klaviere ausreichend gut > synthetisieren, Nun ja, ... Es bleibt eine Aneinanderreihung von Konservenschnipseln, denen der individuelle Ausdruck fehlt. Das Ganze, was dabei rauskommt ist mehr eine Collage, denn organisches Spiel.
Rufus Τ. F. schrieb: > https://www.pianoteq.com/ Nice! Kommt schon verdammt nah ran. Bei den oberen Tasten der Pianos fehlt mir noch ein wenig die Schärfe bei härteren Anschlägen, das sind aber Details die bei Nicht-Solo-Aufnahmen unhörbar sind. Das Fender Rhodes MK2 ist auch wirklich schön. Testo schrieb: > Wie wird bei Sampler Synthesizern denn jetzt gemischt? > Angenommen ich habe 100 einzelne Oszillatoren. Wie bringe ich diese mit > geringem Aufwand zusammen? Sampler != Klangerzeugung durch Oszillatoren. Mischen = Addition von Samples ist ein recht geringer Aufwand im Vergleich zu anderen Operationen (Filter etc.), die Multiplikationen benötigen. Bego schrieb: > Ich glaube auch nicht, dass es reicht bei einem Akkorde einfach drei > Samples abzuspielen und zu mischen. Eigentlich schon... ;-) Wenn du gleichzeitig drei Saiten auf dem Klavier anschlägst, passiert ja im in erster Linie auch genau dies (mal von den vielen Neben-Effekten abgesehen, die Jürgen S. beschrieben hat und die in der Tat wesentlich zum Hörempfinden beitragen).
:
Bearbeitet durch User
randalf schrieb: > Wie gesagt: Einzelne Sinus-Töne kann ich bereits abspielen. Wie schaffe > ich es nun einen Akkord zu spielen? Probier's aus. Im Augenblick hast du eine Funktion f(t), die deinen Sinuston enthält. Definiere dir drei Sinusfunktionen sin_c(t), sin_e(t) und sin_g(t) für die Töne C, E und G. Zum Zeitpunkt "ich brauch ein neues Sample" rechnest du jetzt nicht mehr y=f(t) (also deinen Sinus) aus, sondern > y = sin_c(t)/3 + sin_e(t)/3 + sin_g(t)/3 Das sollte ein (ziemlich naiv) geschmischter C-Dur-Akkord aus Sinussen sein. Genau so kannst du auch mit abgetasteten Daten vorgehen.
S. R. schrieb: > Im Augenblick hast du eine Funktion f(t), die deinen Sinuston enthält. > Definiere dir drei Sinusfunktionen sin_c(t), sin_e(t) und sin_g(t) für > die Töne C, E und G. > > Zum Zeitpunkt "ich brauch ein neues Sample" rechnest du jetzt nicht mehr > y=f(t) (also deinen Sinus) aus, sondern >> y = sin_c(t)/3 + sin_e(t)/3 + sin_g(t)/3 Und wenn das dann klappt ersetzt du sin_x(t) durch sample_x(t), wobei das x für die jeweilige Note steht. Viel mehr Magie ist da nicht dahinter. Die programmtechnischen Herausforderungen fangen dann aber erst an, denn in der Regel arbeitet man Sample-Block basiert, um z.B. DMA-Möglichkeiten des Prozessors auszunutzen, damit man sich nicht darum kümmern muss jedes Ausgangs-Sample einzeln zum richtigen Zeitpunkt zum DAC zu schieben.
:
Bearbeitet durch User
>y = sin_c(t)/3 + sin_e(t)/3 + sin_g(t)/3
Sagen wir mal so:
y = ( sin(t) + sin(5t/4) + sin_g(3t/2) ) / 3
Bei der Amplitude muss man im allgemeinen Fall mit etwas höherer
Verstärkung als 1/n agieren, um noch auf 0dB zu kommen.
Hm. Also Jürgens Informationen halte ich für wertvoll und wichtig. Ohne Zweifel. Aber für ein Anfängerprojekt, an das man erst einmal keine solch hohen Ansprüche stellte, würde ich einfach mal versuchen, die verschiedenen Samples, die gleichzeitig abgespielt werden sollen, zu summieren und die Summe entsprechend der Anzahl der zu summierenden Samples herunter zu dämpfen. Also etwa die Summe von drei Einzeltönen wieder durch Drei zu teilen. Vermutlich drehen sich da einem Musiker und Instrumentenbauer die Ohren um, aber ich würde das mal versuchen und denke, es hört sich vermutlich gar nicht mal soooo übel an. Für "Alle meine Entchen" sollte es reichen.
Jürgen S. schrieb: > Sagen wir mal so: Dabei musst du aber aufpassen, dass der Klammerausdruck nicht überläuft oder sättigt. Mein Beispiel ist halt das naivste von allen, was immer funktionieren sollte. Für gute Ergebnisse hast du schon viele wichtige und richtige Hinweise gegeben. Ich verfolge die immer mit Interesse, auch wenn sie weitab meiner Fähigkeiten liegen. :-)
Warum klingt Klavier , Flügel, Bass und Schlagzeug so wunderbar ausgezeichnet aber Trompete echt scheiße im Midi ?
Werner S. schrieb: > Warum klingt Klavier , Flügel, Bass und Schlagzeug so wunderbar > ausgezeichnet aber Trompete echt scheiße im Midi ? Weil man Instrumente grob in zwei Kategorien einteilen kann. Systeme mit Impulserregung und Systeme mit kontinuierlicher Erregung. Bei der Impulserregung wird einmalig Energie in das System gegeben, die sich dann beim Ausklingen verliert. Das ist mit Samples recht einfach nachzubilden. Die Klangbeeinflussung findet praktisch nur einmalig zu Beginn eines Tones statt, danach klingt der Ton einfach aus. Instrumente, wie Bläser oder Streicher sind Systeme, die kontinuierlich erregt werden. Also hat man während der gesamten Dauer des Tons Einfluss auf den Klang. Das ist mit einem statischen Sample natürlich nicht flexibel nachzubilden. Hier kann man halt nur unterschiedliche Phrasierungen aufnehmen, oder man geht greift mit Lautstärke- und Filtermodulation ein um den Klang zu beeinflussen; oder geht gar komplexe Wege mit Überblendungen zwischen verschieden phrasierten Aufnahmen.
Theor schrieb: > ...und die Summe entsprechend der Anzahl der zu summierenden Samples > herunter zu dämpfen Damit sind aber der Einzelton und der Akkord gleich laut (=0dBFS), das stimmt mit der Wirklichkeit nicht überein. Außerdem spielst Du ja nicht immer fortissimo.
Martin H. schrieb: > ußerdem spielst Du ja nicht > immer fortissimo. Trotzdem muss man damit rechnen, und der nötige Headroom ergibt sich aus der maximal möglichen Anzahl von gleichzeitig abgespielbaren Samples (=voices). Bei z.B. max. 12 voices kann sich beim Aufsummieren der 12 Sample-Werte im Extremfall der 12-fache Wert eines Einzelsamples ergeben, man braucht also 4 Bit Headroom (16-facher Pegel, reicht also für bis zu 16 voices), damit der Summen-Bus nicht überläuft.
Das ist schon klar, ich bezog mich auf was anderes. Weiter oben klang es so, dass ein Sample unverändert wiedergegeben wird, zwei gleichzeitige Samples werden halbiert, drei werden gedrittelt, ... Wie Du schreibst, darf bei maximal möglicher Samplezahl in voller Lautstärke 0dBFS nicht überschritten werden, es sei denn, Du möchtest sowas wie ein klanglich erwünschtes (weiches) Clipping hinten dran hängen oder das ganze über ein Lautstärkepedal im Zaum halten. Bei additiver Synthese kann es auch bei realen Instrumenten zur Übersteuerung kommen, eine Hammond schreit halt bei 88 8888 888.
Hat jemand Literatur zum Thema Digitale Audiosignalverarbeitung? Im Netz und in der Unibibliothek werde ich nicht fündig. Zweite Frage: Wie muss den das Summensignal addiert werden, sodass kein Überlauf entsteht?
Chrissi schrieb: > Hat jemand Literatur zum Thema Digitale Audiosignalverarbeitung? > Im Netz und in der Unibibliothek werde ich nicht fündig. > Da gibt es aber unzähliges an Leteratur, sowohl allgemeine digitale SV als auch Konkretes zum Audio. Dabei ist vor allem tontechnisches Wissen von Relevanz, wie z.B. bestimmte Frequenzen wirken, wie man Stereo herstellt und behandelt und mit Pegeln umgeht. > Zweite Frage: Wie muss den das Summensignal addiert werden, sodass kein > Überlauf entsteht? Das ist aber jetzt auch schon x-mal geklärt worden. Völlig unkorrellierte Signale addieren zum theoretischen Pegel, der sich aus der mathematischen Summe ergibt. Das gilt für jede Frequenz. Solange man keine Annahmen über die Bandkonstellation machen kann, ist es somit nicht möglich, die maximale Summe zu ermitteln. Praktisch muss man mit seinen Daten und Pfaden dafür sorgen, dass keine Überläufe stattfinden, oder diese angezeigt werden und der Benutzer an zentralen Stellen die Möglichkeit der Pegelstellung hat. Ansonsten kann man das Signal selber messen, bewerten und halbautomatisch Pegeln. -> AGC: automatic gain control
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.