Forum: Digitale Signalverarbeitung / DSP / Machine Learning welchen DSP für einen VA Musik-Synthesizer ?


von Roger S. (yello8247)


Lesenswert?

Hallo Zusammen

Ich möchte gerne einen digitalen Synthesizer (Virtuel Analog) 
entwickeln.
Meine Motivation: learning by doing DSP oder FPGA Technologie und 
natürlich
mein allgemeines Interesse an HW-Synthesizern !

Nun nach vielen Fragen stellen und googeln scheint für diesen zweck
eine DSP-Plattform die geeignetere als eine FPGA-Plattform zu sein.

Welche DSP-Plattform könnt Ihr mir empfehlen ?

1. Freescale DSP56k (alte Familie dafür gratis Symphonie SDT).
scheint mehrheitlich in Assembler programmiert zu werden 
(FreescaleSuit56) ?

2. Analog Device Sharc (Visual DSP++) 90T Eval ansonsten 4300$
4300$ für ein Hobbyprojekt tu ich mir nicht an !!!!
Gibt es da Gratis-Tools ?

3. TI TMS320C6713 Marktführer (CCStudio 30T Eval ansonsten gleich 
schweinisch Teuer wie bei AD !! Oder gibt es da auch free Tools ?

Von der Toolchain-Situation her scheint es keine alternativen zu den in 
die
Jahre gekommenen freescale Audio-DSP's 56k zu geben.?
Auch der soeben gestartete DSP-Kurs im Elrad setzt auf den DSP56 mit 
einer
Assembler Toolchain !!! Erstaunt mich schon, den eigentlich wollte ich 
die Sache in C Programmieren.

Hat mir da jemand einen Tip ? oder sogar selber mal so ein Synthesizer 
mit einem DSP realisiert ?

Gruss
Roger

von ... (Gast)


Lesenswert?

Motorola 56000:
Gut in Assembler zu programmieren. Für C wegen der 3-fach 
Harvard-Architektur (P,X,Y) eher schwierig.
Von der Leistungsfähigkeit für einen kompletten Synthie eher zu schwach.
Da wird man dann wohl mehrere nehmen müssen.

TI TMS320C6713:
Deutlich leistungsfähiger. Wie gut sich DSP-Algorithmen von C effektiv 
auf die Architektur abbilden lassen ist mir unbekannt.
Ansonsten ist er bei TI abgekündigt.
Damit wäre er bei mir in der Auswahl raus.

von Strubi (Gast)


Lesenswert?

Moin,

für den SHARC gibt's einen GCC, sogar selbst von Analog Devices, man 
findet ihn irgendwo versteckt auf deren FTP-Server.
Da aber ADI zu den üblichen Verdächtigen gehört, die gerne aus 
OpenSource Nutzen ziehen, aber beim Einhalten der Gnu-Lizenz etwas 
systematische Nachlässigkeit zeigen, ist letzterer nicht wirklich gut zu 
gebrauchen, das Programm auf den SHARC zu kriegen und zu debuggen ist 
nochmal ein anderes Thema.
Die GNU-Toolchain für den Blackfin wird deutlich besser unterstützt, 
aber der Blackfin ist vom Assembler-Befehlssatz für 24 Bit-Audio weniger 
effizient, zumindest gehen da die tollen parallel-Multiply-Accumulate 
nicht (nur 1.15 fixkomma). Aber reicht vollauf, wenn man kein 
High-End-Gerät machen muss/will.
Sonst würde ich solche Operationen tendentiell auf FPGAs auslagern.
Bin mit dem Gespann Blackfin & Xilinx-Spartan 3(E)-FPGA bisher prima 
gefahren.
Bist du dir denn im Klaren, was das System an Algorithmen bewältigen 
soll? Falls du mit Linux arbeitest, kannst du schon relativ viel auf dem 
PC Vorarbeit leisten und dann u.U. die Programme nur noch portieren. Nur 
dran denken: viele DSPs haben keine FPU, also musst du 
Fixpoint-Arithmetik emulieren.

Gruss,

- Strubi

von Schon John Po (Gast)


Lesenswert?


von yello8247 (Gast)


Lesenswert?

Strubi schrieb:
> Bist du dir denn im Klaren, was das System an Algorithmen bewältigen
>
> soll? Falls du mit Linux arbeitest, kannst du schon relativ viel auf dem
>
> PC Vorarbeit leisten und dann u.U. die Programme nur noch portieren. Nur
>
> dran denken: viele DSPs haben keine FPU, also musst du
>
> Fixpoint-Arithmetik emulieren.

Vielen Dank mal für Eure Inputs !

Also das System sollte folgendes verarbeiten können:
1. Min. 5 Stimmen a 2 Oscillatoren (Sägezahn und Rechteck) d.h 10 
Oscillatoren.
2. 1 Filter mit Env.Gen (Moog emulation) pro Stimme also 5.
3. VCA (DCA) mit Env.Gen (ADSR Hüllkurve)
4. 2 LFO (1 Für Filter und 1 Für VCA)

Halt ein klassischer Subtraktiver Synth (5-fach Polynom)

Gruss
Yello

von APW (Gast)


Lesenswert?

Ich mach nichts mit DSPs, weiss also auch nicht wieviel Rechenleistung
du tatsächlich brauchst.
Aber letztens bin ich über den hier gestolpert, als ich nachschauen
wollte, was 56k-mäßig bei freescale noch läuft: DSP56721
Gibt auch noch ein Eval-System dazu (Symphony SoundBite Development 
Kit).

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Muss es ein DSP sein? Wir wär's mit einem Cortex-M3, der ist von der 
Entwicklungsumgebung her leichter zu handhaben. Zur Rechenleistung: bei 
einer Abtastrate von 44.1 kHz und 80 MHz Takt kannst du > 300 
Multiply-Accumulates pro Sampletakt ausführen. Das sollte für 5 Stimmen 
reichen.

von yello8247 (Gast)


Lesenswert?

Andreas Schwarz schrieb:
> Muss es ein DSP sein? Wir wär's mit einem Cortex-M3, der ist von der
> Entwicklungsumgebung her leichter zu handhaben. Zur Rechenleistung: bei
> einer Abtastrate von 44.1 kHz und 80 MHz Takt kannst du > 300
> Multiply-Accumulates pro Sampletakt ausführen. Das sollte für 5 Stimmen
> reichen.

Tja das hab ich mich auch schon gefragt ? Ich hätte sogar ein Eval-Board
STM32F103ZE.
Sobald Audio ins Spiel kommt schreien halt alle nach DSP !
Aber je länger ich mich umschaue desto eher bekomme ich das Gefühl dass 
die
Tage des DSP's gezählt sind ? Da gibt es ja mittlerweile uP mit DSP oder
FPU units integriert und bei wirklich schnellen Anwendungen kommt ein 
FPGA zum Einsatz.
Aber hat der DSP nicht doch den Vorteil dass die ganze Datenverarbeitung
bei 24Bit (+Overhead) Auflösung bleibt und ich somit keine 
Datenwandlungen
hin und her machen muss ?

Gruss
Yello

von jonas biensack (Gast)


Lesenswert?

Hallo,

ich bin gerade sowas am programmieren! Zur zeit habe ich: DCO (pll mit 
wavetable), DCA, DCF (einfachen Lowpass) und einen Mixer der alles mixen 
kann. Zusätzlich sind die Eingänge und Ausgänge alle normalisiert und 
nicht direkt miteinander verbunden, sondern können über einen (ich 
nennne in Patcher) verbunden werden. Also quasi digital modularer 
synthesizer ;)
Wenn du magst post ich dir mal ein bissel code zum anfixen...

P.S. den Lfo kannste dir sparen, ist ja nichts anderes wie langsamer 
DCO, evtl. hier halt sinus als Wellenform mit anbieten...

>Muss es ein DSP sein? Wir wär's mit einem Cortex-M3, der ist von der
>Entwicklungsumgebung her leichter zu handhaben. Zur Rechenleistung: bei
>einer Abtastrate von 44.1 kHz und 80 MHz Takt kannst du > 300
>Multiply-Accumulates pro Sampletakt ausführen. Das sollte für 5 Stimmen
>reichen.

Genau, ich bin dafür auch vom AVR Lager kurzweilig ins ARM lager 
gewechselt, genauer gesagt benutze ich ein LPCExpresso. Denn das kann 
ich als USB-Audio Interface bentzen und bekomme so den Sound kristall 
klar aus dem Synthesizer raus -  ansonsten hast du da auch noch eine 
Aufgabe vor dir?! :)

Allerdings sollte man die Leistung auch nicht so überbewerten denn:
Bei 44.100 Khz Samplingfrequenz und angenommen 8-fachen Oversampling für 
die moog-filter (minimum) wirds echt eng...


gruß jonas

von Roger S. (yello8247)


Lesenswert?

jonas biensack schrieb:
> Wenn du magst post ich dir mal ein bissel code zum anfixen...

Das wäre natürlich super !!!!!!!!
Ich bin nicht so der Programmier-Krack komme eher von der
HW-Seite und tue mich desshalb schwer.

Von daher wäre es eine echte Hilfe !(Reverse Engineering)

Meine Motivation zu diesem Projekt ist auch so eine Art
learning by doing.

Ich kann dich nicht finden da Du nur als Gast eingelogt bist.
Kannst Du mir eine PN senden ?

Gruss
Yello

von yello8247 (Gast)


Lesenswert?

Hallo Jonas

Meine email wäre:
roger.schweizer@bluewin.ch

Gruss
Yello

von Rene B. (themason) Benutzerseite


Lesenswert?

@Jonas

Ich wäre auch interessiert an dem Code. Ich hab selbst zwar schon was in 
der Richtung gemacht, aber ist halt immer mal schön zu sehen wie andere 
das machen.

Meine EMail Adresse ist reneboellhoff (ät) gmx (punkt) de

Wäre echt super wenn du mir das zukommen lassen könntest.

Gruß
Rene

von K. L. (Gast)


Lesenswert?

Kann man von den Projekten mal was sehen oder hören?

Hier machen das welche mit einem PIC
http://www.kickstarter.com/projects/holland/nth-music-synthesizer

von Bronco (Gast)


Lesenswert?

Eventuell wäre auch das hier interessant:
http://www.reichelt.de/Programmer-Entwicklungstools/DM-330011/3/index.html?;ACTION=3;LA=2;ARTICLE=96466;GROUPID=2969;artnr=DM+330011

C-Compiler gibt's umsonst bei Microchip.

Ob die Rechenleistung für Deine Zwecke reicht, kann ich nicht sagen, 
allerdings ist es nur ein 16Bitter und hat max. 40MHz.

von Mr. Z (Gast)


Lesenswert?

Glaubst Du, dass Roger nach 1.5 Jahren den thread noch liest?
Wenn er jetzt noch keinen DSP gefunden hat, dann wird das nichst mehr 
mit dem AV Musiksynthesizer.

von roger (Gast)


Lesenswert?

Doch Doch klar bin schon noch interessiert !!!
Aber ich würde es mit einem Cortex M3 oder M4 realisieren.
Da ich aber sehr wenig Zeit im Moment habe schieb ich dies schon eine
ganze weile vor mich her !

Gruss
Roger

von Tom W. (Gast)


Lesenswert?

Mr. Z schrieb:
> AV Musiksynthesizer.
VA-Synthesizer = Virtuell Analoger Synthesizer

roger schrieb:
> einem Cortex M3 oder M4
Darüber habe ich auch bereits nachgedacht, zumal ich mit Cortex 
entwickle. Wie weit ist Dein Projekt gediehen?

Klaus L. schrieb:
> Hier machen das welche mit einem PIC
Sehr schönes Projekt, vom Optischen her, allerdings ist das meiner 
Meinung nach wegen des limitierten Chips zum Scheitern verurteilt - auch 
wenn sich auf diesem Geldgeber-Pool offenbar $30,000 eingefunden zu 
haben scheinen.

von Markus F. (Gast)


Lesenswert?


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.