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
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
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"
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 ;)).
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....
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...
@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.
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...
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.
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
Braucht man es so kompliziert? Die meisten FPGA-Ausprobier-Platinen
haben doch heute Sound mit drauf.
Meist sogar einen aktuellen PC-kompatiblen AC97 Chip.
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