Hallo Zusammen,
ich habe eine Frage bezüglich eines Projektes welches ich vorhabe.
Ich studiere momentan Elektrotechnik im letzen Drittel des Studiums.
Da ich mich sehr für den Audio-Bereich interessiere und ich gerne mehr
mit meinem STM32 F767ZI machen möchte, habe ich mir "bewusst!" ein
schweres Projekt ausgesucht, wo ich versuche jede Kleinigkeit selbst zu
überdenken und zu verstehen.
Angedacht war es, sich erstmal um die Signalerzeugung zu kümmern
(erstmal natürlich erst einen Sinus, dann Square, Saw usw) sobald das
sitzt (das darf ruhig dauern, hauptsache ich lerne dabei was) geht es um
die Ausgabe dieses Tons. Anschließend Modulation usw. usf. ich habe mir
bewusst dieses Projekt ausgesucht da ich ein Projekt brauche welches
laufend immer neue Sachen ermöglicht.
Ist die Reihenfolge sinnvoll oder habt ihr Vorschläge?
Es ist mir wichtig sich kleine Ziele zu setzen um nicht demotiviert zu
werden.
Es geht mir primär darum, nicht nur den "gesetzlichen" Lehrplan für das
Studium zu erfüllen wie 90% aller Studenten, die nur für Prüfungen
lernen, aber sonst nichts auf die Reihe kriegen, sondern DAS zu tun was
mir spaß macht.
Auch wenn es dauert!
Nun zu meiner Frage, ich habe einen STM32 F767ZI, welcher 2 DAC Ausgänge
besitzt und ei DSPFPU integriert hat.
Ist es mir damit möglich dieses Projekt zu realisieren?
Ich habe mir bereits das "Mastering STM32" Ebook gekauft um eine
begleitende Lektüre zu haben.
Gibt es gute Lektüre für Audiotechnik welche die
Elektrotechnische/Controller seite beschreibt?
Für Antworten wäre ich dankbar!
Gruß
Hallo,
hier gibt es sehr viel Information zum Thema Audio DSP und Synthesizer:
http://www.earlevel.com/main/
Viel Spaß und Erfolg bei deinem Projekt!
:) Ulrich
TK_Circular schrieb:> Nun zu meiner Frage, ich habe einen STM32 F767ZI, welcher 2 DAC Ausgänge> besitzt und ei DSPFPU integriert hat.> Ist es mir damit möglich dieses Projekt zu realisieren?> Ich habe mir bereits das "Mastering STM32" Ebook gekauft um eine> begleitende Lektüre zu haben.>Angedacht war es, sich erstmal um die Signalerzeugung zu kümmern>(erstmal natürlich erst einen Sinus, dann Square, Saw usw)
Du studierst doch Elektrotechnik und nicht Informatik! Dann mach das mit
OPV oder diskret aber nicht per µC-Programmierung. Und simuliere deine
Schaltungen vorher mit Spice und mess nachher mit scope nach.
Da ein paar Anregungen:
http://experimentalistsanonymous.com/diy/Schematics/Full%20Synths%20Drum%20Synths%20and%20Misc%20Synth/
Ulrich B. schrieb:> Hallo,>> hier gibt es sehr viel Information zum Thema Audio DSP und Synthesizer:>> http://www.earlevel.com/main/>> Viel Spaß und Erfolg bei deinem Projekt!>> :) Ulrich
Danke das sieht hilfreich aus!
Alter Schamane schrieb:> Du studierst doch Elektrotechnik und nicht Informatik! Dann mach das mit> OPV oder diskret aber nicht per µC-Programmierung. Und simuliere deine> Schaltungen vorher mit Spice und mess nachher mit scope nach.>> Da ein paar Anregungen:> http://experimentalistsanonymous.com/diy/Schematic...
Du hast vollkommen recht! Anstatt die Signale intern mit dem uC zu
erzeugen kann ich natürlich auch Schaltungen entwickeln die diese
Signale erzeugen!
Da habe ich natürlich mehr von! Vielen dank!
Ich gehe mal davon aus, das das Signal welches ich erzeugen würde, per
uC dann diskretisiert wird, und anschließend lassen sich damit ja
weitere Modulationen anstellen, richtig?
TK_Circular schrieb:> Ich gehe mal davon aus, das das Signal welches ich erzeugen würde, per> uC dann diskretisiert wird, und anschließend lassen sich damit ja> weitere Modulationen anstellen, richtig?
Nicht richtig, man kann auch analog modulieren... schon mal drangedacht
einen Funklizenz zu machen? Da lernt man auch Praxis-relevante
Modulationstechniken und wie man diese auf dem Küchentisch aufbaut statt
nur mit Simulink hypothetisch durchzukauen.. Oder was aus dem
ARRL-handbook nachzubauen ...
Der grosse Vorteil eines ET'lers auf dem Arbeitsmarkt ist, das er auch
die klassischen analogen (Handwerks-) Techniken beherrscht, die ein
Informatik-Student arrogant verachtet, weil seit mehren Jahrzehnten
bekannt.
PS: Irgendwie scheint mir hast du bei "Lernprojekt Von A bis Z" A(nalog)
bis C ausgelassen und frisst dich jetzt bei D(igital) fest, ohne
Aussicht M(esstechnik) und anderen ET-Alleinstellungsmerkmalen überhaupt
zu streifen. Mit dem STM prahlt doch jeder Informatikdödel.
Alter Schamane schrieb:> TK_Circular schrieb:>> Ich gehe mal davon aus, das das Signal welches ich erzeugen würde, per>> uC dann diskretisiert wird, und anschließend lassen sich damit ja>> weitere Modulationen anstellen, richtig?>> Nicht richtig, man kann auch analog modulieren... schon mal drangedacht> einen Funklizenz zu machen? Da lernt man auch Praxis-relevante> Modulationstechniken und wie man diese auf dem Küchentisch aufbaut statt> nur mit Simulink hypothetisch durchzukauen.. Oder was aus dem> ARRL-handbook nachzubauen ...> Der grosse Vorteil eines ET'lers auf dem Arbeitsmarkt ist, das er auch> die klassischen analogen (Handwerks-) Techniken beherrscht, die ein> Informatik-Student arrogant verachtet, weil seit mehren Jahrzehnten> bekannt.>> PS: Irgendwie scheint mir hast du bei "Lernprojekt Von A bis Z" A(nalog)> bis C ausgelassen und frisst dich jetzt bei D(igital) fest, ohne> Aussicht M(esstechnik) und anderen ET-Alleinstellungsmerkmalen überhaupt> zu streifen. Mit dem STM prahlt doch jeder Informatikdödel.
Du hast es auf den Punkt gebracht. Werde mir das zu Herzen nehmen und
bei A(nalog) anfangen und versuchen das Wissen was ich bisher gelernt
habe anzuwenden und alle Teilaspekte der ETechnik mit einzubeziehen.
Freue mich schon drauf!
Das kommt halt drauf an welche Sounds und ob mono- oder polyphonie du
anstrebst. Ich finde den Eigenbau-Reiz bei voll-analogen synths,
meinetwegen mit digitalem Sequencer oder MIDI-Erweiterung am
spannendsten.
Das hängt auch davon ab, ob man eher Kraftwerk oder David Guetta als
Musik betrachtet ;-)
Moin,
TK_Circular schrieb:> Ist die Reihenfolge sinnvoll oder habt ihr Vorschläge?
BasstScho. Nein, keine Vorschlaege. Klingt gut. Mach' so, wie du denkst.
> ... , sondern DAS zu tun was> mir spaß macht.
Guter Ansatz. Von dem wuerd' ich mich auch nicht abbringen lassen.
Wenn du Bock hast, den Klumpatsch in Analogtechnik zu erforschen, mach's
ruhig auch - es ist eine voellig andere Baustelle als digital - aber
notwendig oder sehr hilfreich, um's digitale zu meistern, ist es
keineswegs:
Du musst dich halt mit analogen Unzulaenglichkeiten rumschlagen, die es
digital nicht gibt (ungenaue, temperaturabhaengige Logarithmierer,
Rauschen, gegenseitige Stoerungen, ueberall Toleranzen...). Dafuer
stolperst du nicht dauernd uebers Abtasttheorem.
Gruss
WK
Momentan ist analog wieder "IN". Die Firma Behringer produziert sogar
vergangene Synthesizer, indem sie ASICs nachbaut und kopiert. Auch ganze
Geräte, die nicht mehr unter Patent stehen, werden kopiert.
TK_Circular schrieb:> Ist es mir damit möglich dieses Projekt zu realisieren?
Ganz ehrlich? Wenn Du im letzten Drittel Deines Studiums bist, solltest
Du so langsam in der Lage sein, zu beurteilen, was Du kannst, was Dein
System kann und was die Anforderungen sind.
Ich persönlich bin der Ansicht, dass man mit einem leistungsstarken DSP,
zwei high-speed DACs es mit sehr viel Glück und Geschick durchaus
hinbekommen könnte, einen Sinus, ein Dreieck und ein Rechteck
auszugeben. Das könnte wohl machbar sein.
Ob Du das hinbekommst, hängt wohl eher daran, ob Du mit Compilern
klarkommst, ein Verständnis für deinen DSP entwickelst und die Mathe
zusammenkriegst, wie man einen Sinus erzeugt und Daten auf einen DAC
schickt.
Um Dir etwas Mut zu machen, die Info: Mit einem VC64, selbstgebauten DAC
und etwas Assembler war das vor 30 Jahren möglich. (ohne Studium).
TK_Circular schrieb:> Es geht mir primär darum, nicht nur den "gesetzlichen" Lehrplan für das> Studium zu erfüllen wie 90% aller Studenten, die nur für Prüfungen> lernen, aber sonst nichts auf die Reihe kriegen, sondern DAS zu tun was> mir spaß macht.> Auch wenn es dauert!
Gute Einstellung.
TK_Circular schrieb:> Nun zu meiner Frage, ich habe einen STM32 F767ZI, welcher 2 DAC Ausgänge> besitzt und ei DSPFPU integriert hat.> Ist es mir damit möglich dieses Projekt zu realisieren?
Das würde ich vermuten. Schließlich gibt es mehr als ein Projekt, in dem
sowas mit 'nen XMEGA gemacht wurde.
Z.B.: Beitrag "AVR Synthesizer mit ATxmega128A1"
TK_Circular schrieb:> Ist es mir damit möglich dieses Projekt zu realisieren?
Kommt auf die Ansprüche an.
Niemand entwirft heute noch analoge Synthesizer, ausser als Spielzeug.
Seriöse polyphone Klangerzeugung rechnet viel (Klangraummodellierung)
der DSP kann das aber wenn es komplex wird nicht mehr in Echtzeit, aber
für wave-tables hat er zu wenig Speicher.
So lange man sich also auf einfaches beschränkt, kann man mit dem DSP
basteln. Die Algorithmen sollte man vorher auf dem PC ausprobiert haben
bzw. geklaut haben.
Der Aufbau ist einfach, wenn man MIDI als Interface nutzt, kann man
viele Keyboards und Parameterbänke anschliessen ohne sich mit der
Mechanik auseinandersetzen zu müssen.
Wer wirklich modern und fortschrittlich sein will, will aber über MIDI
hinaus und statt wave-tables lieber physikalische Modelle rechnen, für
den reicht der DSP also nicht.
Analogtechnik ist schweineteuer (siehe Wersi-Orgeln) und aufwändig und
man hat schnell ein Problem mit dem Rauschen.
MaWin schrieb:> Niemand entwirft heute noch analoge Synthesizer, ausser als Spielzeug.
Spielzeug? Sage das mal den Herren Smith und Oberheim. Die haben gerade
auf der letzen NAMM einen gemeinsamen analogen Synth vorgestellt.
TK_Circular schrieb:> Nun zu meiner Frage, ich habe einen STM32 F767ZI, welcher 2 DAC Ausgänge> besitzt und ei DSPFPU integriert hat.> Ist es mir damit möglich dieses Projekt zu realisieren?
Ja, das ist kein Problem.
Ich hab mir einen MIDI-Synthesizer mit einem STM32F407VG-Discovery-Board
gebastelt und der STM32F407 hat ja deutlich weniger Power als Dein
STM32F7.
Es ist letzendlich nur die Frage, wieviele Stimmen Du realisieren
kannst.
Das erzeugen der Signalen mit NCOs (Numeric Controlled Oscillator, siehe
Wikipedia) braucht kaum Rechenleistung. Das Filtern ist (je nach
Anspruch) eher aufwändig.
Ein Tip:
Ich benutze das STM32F407VG-Discovery-Board, weil ein Audio-DAC
(CS43L22) drauf ist. Der eignet sich aber leider nicht, um ein erzeugtes
Signal mit dem Oszi anzuschauen.
Ich schalte daher per Compiler-Schalter zwischen internem DAC und
externem CS43L22 hin und her, jenachdem ob ich das Signal mit dem Oszi
anschauen/kontrollieren oder anhören will.
TK_Circular schrieb:> Gibt es gute Lektüre für Audiotechnik welche die> Elektrotechnische/Controller seite beschreibt?
dspguide.com
Nicht direkt das, was Du suchst, aber sehr hilfreich, wenn es um Filter,
FFT u.ä. geht.
Frank Roggel schrieb:> TK_Circular schrieb:>> Gibt es gute Lektüre für Audiotechnik welche die>> Elektrotechnische/Controller seite beschreibt?>> dspguide.com> Nicht direkt das, was Du suchst, aber sehr hilfreich, wenn es um Filter,> FFT u.ä. geht.
Ob das der richtige Startpunkt ist, weiss ich nicht. Dort braucht man
schon richtig gut Mathe, um die SV zu verstehen. Was einfacheres und
Praktischeres wäre wohl besser für den TE.
TK_Circular schrieb:> Angedacht war es, sich erstmal um die Signalerzeugung zu kümmern> (erstmal natürlich erst einen Sinus, dann Square, Saw usw)
Mit diesen drei Grundwellen ist kaum noch was anzufangen. Braucht kein
Mensch mehr, gibt es in jeder Tröte der 80er und 90er. Was wäre denn mal
mit einer völlig neuen Form der Tonerzeugung? Warum nicht auch einmal
eine mathematische Funktion?
Moin,
Tippgeber schrieb:> Dort braucht man> schon richtig gut Mathe, um die SV zu verstehen. Was einfacheres und> Praktischeres wäre wohl besser für den TE.
WTF? Wenn ein Student im letzten Drittel E-Technik Probleme mit so einem
Buch haben sollte, liegts aber wohl sicher nicht am Buch und dessen
"richtig gut Mathe". Fuer wen sollte denn so ein Buch geschrieben sein,
wenn nicht fuer angehende oder fertig studierte Elektrolurche?
Und fuer den Anfang natuerlich erstmal mit den ueblichen verdaechtigen
Wellenformen. Da weiss man wenigstens, wie sich's anhoeren muss. Faxen
kann man spaeter noch genug treiben.
Gruss
WK
Tippgeber schrieb:> Ob das der richtige Startpunkt ist, weiss ich nicht. Dort braucht man> schon richtig gut Mathe, um die SV zu verstehen. Was einfacheres und> Praktischeres wäre wohl besser für den TE.
Na abeeer!
TK_Circular schrieb:> Ich studiere momentan Elektrotechnik im letzen Drittel des Studiums.
;)
PS: Ob die angegebene Quelle für den TO wertvoll ist bzw. für dieses
Projekt besonders zielführend ist, weiß ich auch nicht, aber an der
Mathematik DARF es bei einem Fortgeschrittenen E-Technikstudenten
einfach nicht scheitern!
Tippgeber schrieb:> TK_Circular schrieb:>> Angedacht war es, sich erstmal um die Signalerzeugung zu kümmern>> (erstmal natürlich erst einen Sinus, dann Square, Saw usw)> Mit diesen drei Grundwellen ist kaum noch was anzufangen. Braucht kein> Mensch mehr, gibt es in jeder Tröte der 80er und 90er.
Das hat man früher, in (gewissen, nicht allen) Analogsynthesizern so
gemacht, weil es am einfachsten war.
Dies waren die sog. subtraktiven Synthesizer: Man erzeugt einen Klang
mit möglichst vielen Oberwellen und filtert diejenigen weg, die man
nicht haben will.
Es gab auch in der Analogzeit additive Verfahren: man hat alle möglichen
Oberwellen separat erzeugt und bei Bedarf zusammengemischt.
Digital ist natürlich alles möglich:
- Emulation subtraktiver Synthesizer (hat bestimmt seinen Reiz, manche
mögen die Klänge der 80er...)
- Emulation additiver Synthesizer
- Sampler
- ...keine Ahnung, lasst Euch was einfallen.
Martin K. schrieb:> M.A. S. schrieb:>> - ...keine Ahnung, lasst Euch was einfallen.>> Formantsynthesizer!> Hartmann Neuron!
Hatte ich noch nie von gehört. Danke für die interessante Info!
M.A. S. schrieb:> Das hat man früher, in (gewissen, nicht allen) Analogsynthesizern so> gemacht, weil es am einfachsten war.
Das würde ich auch so sehen und es wird auch in den digitalen Synths
noch so gemacht, weil es einfach ist, wobei es da Randbedingungen gibt,
siehe Rechteck und dessen Oberwellen im Bezug auf die Abtastrate.
http://www.96khz.org/oldpages/comparison48khzto768khz.htmTippgeber schrieb:> Mit diesen drei Grundwellen ist kaum noch was anzufangen.
Mit etwas Filterung geht da schon was und so schwer ist
Signalverarbeitung nun auch wieder nicht. Das, was 90er Jahre Synths mit
48kHz und einfachen Sinus-Rechteck-Dreieck Wellenformen so produzierten
kriegt man mit einfachen 12dB-Filtern schon ganz gut hin.
http://www.96khz.org/files/2006/spartan%20fpga%20synthesizer%20demo.wma> Warum nicht auch einmal> eine mathematische Funktion?
Das wird auch schon exzessiv gemacht und es ist auch nichts
grundsätzlich anderes, weil zur Tonerzeugung immer perdiodische Signale
benötigt werden. Man muss die Funktion, so verrückt sie auf den ersten
Blick auch ausehen mag, immer unterbrechen und wiederholen und damit
lässt sie sich nach Fourier beschrieben. Und damit kann man sie auch aus
geraden und ungeraden Harmonischen manuell erzeugen, wenn man einen
EQ-Verlauf drüber legt.
M.A. S. schrieb:> Martin K. schrieb:>> M.A. S. schrieb:>>> - ...keine Ahnung, lasst Euch was einfallen.>>>> Formantsynthesizer!>> Hartmann Neuron!>> Hatte ich noch nie von gehört. Danke für die interessante Info!
Gerne. Aber die sind doch alle recht bekannt. Gibt es einige Seiten im
Netz. Warum sich der Neuron nicht durchgesetzt hat, weiß ich nicht.
Unser Keyboarder hat den mal auf ner Messe gespielt und schwärmte davon.
Jürgen S. schrieb:> M.A. S. schrieb:>> Das hat man früher, in (gewissen, nicht allen) Analogsynthesizern so>> gemacht, weil es am einfachsten war.> Das würde ich auch so sehen und es wird auch in den digitalen Synths> noch so gemacht, weil es einfach ist, wobei es da Randbedingungen gibt,> siehe Rechteck und dessen Oberwellen im Bezug auf die Abtastrate.> http://www.96khz.org/oldpages/comparison48khzto768khz.htm
Das finde ich jetzt wieder interessant! Nach deiner Darstellung dürften
dann all die Synthesizer die mit den üblichen digitalen Abtastraten
arbeiten, ja überhauptnicht richtig funktionieren?
Martin K. schrieb:> Das finde ich jetzt wieder interessant! Nach deiner Darstellung dürften> dann all die Synthesizer die mit den üblichen digitalen Abtastraten> arbeiten, ja überhauptnicht richtig funktionieren?
Die funktionieren bisweilen schon richtig, nur müssen sie mit
Bandbegrenzung arbeiten oder sie kriegen Probleme mit den eckigen
Signalen vor allem beim Phasing und Flanging und da scheiden sich die
Geister! Von dem was ich so an Synths gesehen habe, scheint es einige
Hersteller zu geben, die den Sachverhalt kapiert haben und andere nicht.
Natürlich ist das auch ein Problem der Rechenleistung. Filterung kostet
Power und bei Softwaresynths z.B. ist das das große Manko. Selbst die
derzeit angesagten Viecher produzieren da Allesmögliche obwohl ein
Rechteck ein Rechteck ist und bei direktem Rendern auf die Platte nicht
von "DAC-issues" abhängig ist.
Das Problem ist einfach, dass man an Nyquist nicht vorbeikommt. Kannst
dir ja mal aufmalen, wie rechteckig ein Signal maximal sein kann, wenn
es 1kHz hat und mit 44100 gesampelt wird und was dann dabei rauskommt,
wenn man es bandbegrenzt und nichtbandbegrenzt mit einem parallelen
Signal additiv mischt. Die entstehenden Mischprodukte sind entweder
unhörbar, wo sie hörbar sein sollten, / bzw umgekehrt oder sie sind mal
da und mal weg. Und "weg" heißt bei extremen Phasing-Konstellationen,
sporadische "Lücken" in den Pulsdaten und damit niederfrequente
Frequenzkomponenten die dann íhrerseits zu hören sind. Das macht den
Digitalklang "hart".
Noch übler sind FM-Modulationen mit multiplikativer Mischung zweier
Frequenzen. Das geht genau genommen gar nicht entlang der Vorgabe der
analogen Pendants.