Forum: FPGA, VHDL & Co. Development Kit für Multieffektgerät für Gitarre


von pedde (Gast)


Lesenswert?

Hallo zusammen,

ich möchte mir ein FPGA Development Kit besorgen um mir selbst ein 
digitales Effektgerät zu bauen, dass ich immer mal wieder erweitern kann 
(nach Bedarf). Ich bin anfänger und möchte dann anhand verschiedener 
Projekte immer mehr und schwierigere Effekte in den Kit einbauen und 
dadurch VHDL besser kennenlernen.

Es sollte ein möglichst flexibles und erweiterbares Development-Kit 
sein, da ich nicht nur Hall, Distortion, Wah Wah, Flanger usw. effekte 
damit realisieren will, sondern auch eine Loop-Station und einen 
Polyphonic Octave Generator mit integrieren möchte (hier zur Info was 
das ist: http://www.thomann.de/de/boss_rc300_loop_station.htm und 
http://www.thomann.de/de/electro_harmonix_pog2.htm ). Mir ist bewusst, 
dass dieses Projekt über Jahre gehen wird.

Da ich anfänger bin, weis ich überhaupt nicht abzuschätzen was für ein 
FPGA und DSP ich dazu benötige? Kennt von euch jemand ein gutes 
Development-Board, mit dem ich die oben genannten Dinge realisieren 
kann? Bin für jeden Tipp sehr dankbar!

LG,
eure Pedde

von Schlumpf (Gast)


Lesenswert?

Ob ein FPGA für ein Effektgerät jetzt die Plattform der Wahl ist, würde 
ich mal bezweifeln. Da wäre ein DSP sicher besser geeignet und würde 
schneller zum Ziel führen.
Aber wenn du es aus lerntechnischen Gründen mit einem FPGA realisieren 
willst, solltest du dir vielleicht mal das DE1-Board von Altera 
anschauen

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

pedde schrieb:
> Bin für jeden Tipp sehr dankbar!
Fang klein an. Du willst VIEL zu VIEL...

Mein Tipp wäre, irgendein billiges Board zu kaufen und damit 
herumzuspielen. Wenn du dann in einem halben Jahr tatsächlich das 
Monsterprojekt (manche Firmen versenken da Mannjahre an 
Ingenieursarbeit) immer noch machen willst, kennst du die Technik so 
gut, dass du selber das richtige Board aussuchen kannst. Es gibt ja nur 
eine gute Hand voll.

pedde schrieb:
> Mir ist bewusst, dass dieses Projekt über Jahre gehen wird.
Nimm mal Kontakt mit Jürgen Schuhmacher auf. Er ist hier der Audio-Spezi 
auf FPGAs...
Siehe z.B. den Beitrag "Drum-Computer in VHDL"

: Bearbeitet durch Moderator
von Marco (Gast)


Lesenswert?

Es ist NIE verkehrt sich mit den Basics der Hardwarebeschreibung 
auseinanderzuseten, aber vielleicht solltest du für dein Projekt etwas 
mehr in Richtung SoC schauen. Da kannst du einiges in Software machen, 
wie z.B. UI und Codec-Ansteuerung und anderes (was schnell gehen muss) 
in Hardware. Auch HLS ist für Filter ne feine Sache.. So könntest du dir 
gleich mehrere Gebiete der "modernen" Geräteentwicklung anschauen und zu 
deiner Anwendung passt es. Schau dir mal die Zynq und Vivado an. Das ist 
alles unkomplizierter als es scheint (meistens manchmal ist es auch 
komplizierter als es muss ;)).

von Markus F. (Gast)


Lesenswert?

Extra ein SoC-System aufzusetzen ist aber doppelt kontraproduktiv, denn 
dann lernt er nur C und nichts von VHDL, da er die basics beim SoC 
überspringt.

Nee, entweder wegorientiert FPGA und VHDL lernen und dabei irgendwas 
bauen, oder zielorierentiert MUSIK und Effekte machen und dann den FPGA 
verwerfen.

Etwas Literatur, falls es doch VHDL für Musik wird:

Beitrag "Ist MyHDL für echte Anwendungen einsetzbar?"
Beitrag "VHDL-Effektgerät für Gitarre und andere Instrumente"
Beitrag "welchen DSP für einen VA Musik-Synthesizer ?"

von Marco (Gast)


Lesenswert?

Sehe ich nicht ganz so. Wenn man nur IPs zusammenklickt ok, denn schon. 
Aber wenn man das Lernziel hat, denn macht man halt einiges in Hardware. 
Wenn der TE dafür zu faul ist und am ende doch alles in C macht, denn 
hätte er wahrscheinlich nach ein paar frustreichen Abenden eh auf einen 
DSP gewechselt, es ganz gelassen oder einen Softcore genommen....

von klausro (Gast)


Lesenswert?

Was ist dir wichtiger? Gitarren Effekte oder FPGA? Natürlich bekommt man 
irgendwann auch beides zusammen, aber das dauert. Wenn du Effekte im 
Vordergrund hast, dann würde ich eher mit DSPs anfangen, evtl. mit 
sowas:
http://de.line6.com/tcddk/
Infos dazu: 
http://line6.com/data/6/0a06434c149ca520beb4c09cdc/application/pdf/TCDDK%20Hardware%20Guide%20-%20English%20%28%20Rev%20A%20%29.pdf 
(hoffe, der Link geht)

von pedde (Gast)


Lesenswert?

Danke erstmal für die vielen genialen Tipps! Hätte ich nicht gedacht das 
ich so viele Anregungen bekomme!

Also im Vordergrund steht bei mir schon der FPGA. Ich möchte allerdings 
schon etwas in die Musikrichtung machen, da ich mich für Musik 
begeistern kann.Ich glaube wenn ich nur irgendein Projekt mache (ohne 
wirkliches Ziel), dann fehlt mir das Durchhaltevermögen. Aber natürlich 
fang ich mit einfachen Sachen an wie "LED blinken" "Display ansteuern" 
...

SoC klingt eigentlich schon sehr viel versprechend. Zumal ich dann die 
Vorteile der Parallelverarbeitung des FPGAs (in VHDL) und die der 
sequentiellen (Prozessor ähnlich) verbinden kann. Korrigiert mich bitte, 
falls ich was falsches sage.

Ich dachte daran evtl. einen Prozessor im FPGA zu implementieren (Sowas 
wie bspw. der NIOS Prozessor nur eben selbst gebastelt in VHDL). Damit 
müsste ich doch dann VHDL haben und kann damit meinen DSP realisieren. 
Auch wenn dieser schätzungsweise nicht sehr schnell sein wird. Oder lieg 
ich da falsch? Klärt mich bitte auf...

von pedde (Gast)


Lesenswert?

@klausro:

Genialer Link! Das Teil scheint mir richtig Klasse zu sein..

von Markus F. (Gast)


Lesenswert?

@pedde

Jetzt mal unter uns: Du solltest Dir erstmal vor Augen führen, was FPGAs 
können und was DSPs können. Dann solltest Du Dir eine Strategie 
entwickeln, WANN Du WAS lernen willst und WODURCH. Sonst wird das 
nichts.

So wie Du da rangehst, wird das im Chaos enden. Mal eben Parallels mit 
Sequenziellem verbinden, ohne eine Vorstellung zu haben, wo was benötigt 
wird, dann das ganze virtuell in Software und dazu vorher noch schnell 
ein SoC zum Laufen kriegen und obendrein einen selbstgeschriebenen 
Softcore implementieren, ja nee ist klar. Wenn Du nach 6 Wochen damit 
fertig bist, würde Ich Dich dann bitten, kurz die Ukrainekrise zu lösen, 
die deutschen Autobahnen zu reparieren, das 10TerraBit-Internet 
einzuführen und die Merkel abzuwählen.

So und jetzt wieder runter von der Wolke 77:

Frage mal die audio phreaks wie The Mason und Engineer, wie lange sie an 
ihren FPGA-Audio-Systemem gebaut haben und frage mal Rene Doss, wie 
lange er an seinem Softcore geschraubt hat. Das sind zusammen 10 
Mannjahre möchte ich wetten. Dann noch Lothar Miller hinzu ziehen und 
die taktisch guten Formulierungen und Tricks erlernen.

Was Du Dir alles aufhalst, ganz ohne tiefere Kenntnisse zu haben, wird 
nach 3-4 Monaten des Umherirrens und Rumbeastelns im absoluten Nichts 
münden, zumal Du ja kein grosses Durchhaltevermögen hast, wie du selber 
schreibst. Du hast dann einen Riesenhaufen Mist-VHDL beisammen, wo 
nichts geht, alles falsch ist und Du Dir noch komische 
Programmiermethoden einfallen hast lassen, die den Lernerfolg noc 
pervertieren werden.

Lerne es ordentlich und baue einen Blinker, dann schaufele mal Daten von 
einem Eingang zu einem Ausgang, dann baue die Ansteuerung für ADC/DAC 
dazu und schlieese mal eine Anlage an, um das Signal durch den FPGA zu 
bekommen. Dann kommen Lautstärkeregelung und Kompressor, sowie FFT und 
Equalizer. Wenn Da damit fertig bist, kannst Du Deine Verzerrer bauen. 
Wie man Amps für Gitarren emuliert, weiss wiederum Christoph Kemper.

Wenn Du DAS hast, dann hast Du was gelernt. Ist aber nicht so einfach. 
Ich habe beim Kompressor aufgegeben, weil ich den nicht musikalisch 
hinbekommen habe. Ich mache das Ganze nänmlich für Video und habe selbst 
dafür Jahre gebraucht, dahin zu kommen.

von buffi (Gast)


Lesenswert?

Was du brauchst ist (grob gesagt) ein FPGA + ADC + DAC. Nimm dir 
irgendein Development Board was diese Komponenten drauf hat.

Alles andere ergibt sich dann schrittweise:

ADC ansprechen und mal ein paar Samplewerte aufnehmen und im Blockram 
(später vielleicht in einem Massenspeicher) ablegen. Anschließend die 
Samples wieder über den DAC ausgeben.

Wenn das klappt, kannst du dann ja deine Effekte als VHDL-Komponenten 
beschreiben und zwischen ADC und DAC packen.

Echoeffekte sind sehr einfach zu realisieren und böten sich für den 
Anfang an. Dann so langsam ans Komplexe rantasten...

von Martin K. (mkmannheim) Benutzerseite


Lesenswert?

pedde schrieb:
> Ich dachte daran evtl. einen Prozessor im FPGA zu implementieren (Sowas
> wie bspw. der NIOS Prozessor nur eben selbst gebastelt in VHDL). Damit
> müsste ich doch dann VHDL haben und kann damit meinen DSP realisieren.

Nur für ein Effektgerät sich ins VHDL zu stürzen, ist etwas oversized, 
denke ich, aber wenn Du einsteigen möchtest und Musikelektronik bauen 
willst, wäre dies vielleicht ein Ansatz:

Beitrag "Re: Projektidee : programmierbarer Musiksynthesizer im FPGA"

Man bräuchte nur eben eine Plattform.

von Kest (Gast)


Lesenswert?

Man besorge sich DE0-SoC mit Arduino BreakOut, dazu irgendein I2S 
Arduino Shield (gibts bestimmt) und schon kann man starten. SoC-Teil 
kann man komplett ausklammern sondern nur im FPGA i2s Encoder/Decoder 
bauen und erstmal Audio durchschleifen. Wenn es funktioniert, gehts dann 
weiter...

ansonsten wurde schon alles oben gesagt: ist nicht trivial, brauchst 
viel Geduld, lernst aber auch viel dabei. Heir bekommst Du sicherlich 
viele Ratschläge :-D Viel Spaß!

grüße
Kest

von Tine Wobbler (Gast)


Lesenswert?


von Audio und Videomann (Gast)


Lesenswert?

Braucht man es so kompliziert? Die meisten FPGA-Ausprobier-Platinen 
haben doch heute Sound mit drauf.
Meist sogar einen aktuellen PC-kompatiblen AC97 Chip.

von Martin K. (mkmannheim) Benutzerseite


Lesenswert?

Ich hinterfrage nochmal, ob man überhaupt FPGAs braucht. Eine einfache 
DSP-Plattform ist doch für den Beginner erheblich einer zu verwenden.

von J. S. (engineer) Benutzerseite


Lesenswert?

Martin K. schrieb:
> Ich hinterfrage nochmal, ob man überhaupt FPGAs braucht. Eine einfache
> DSP-Plattform ist doch für den Beginner erheblich einer zu verwenden.

Das ist eine Frage, was man machen will. Die klassischen Effekte auf 
Stereobasis brauchen maximal 192kHz Abtastrate, wenn man sie digital in 
eine DAW transportieren kann und anders als früher, packt das ein 
aktueller Audio-DSP mit Leichtigkeit, bei einer Vielzahl von Effekten 
und produziert noch S/PDIF.

Anders sieht es aus, wenn man die Gitarre in Echtzeit in MIDI wandeln 
will - da braucht es sehr spezifische Signalverarbeitung. Mir ist kein 
Wandler auf DSP-Basis bekannt, der das ausreichend schnell könnte.
http://96khz.org/htm/audio2midifpga.htm

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.