Datum:
Hallo, ich bin dabei einen Audio-Prozessor zu entwickeln. Ursprünglich war das nur so eine Idee von mir, und ich habe da auch schon recht konkrete Vorstellungen und auch schon eine Teilrealisierung, aber es hat sich durch dieses Forum jemand gefunden (Kest) der ebenfalls Interesse an so einem Projekt hat und den Vorschlag gemacht hat daraus ein Projekt zu machen. In dem Sinne bin ich (sind wir) auf der Suche nach Leuten die an der Audio-Technik interessiert sind. Ich stelle mal kurz vor was wir bis jetzt schon "zusammengesponnen" haben : Zu dem Prozessor : Dieser soll quasi mit jedem Befehlswort aus dem Programmspeicher (sehr wahrscheinlich 32Bit breit) ein Modul ausführen. Ein Modul kann dann beispielsweise ein Oszillator, eine Hüllkurve, ein Addierer (Mischer), ein Filter, ein Schalter, ein Verstärker etc ... sein. Die Module an sich bestehen aus mehreren States innerhalb einer großen State-Machine. An Speicher wird ein Audio-Speicher (für die Audio-Verbindungspunkte sozusagen), ein Datenspeicher (Lautstärke, Filter-Koeffizienten, Hüllkurven-Parameter und dergleichen) und ein eigener Speicher für die Biquad-Werte implementiert (weil der Datenspeicher sonst zu schnell verbraucht wäre). Das Grundgerüst ist schon fertig getippt, aber noch nicht getestet oder simuliert oder optimiert. Mit einem derartigen Prozessor hat man leicht die Möglichkeit einen modularen Synthesizer, ein Effektgerät, ein Mischpult oder gar (je nach Implementierung und Ressourcenverbrauch) ein Harddisk-Recordingsystem zu bauen. Da für ein derartiges System aber auch noch weitere Komponenten (AD/DA-Wandler, Prozessor, SD-Karten-Slot, MIDI-Interface usw) benötigt werden, sind Kest und ich auf die Idee gekommen ein Expansion Board zu bauen. Zu dem Expansion-Board : Es soll sowohl an jedes Evaluation Board angeschlossen werden können (über einen eigens belegten Connector) wie auch als Standalone-Audio-Board zum experimentieren fungieren. Somit hat man die Möglichkeit ein Altera wie ein Xilinx-Board anzuschließen. Selbst wenn es ältere oder neuere Eval-Boards sind, kann das Expansion-Board zum Einsatz kommen, da nur ein Adapter-Stecker gelötet werden muß. Aber auch Audio-Neulinge können mit diesem Board schonmal erste Geh-Versuche machen. Die Bestückung die wir uns bisher ausgedacht haben ist wie folgt : - zwischen 2 und 4 TAS3004 (macht zwischen 2 und 4 Stereo-Ein und Ausgänge) - MIDI-Interface - SD/MMC-Card Connector - CPLD - Connector zum FPGA Board - Connector zum Prozessor (- evtl. noch USB mit FTDI-Chip oder RS232) (- VGA-Interface) (hoffe ich habe jetzt nichts vergessen) Zu dem TAS3004 : Der TAS3004 ist ein AD/DA-Wandler mit festverdrahtetem DSP. Der DSP bietet möglichkeiten zur Filterung des Audio-Signals, hat einen Kompressor und noch andere nützliche Kleinigkeiten. Durch Verwendung dieses Chips (der laut Kest etwa 6,40 Euro kostet) hat man schon einige Möglichkeiten zur Klangmanipulation. Weiterhin hat man bei diesem Chip die Möglichkeit den DSP außen vor zu lassen und nur den AD/DA Wandler zu nutzen um beispielsweise die Audio-Daten in einen FPGA zu schaufeln. Dieser Chip ist keine Voraussetzung, aber ich liebäugel schon länger mit dem Chip da er einige Möglichkeiten bietet und zudem auch das Standalone-Konzept eröffnet. (außerdem braucht er recht wenig Beschaltung) Zur Ansteuerung der TAS3004 (die über I2C angesprochen werden) soll es einen weiteren Connector geben an den jeder beliebige Prozessor angeschlossen werden kann. Es soll so dem Nutzer offengehalten werden welchen Lieblings-Prozessor er verwendet. Das hat die Vorteile das man sich nicht in den festgelegten Prozessor einarbeiten muß und das das System von der Prozessorseite her erweiterbar ist, wenn z.b. die Performance eines AVR oder MSP nicht mehr reicht und man einen ARM verwenden muß, beispielsweise weil viele Filterkoeffizienten in kurzer Abfolge (Stichwort Synthesizer) berechnet werden müssen die einfach viel Floating-Point Mathematik erfordern (können, je nach Anwendungsfall). Das Projekt ist eigentlich eher noch in einer Findungsphase (speziell das Expansion Board) obwohl es schon stellenweise recht konkrete Züge annimmt bzw. angenommen hat. Es wäre echt Klasse wenn sich weitere Interessierte finden würden die ebenfalls mit Audio rumexperimentieren möchten bzw. auch Erfahrung und eigene Ideen mit einbringen könnten. Weiterhin wäre es gut wenn wir so eine Art Wiki aufmachen würden um anderen Interessierten einen Einstieg zu geben bzw. wenn das Projekt konkreter wird bzw. in sich in der Realisierung befindet man auch Tipps und Tricks dazu geben kann. In dem Sinne hoffe ich auf gleichgesinnte. Für Vorschläge, Anregungen, Kritik und Hilfe bin ich immer dankbar. Einen schönen Gruß und einen schönen Sonntag noch Rene PS. Die Enstehung dieser Idee bzw. dieses Projektes ist unter http://www.mikrocontroller.net/forum/read-9-237152.html#new nachzulesen.
Datum:
So hier bin ich also erstmal wie gesagt prima dass es hier leute gibt die sich für das gleiche interessieren wie ich :-) zweitens prima da ich denke dass wir uns in den kompetenzen evtl. ganz gut ergänzen können, z.b. bin ich kein sehr grossartiger programmierer... ok. zur sache: erstmal kurz zur hardwarebasis des projekts: ich gehe davon aus wir nehmen uns ein xilinx-fpga und da wiederum ein eval-board? blos dass man mal weiss von was man ungefähr redet. eine überlegung wär natürlich, falls wir genug leute sind, selbst ein board aufzusetzen, ich denke bei mehr als 10 exemplaren wird der preis überschaubar, aber fürs experimentieren gehts bestimmt auch mal ohne. also z.b. das spartan3 board für 99$? zur peripherie: 1. grundsätzliche trennung zwischen analog und digital. ich glaube es wär sehr viel gemütlicher in bezug auf qualität wenn wir mehrere boards vorsehen: a) analogboard mit mehreren adcs und dacs (z.b. deine codecs) ausserdem würde ich die gerne mit ein paar analogen multiplexern vernetzen und ein paar steckplätze für z.b. einen externen vco draufmachen (analoge schwankungen sind dann über die adcs verwendbar für digitale klangsynthese z.b.) ausserdem natürlich ausgangs- und eingangstreiber. b) prozessorboard für einen mikrocontroller. da würde es sich denk ich auch anbieten gleich die kommunikationsinterfaces drauf zu machen? also ethernet (denk ich wär praktisch), usb etc. was man sich so wünscht. c) das dritte an das ich denke ist so eine art bus auf einer karte in den man z.b. ein steuerinterface mit display und tastern bauen kann, ausserdem denke ich wie gesagt an einen controller mit potis (da gibt es wunderbare 8bit 16fach adcs mit denen man die an den bus anhängen kann). damit sollten dann genügend erweiterungsmöglichkeiten da sein damit viele leute sich lange zeit austoben können. ich denke eh dass die meisten sich eh hauptsächlich mit fpga und controllerprogrammierung spielen möchten und nicht mit schaltplänen zeichnen und dann hat man mal ne hübsche basis. hm was meint ihr dazu? evtl sollten wir noch externes ram irgendwo verbauen? viele grüsse david
Datum:
Hallo David, schön das du auch interesse an so einem Projekt hast. Freut mich, zumal ich schon seit längerer Zeit sowas vorhabe, aber erst jetzt merke das das alleine nur schwer realisierbar ist. VOn daher denke ich dürften sich Kompetenzen ergänzen. Das von mir verwendete Board ist ein Spartan 3 Board. Es wäre aber schön wenn das Interface zum Board es erlaubt jedes FPGA-Development Board zu verwenden, damit man nachher auch einen größeren FPGA verwenden kann. Damit bruacht man zwar einen Adapter-Stecker aber ich denke das ist vertretbar. Direkt einen FPGA mit auf die Platine zu packen dürfte m.E. ziemlich teuer werden und ich glaube nicht das wir soviele Leute zusammenbekommen. Falls doch wäre es echt eine überlegung wert, aber für die ersten "Geh"-Versuche würde ich vorschlagen nur das Board zu verwenden. Also die Trennung zwischen analog und digital ist zwar grundsätzlich gut, aber mir wäre es lieber wenn man die ganze Peripherie (also Wandler, Treiber, MIDI, SD/MMC, USB, Seriell) auf einer Platine ist, um die Kosten gering zu halten. Die Codecs sind eh keine Hi-End Wandler. Zum Thema Ethernet : Prinzipiell ok, aber das Problem wird der TCP/IP Stack sein, und da ich mir wünsche jeden Prozessor anschließen zu können (MSP430/ARM/AVR, ebenfalls über einen Adapter-Stecker) wäre Ethernet etwas oversized bzw. nur bei einigen Prozessoren sinnvoll. Außerdem fände ich es einfach kompakter nur eine Platine stöpseln zu müssen. Wobei man es sich für einen evtuell späteren 2. Entwurf, wenn man schon erfahrung bzw. einen ersten Eindruck gesammelt hat, dann ja echt überlegen kann mehere Boards zu machen auf denen zum einen die Trennung zwischen analog und digital realisiert und zum anderen direkt den FPGA mit dabei hat. Vielleicht hat man bis dahin dann auch genug Leute zusammen damit sich sowas wieder lohnt bzw. erschwinglich wird. So stelle ich mir das ganze in etwa vor. Gruß Rene
Datum:
Angehängte Dateien:hi rene also das spartan3 board hab ich mir auch schon mal angeschaut, sieht ganz nett aus! Zu der extention card: 1. wenn man noch einen adapter dazwischen akzeptiert denke ich wird es schwer ein board zu designen, dass NICHT zu jedem xbeliebigen fpga kompatibel ist :-) denke also das kriegen wir hin 2. Prozessor / Ethernet: wie aufwendig das ist (auf prozessorseite) kann ich leider nicht sehr gut beurteilen, aber ethernet ist jetzt auch nicht so wichtig, und evtl. nachrüstbar. (Es gibt ganz gute IP Cores bei XILINX für Ethernet MACs und ein UDP drüber ist auch nicht schwer zu realisieren, also könnte man notfalls sowas mal für später einbauen) 3. betreff 1 board mehrere boards: ein Steckplatz aufm spartan board hat so knapp 40 io verbindungen zum fpga. ich glaube nicht dass uns das für alles was wir machen reicht, ergo sollte es eigentlich doch wurscht sein, ob wir alles auf eine platine oder mehrere machen. btw. willst du platinen ätzen oder auf laborplatinen aufbaun? (bei laborplatine denke ich ist der kostenaufwand ja eh gleich ob man mehrere oder eine baut bzw. vollkommen egal, eine säge und zack der eine kanns auf mehrere platinen bauen der andere auf einer... :-) Der grund warum ichs gerne verteilt hätte ist, man ist einfach flexibler: wenn ich nen anderen prozessor reinbaun will werf ich z.B. einfach nur die prozessorplatine weg. Egal warum ich plädiere auf jeden fall für ne einigermassene trennung von analog und digital, aus erfahrung heraus ist zumindest eine getrennte groundplane und spannungsversorgung sinnvoll um sich nicht störungen vom fpga etc. einzufangen. ich hab mal grob aufgezeichnet (in word, damits auch jeder editieren kann) was ich mir momentan so vorstelle (is aber nur ein unheimlich schlecht durchdachter entwurf). insbesondere die Prozessoranbindungen (FLASH? RAM? etc.) sind bestimmt nicht unbedingt der weisheit letzter schluss, am besten modifizieren wie ihr denkt dass es gehört und wieder posten... so jetzt muss ich aber erstmal wieder weiterarbeiten... viele grüsse david
Datum:
hallo david, zu 1 : bei diesem adapter geht es mir ja gerade darum das jeder sein eigenes board verwenden kann, damit auch leute was davon haben die meinetwegen ein altera board vorziehen. :-) (ich werd aber bei xilinx bleiben *gg) zu 2 : damit man von ethernet wirklich was hat (sprich übertragungsgeschwindigkeit, möglichkeiten wie ftp, telnet und sowas) braucht man einen dicken prozessor mit ca. 512 kb ram (noch besser 1mb) und nach möglichkeit ein linux-ähnliches system (z.b. uCLinux). damit das ganze auch nicht darauf hinausläuft das man mehr zeit mit der implementierung eines ip-stacks und dergleichen beschäftigt ist als die zeit die man für die audio-geschichten braucht sollte man es weglassen. weiterhin gibt es prozessor-karten die einen recht großen prozessor (arm) mit ethernet-chip und anschluß, sowie ram und flash auf der platine haben, von der aus man linux nutzen kann. ich würde echt sagen das man den prozessor bei der extension card einfach weg-lässt (egal ob mit 1, 2 oder 3 platinen). damit kann jeder seinen bevorzugten prozessor nutzen (ähnlich wie mit dem fpga). und dann ist es auch wieder ohne weiteres möglich so eine linux-ethernet-prozessor-karte zu verwenden. (zumal ich eine solche prozessor-karte im DIL-pinout gefunden habe, nach dem motto, neue lochrasterplatine, adapter dranlöten, an die extension-card(s) dranstecken, läuft ..) zu 3 : also ich denke es sollte ruhig eine professionell hergestellte platine (2 seitig mit lötstopp-lack) sein. die ist zwar teurer, aber mir ist das lieber als selbstgelötete lochraster-platinen mit laborkarten-aufsatz und einem drahtverhau. mir geht es auch etwas um die kompaktheit des ganzen und die ist bei einer professionellen platine denke ich eher gegeben (was nicht heißt das nicht beispielsweise die prozessor-platine oder die user-interface platine eine selbstgelötete platine mit avr oder i2c-teilen ist). btw : die user-if platine würde ich komplett außen vorlassen, damit jeder sein eigenes if zusammnenbauen kann. ich z.b. würde gerne alles (sprich display, tasten, leds, potis usw. gerne über i2c ankorken damit ich so ein interface auch später bei anderen sachen nutzen kann) also mit der trennung zwischen analog und digital sollte man einfach schauen wie teuer das ganze wird, oder ob man es so designt das man alles zwar auf einer platine (von mir aus euro-format) draufbekommt, aber so legt das man mit hilfe einer säge zwei oder drei teile draus macht die man zusammenwürfeln kann wie man lustig ist. zum dokument : ist ja recht vollständig alles *ggg. werde mal das dokument abändern wie ich mir das so denke. Z.b. würde ich MIDI, Display, User-IF unbedingt mit dem Prozessor (bzw. einem adapter) verbinden, da der FPGA sicher anderes zu tun hat als MIDI zu bearbeiten und io-leitungen hin und her zu schubsen. Mal eben ein Kommentar zum Thema Speichermedien. Mir wäre es lieber SD/MMC zu verwenden. Der Anschluß ist leichter und selbst wenn man mit dem gedanken Spielt HD-Recording zu betreiben sollte es für 4 bis 8 Spuren (Mono) von der Geschwindigkeit des SPI-Interfaces reichen. Falls es nicht reicht kann man immer noch ein IDE Interface vorsehen. Weiterhin finde ich die SD/MMC-Karten schnuckeliger und kompakter. Daher wäre es mir lieber diese zu verwenden. Aber ich denke es sollte auch möglich sein beide Systeme vorzusehen (IDE und SPI). Gruß Rene
Datum:
okidoki! klingt prima! wenn es um eine eigens herzustellende platine geht versteh ich auch den gedanken mit dem finanziellen! das mit dem prozessor auf nem daughterboard find ich auch ne gute idee dann kann man da getrennt dran arbeiten, und wenn du der meinung bist, dass man das ganze speicherzeug und interfaces (MIDI etc.) auf den Prozessor abladen kann dann ist das wunderbar. Ich persönlich habe nicht so viel erfahrung mit "serien-verarbeitung" sprich prozessoren und da leg ich mir lieber alles ins fpga weil ich mich da drin auskenn und auch vertrauen in die leistung habe :-) ... aber wie gesagt, wenn das im prozessor sinnvoll zu lösen ist, genial, machen wir so! (kann da halt softwaremaessig nicht so viel mithelfen, höchstens die hardwareanbindung, wenn das ok ist.) bin gespannt auf dein blockschaltbild! wg. CF / SD interface : habe bis jetzt nur mit CF erfahrungen gesammelt, das schöne daran war dass man unbegrenzt speicher hatte für billiges geld (notfalls hdd dran). wenn du positive erfahrung mit SD hast freu ich mich darauf, dazuzulernen! an was für einen prozessor denkst du eigentlich? is ja doch ganz schön viel was der verkraften sollte wenn ich mir das alles durchlese? viele grüsse david
Datum:
Hi David, das mit der herzustellenden Platine hat den Vorteil das man bei Problemen (Hardware-technischer Art) immer die selbe Hardware hat und so den/die Fehler schneller finden kann. Außerdem finde ich es besser wenn man einen "gemeinsamen Nenner" hat. Und nicht zu vergessen die Kompaktheit. Also ich denke es ist doch wesentlich einfacher MIDI, serielle Daten (USB oder RS232) I2C (für User-IF und Konfiguration der TAS-Codecs), Display-Anschluß, Taster, LEDs und Potis vom uC aus zu bedienen. Es beitet doch mehr Möglichkeiten für die Verarbeitung. Also die Programmierung des uC kann ich ohne Probleme übernehmen, komme ja aus der Ecke *ggg. Wenn ich euch mal meinen VHDL Code poste dann wird jeder VHDL-Mensch sagen : "Mann, stinkt das hier nach sequentieller Verarbeitung. Das kann nur ein Softwerker gemacht haben" *ggg. Zum Thema Prozessor : Für den Anfang (Test des Boards, erste Geh-Versuche) würde ich einen MSP430 nehmen. Aber für nachher würde/werde ich wohl einen ARM7 nehmen. Allein schon um die Filterkoeffizienten, Hüllkurven, LFOs, Step-Sequencer und/oder Midi-File-Player für einen Synthesizer in kurzer Zeit berechnen zu können. (man möchte ja auch noch andere Sachen wie Steuerung vom PC aus übernehmen). Außerdem würde ich sagen, falls HD-Recording wirklich mal ansteht, sollte man genug Reserven haben. Ein AVR oder MSP dürfte u.U. recht schnell am Ende sein, selbst wenns nur darum geht dem FPGA zu sagen welchen Sektor der HDD/SD/CF-Karte er als nächstes in die Audio-Engine pumpen soll (und nebenbei halt noch Berechnungen, Steuerungen usw zu übernehmen). Wenn ich Zeit habe werde ich (ok das sag ich jetzt schon seit bald 2 wochen) meinen VHDL- und C-Code posten damit man mal ein bischen mit dem spielen kann was ich gebastelt habe. Bin aber leider noch nicht dazu gekommen das Blockschaltbild zu ändern, werde es aber nachher mal in Angriff nehmen. Gruß Rene PS. Habe noch nicht soviel erfahrung mit SD/MMC Karte. Habe selbst meine Karte noch nicht ans laufen bekommen. Warte immer noch auf ein ACK :-((. Dachte einfach nur daran das man die Karte sehr einfach über einen CPLD entweder auf den Prozi (z.b. FPGA-Konfiguration/Software-Updates) oder den FPGA (für Wiedergabe von Waves oder ggf. HD-Recording Files) routen kann.
Datum:
Mensch, so viel zum lesen :-) Erstmal Hallo, David, und hetzlich willkommen Wir sollten die ganze Sache nicht ausufern lassen, also IP-Stack, zig Zusatzboards und so. Am besten wäre einfach "eine" zusätzliche Platine mit den Codecs drauf, und "Platz" für ein MC/CPU, MIDI, SD/MMC... mehr nicht. Alles im FPGA zu machen, kann man zwar, aber ich weis nicht, ob das was bringt bzw. wem? Mir wäre auch eine Platine lieber, mit FPGA, Codecs und SD/MMC (okay, noch MIDI). Aber man kommt da nicht ohne FPGA aus, die Codecs kann man nicht ohne benutzen. Wenn man FPGA als externes Board nimmt, dann kann man ja richtig rumspielen - wer keine Lust hat FPGA zu programmieren, baut halt sein Synthie mit nur Codecs und von mir aus AVR/ARM/MSP/Z80 oder wie auch immer :-) So nun aber kurz was anderes ;-) Ich habe heute ein Atmel AT91SAM7S64-Board bestellt. Die Prozessoren sind spottbillig, 32Bittig, schnell, einfach programmierbar, haben USB (auf Wunsch auch Ethernet). Und das Board hat genug Lötaugen zum Löten ;-) So werde ich demnächst anfangen die TAS-Teile auf einer Adapterplatine, Verstärker, MIDI da anzuschließen. Brauche also Input! :-) (ach so, drauf ist auch SD/MMC Slot :-o :-)) Sieh hier: http://www.olimex.com/dev/sam7-p64.html Das erste werde ich einfach alles in BEtriebnehmen, mal sehen, wie die Software ist und wie man was programmiert, Das zweite wird einfach sein, dass ich das Audio-Signal durchschleife Das Dritte: durch FPGA durchschleifen Das Vierte: MIDI und SD/MMC implementieren Und erst dann fange ich mit FPGA Synth und Effekte und so... Das ist also MEIN Schlachtplan (vorausgesetzt ich bekomme bald das Board und finde auch Zeit Adapterplatine zu routen) Der ARM hat schon etwas mehr Power als AVR ;-) Da kann man bestimmt auch ein Paar Hüllkurven implementieren ;-)) Sonst, ich muss erstmal alles sacken lassen, denn ihr habt ja schon eine ganze Menge zusammengeschrieben. Wahrscheinlich, jeder stellt seine Ideen, bzw. Stand der Dinge hier im Forum vor, damit jeder davon profitieren kann. Und wie das Extension Board später ausschauen wird (welche Prozessoren, FPGA, ob DDR3 Ram oder S-ATA Interface, man kann alles machen, die Frage ist nur... äh... was ist eingentlich die Frage? Wir wollen doch nicht eierlegende Vollmilchsau bauen ;-)... oder etwa doch? :-o ), lassen wir uns noch überraschen, oder? :-) Kest
Datum:
guten abend! ja hier ist ja richtig was los! also ich denke wir einigen uns ma auf eine schöne platine mit allerhand ausbaumöglichkeiten? ich denke wenn wir schon eine platine fertigen lassen, dann gleich mit möglichst viel drauf, das ist nich viel arbeit das ans fpga zu hängen und dann kann man sich irgendwann mal damit spielen. Diese arbeit kann ich gern machen, das sollte kein problem sein. die frage ist ob wir dann überhaupt noch ein development board brauchen oder ob wir das fpga nich gleich einfach draufsetzen, is ehrlich gesagt nich so schwer und dann haben wir alles so wie wirs wollen und schön kompakt. wegen prozessor: wenn es da sowas wie eine normschnittstelle gibt is ja wunderbar dann kann man da flexibel bleiben. im allgemeinen finde ich lustig und eine super basis: ich persönlich verstehe von mikroprozessoren nich soooo sehr viel, hab dafür mit fpgas gearbeitet, also möchte ich wenn möglichst alles in hardware realisieren und trau einem prozessor nichts zu. Ihr seid eher auf der mikrocontrollerseite (is ja auch das forum) und seht in dem fpga eher so die erweiterung des mikrocontrollers so wie ich das sehe. wenn wir da das beste aus beiden komponenten rausholen wirds bestimmt lustig. wie gesagt vhdl kein problem das mach ich gerne, auch hardware, alles was sequentiell abläuft bin ich dafür überhauptnicht so der held da kann ich leider nicht viel helfen fürcht ich... hiermit muss ich mich leider auch schon gleich wieder für eineinhalb wochen verabschieden, muss montag früh in neuseeland aufschlagen und da flieg ich morgen früh los... grml. vielleicht schau ich wenn ich zeit hab mal rein, ansonsten viel spass erstma und bis die tage!! Viele grüsse david
Datum:
Na da habt ihr euch ja was vorgenommen. Habe das auch schon mehrfach in Angriff genommen: http://www.geocities.com/Colosseum/Track/9393/audi... http://home.arcor.de/juergen.schuhmacher/audiodspboard.html Das Problem ist, daß man nicht die Zeit hat, um im Alleingang weit zu kommen. Ausserdem läuft einem die Entwickung der Technologie rasch davon. Ich habe mich daher inzwischen auf das Programmieren zurückgezogen. Hiermit geht praktisch alles, was man im Tonstudio braucht (und nicht kaufen kann): http://home.arcor.de/juergen.schuhmacher/chameleon.html Das einzige, was fehlt, wären digitale Schnittstellen. Diese sollten in der Folgeversin kommen - die Firma scheint aber pleite, oder ist zumindest in Schwieirgkeiten,
Datum:
Angehängte Dateien:Hallo, nun mal die Version des Audio-Boards wie ich mir das Vorstelle. Ich habe mal das Dokument von David als Grundlage genommen. Fühlt euch frei änderungen zu machen damit wir diskutieren können wie wir es am besten angehen können. @jürgen : Im Alleingang sowas zu machen ist schon echt sehr schwer. Aber mit mehreren zusammen sollte sowas auf die Beine zu stellen sein. Zumal es ja hier viele Leute gibt die jede Menge Know-How und Erfahrung haben. Wäre echt schön noch weitere Leute zu finden, denn die Kombination Elektronik und Musik ist doch mit sicherheit keine seltenheit bei Bastlern oder ? ;)) Beschäftige mich auch etwas mit der Programmierung von Software-Synthies. Aber so ein Stückchen Hardware finde ich hat schon was. :-) Gruß Rene (der mal langsam schlafen gehen wird *gg)
Datum:
Ja die Hardware hat was. Nur die kann man vernünftig ins Studio integrieren. Plugins hauen da nicht hin.
Datum:
Hallo Konstantin, habe gerade erst den Beitrag gelesen. Finde ich gut das du schon dabei bist den TAS und ARM Testhalber in Betrieb zu nehmen. Was brauchst du denn genau an Input ? Das einzige womit ich im moment helfen kann wäre eine trockene Beschreibung wie man die Register des TAS setzt, oder was für Filterkoeffizienten. Ich selbst bin gerade dabei Software zu schreiben mit der man bestimmte Betriebssystem-Funktionalitäten hat (Timer, Fifo, Prozesse, Steuerung, etc). Damit habe ich am Wochenende angefangen. Ich denke was den Mikrocontroller angeht sollten wir uns auf gemeinsame Software-Schnittstellen einigen, damit jeder rumexperimentieren kann und man gleichzeitig einen gewissen "Komfort" hat, aber auch damit man bei Problemen von ein und der selben Sache spricht bzw. von einem gemeinsamen Nenner ausgehen kann. Werde mit dem "Betriebssystem" (OS) mal weitermachen und gleichzeitig versuchen meine paar Hardware-Schnipsel (TAS, FPGA, MSP, ARM, SD/MMC, MIDI, usw) ans laufen zu bringen. Ein "I2C-Grab" mit Tasten, LEDs und Potis läuft schon :-). Wenn ich dir software-mässig was machen kann dann sag mal bescheid. Das Problem ist halt nur das ich es nicht Testen kann, da ich ja nicht die selbe Hardware habe. Außerdem habe ich meinen ARM noch nicht ausprobiert. Arbeite für die Entwicklingszwecke noch mit dem MSP (das portieren dürfte nicht so das Problem werden). Apropos Software schreiben. Welchen Compiler benutzt du ? Ich selbst benutze den IAR (weil einfach alles komplett da ist, ohne das ich erst Tage rumexperimentieren muß um ne LED ans rennen zu bringen) Gruß Rene PS. Dein "Schlachtplan" gefällt mir. Hoffe nur das ich bald mal den TAS irgendwie ans laufen bringe.
Datum:
Hallo, nun ist eine erste Alpha-Test-Version meiner Audio-Engine im Projekte bereich hochgeladen. Diese Version ist nur der erste Schuß, und enthält noch Fehler, ist aber dennoch lauffähig (ok die Biquads funktionieren nicht so wie sie sollen). Eine neuere Version plus Doku und C-Codeschnipsel folgen bald. Gruß Rene
Datum:
Hallo, das Projekt ist ja hoch interessant, auch wenn mir (zunächst) ein eher einfacher aber qualitativ halbwegs ordentlicher Audio Recorder mit SD oder CF oder HD als Speicher schon mal reichen würde. Wie ist denn der Stand der Entwicklung? Ich würde auch mitarbeiten, wobei meine (Frei)Zeit leider ziemlich begrenzt ist und ich auch mehr zum Audio(hardware)lager gehöre. Für das analoge Frontend könnten meine Fähigkeiten vielleicht reichen (wenn die Anforderungen daran nicht allzu elitär sind). Grüße Peter
Datum:
Hallo Peter, schön das du interesse an diesem Projekt hast :-) Im moment ist das ganze ein wenig zurückgefahren. Die beiden die noch mitmachen wollen (Kest und David) haben im moment wenig Zeit. Bei mir ist die Zeit zwar auch begrenzt, aber wenn ich kann arbeite ich mich ein stückchen weiter voran. Ich bin soweit das ich den o.g. Codec (TAS3004) schon am laufen habe und er auch erwartungsgemäß I2S Daten liefert. Das ganze ist auf einer Lochraster-Platine aufgebaut (mit einem MSP430 drauf) die als erste Version meines "Erweiterungsboards" fungieren soll. Die verbindung mit dem FPGA werd ich am Wochenende mal aufnehmen. Meine Version der Audioengine die ich bei dem Audio-Projekt-Artikel hier im Forum eingestellt habe kann ich mittlerweile nur als Beispiel für schlechte programmierung abtun. Ich bin dabei den Audio-Kern zu überarbeiten und dabei rausgekommen ist quasi ein Prozessor (mit MAC). Allerdings bin ich da noch am basteln, simulieren usw. und es wird auch noch was dauern bis diese Version fertig ist und ich den Source-Code mal zum "zerpflücken" :-) hier ins Forum stelle. Die Anforderungen an die Audio-Qualität sind (für mich jedenfalls) erstmal zweitrangig. Vernünftige AD/DA Wandler kann man immer noch eindesignen, mir geht es erstmal um das System als solches. Also wenn du mitmachen möchtest, gerne. In absehbarer Zeit werde ich mal einen Schaltplan für das Erweiterungsboard machen (mit 2-4 TAS3004) und hier zur Diskussion stellen. Gruß Rene
Datum:
Einen Audiorecorder könnte ich auch gebrauchen, ich benötige aber einen Anschluss für eine Festplatte, da es bei mir um Gigabytes geht. Auch wären digitale Schnittstellen wie AES/EBU nötig - die sich synchronisieren können.
Datum:
@lolli also im endeffekt wäre ein audiorecorder ebenfalls mit einem solchen projekt zu realisieren, allerdings ist es noch ein weiter weg bis dahin. ich denke ich werde das projekt mal wieder reaktivieren, zumal ich selbst auch schon etwas gebastelt habe auf dem man aufsetzen kann. also wenn du zeit und lust hast kannst du gerne mitmachen. gruß rene
Datum:
>Vernünftige AD/DA Wandler kann man immer noch >eindesignen, mir geht es erstmal um das System als solches Das denkst Du Dir aber einfacher , asl es real ist. Gerade die Analogtechnik macht ein gutes System.Billigkram gibt es für 200-300 überall zu erwerben.
Datum:
hallo ideenmann, mir ist schon klar das der analog-teil (speziell ad/da wandler) aufwendig ist. aber eigentlich auch nur dann wenn man mehr als 90 oder gar 100dB THD+N haben will. Da das aber nicht das vorrangige Ziel ist, sondern ein felxibles System (Audio-Prozessor) zu entwickeln, denke ich das die Wandler da eher zweitrangig sind, solange bis man ein funktionierendes Grundsystem hat. ich habe bei meinem test-kram einen einzelnen tas3004 verwendet ohne OPs und komme auf ca 70dB. für lochraster aufbau find ich das in ordnung. besser als ein 8 bit-wandler klingt es auf jeden fall ... gruß rene
Datum:
HM, für die Qualität brauche ich keine Zeit ins Basteln zu investieren, sondern benutze lieber weiter meine Behringerteile. Die haben für 99,- schon die komplette mechanische Infrastruktur mit drin. http://www.behringer.com/DSP2024P/index.cfm?lang=ger http://www.behringer.com/DSP110/index.cfm?lang=ger Man könnte sich mal überlegen, ob man nicht einfach die Hardware analysiert und sich eine eigene Software dafür schreibt.
Datum:
@jürgen es ist und soll immer noch ein selbstbau-projekt sein/werden. was habe ich davon wenn ich mir ne hardware nehme, diese analysiere und irgendwann mal einen filter selbst implementieren kann ? da kann ich mir gebraucht dann doch gleich ein chaemelon kaufen ... oder ein besseres dsp-starter kit. da hab ich sogar noch mehr von als ein behringer zweckzuentfremden. es geht mir um die entwicklung eines audio-prozessors bzw. einer audio-hardware, nicht um eine fertige lösung ....
Datum:
Hi leuts, ich bin sehr interressiert an dem projekt, habe jedoch noch nie mit FPGAs gearbeitet! ich hätte da aber auch noch ein paar ideeen. @ TheMaison, ich würde mich gaNz gerne mal privat mit dir unterhalten! wäre nett wenn du dich mal unter ephraimhahn|@|bttec|.|org ('|' weglassen..) melden könntest, oder mir deine mailadresse oderso gibst.. gruß ephraim
Datum:
ich bastle selbst gerade an einer idee ... aber alles mit fest vorprogrammierten DSPs