Forum: Digitale Signalverarbeitung / DSP / Machine Learning Lernprojekt von A bis Z: Synthesizer


von TK_Circular (Gast)


Lesenswert?

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ß

von Ulrich B. (Gast)


Lesenswert?

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

von Alter Schamane (Gast)


Lesenswert?

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/

von TK_Circular (Gast)


Lesenswert?

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?

von Alter Schamane (Gast)


Lesenswert?

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.

von TK_Circular (Gast)


Lesenswert?

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!

von Jens P. (Gast)


Lesenswert?

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 ;-)

von Dergute W. (derguteweka)


Lesenswert?

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

von Tillmann (Gast)


Lesenswert?

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.

von Synthesizerbauer (Gast)


Lesenswert?

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).

von M.A. S. (mse2)


Lesenswert?

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"

von MaWin (Gast)


Lesenswert?

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.

von Audiomann (Gast)


Lesenswert?

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.

von Frank Roggel (Gast)


Lesenswert?

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.

von Frank Roggel (Gast)


Lesenswert?

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.

von Tippgeber (Gast)


Lesenswert?

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?

von Dergute W. (derguteweka)


Lesenswert?

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

von M.A. S. (mse2)


Lesenswert?

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!

: Bearbeitet durch User
von M.A. S. (mse2)


Lesenswert?

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.

von Martin K. (mkmannheim) Benutzerseite


Lesenswert?

M.A. S. schrieb:
> - ...keine Ahnung, lasst Euch was einfallen.

Formantsynthesizer!
Hartmann Neuron!

von M.A. S. (mse2)


Lesenswert?

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!

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

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

Tippgeber 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.

von Martin K. (mkmannheim) Benutzerseite


Lesenswert?

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?

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

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.

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
Noch kein Account? Hier anmelden.