Forum: Mikrocontroller und Digitale Elektronik Implementierung von Synthesearten (FM, PD etc.)


von Christoph B. (cborowski)


Lesenswert?

Hallo zusammen,

ich stelle hier diese allgemein gefasste Frage, weil ich nicht genau 
weiß nach welchen Begriffen ich im Web genau suchen soll.

Ich will mich ein wenig in die Implementierung von 
Synthesizer-Synthesearten (FM, PD, additiv etc.) einlesen und evtl. 
selbst etwas implementieren. Zu den Synthesearten findet man ja Unmengen 
im Web, aber zu der konkreten Implementierung relativ wenig. Es geht 
also um Fragen wie:

- Wie minimiere ich die Latenz zw. Tastenanschlag und Start der 
Soundausgabe?
- Wie geht man mit Mehrstimmigkeit um, d. h. Tasten, die zu 
verschiedenen Zeiten angeschlagen wurden und deren zugehörige 
Soundausgabe sich jeweils in einem anderen Stadium befindet? Wird für 
jeden angeschlagene Taste ein eigener Thread gestartet oder handelt man 
alles in einem Thread ab?
- usw.

Es geht also z. B. um Fragen wie 'Wie kriege ich Mehrstimmigkeit in 
Echtzeit hin?'. Hoffe, dass ich verständlich machen konnte, was mich 
interessiert.

Könnt Ihr mir entsprechende Links auf Web-Seiten, PDFs etc. nennen, wo 
solche Dinge besprochen werden?

Gruß & Danke im voraus...
Christoph

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Worauf willst Du denn implementieren (Plattform, Bauteil)?

von Christoph B. (cborowski)


Lesenswert?

Travel Rec. schrieb:
> Worauf willst Du denn implementieren (Plattform, Bauteil)?

Soweit bin ich noch gar nicht. D. h. es steht keine Plattform, 
Mikrocontroller, Programmiersprache oder ähnliches fest. Mich 
interessieren momentan eher die Konzepte.

Gruß
Christoph

von Christoph (Gast)


Lesenswert?

Hat keiner einen kleinen Link?

Gruß
Christoph

von Bernhard R. (barnyhh)


Lesenswert?

Wie wäre es mit http://de.wikipedia.org/wiki/Synthesizer ? In der 
wikipedia finden sich oft genug
- gut lesbare und fundierte Einführungen
- eine Menge weiterführender Links und Literaturhinweise.

Bernhard

p.s. für polyphone fm-Synthese gab es bei der Fa. Döpfner vor Jahren 
(ca. 1990) ein Spezial-IC. Funktionsweise: zeitscheibenweise 
Echtzeit-Synthese von bis zu 8 Tönen parallel.

von Rene B. (themason) Benutzerseite


Lesenswert?

@christoph

Das Thema (FM, PD, Additive, Granular, usw) interessiert mich ebenfalls.
Ich habe zwar etwas das man als Plattform bezeichnen kann (siehe Artikel 
"Audio DSP mit Spartan 3 FPGA"), aber dazu braucht man VHDL Kenntnisse. 
Aber die Implementierung dieser Synthesearten schwebt mir ebenfalls vor.
Ich habe ebenfalls das Problem das ich da noch nicht viele (brauchbare) 
Beispielimplementationen gefunden hab.
Unter "music-dsp.org" gibt es zwar was, aber tlw sind es nur 
Konzeptideen in Text-Form, oder Programmsnippets in Csound oder so 
ähnlich.
Einen wirklich brauchbaren Ansatz habe ich da noch nicht.

Nur soviel vorab :

>Wie minimiere ich die Latenz zw. Tastenanschlag und Start der
>Soundausgabe?

Ohne DSP wird das nix. Es sei denn man schreibt sich ein VST Plugin. 
Dann bestimmt die Latenzzeit des ASIO-Treibers die Latenz.

>Wie geht man mit Mehrstimmigkeit um, d. h. Tasten, die zu
>verschiedenen Zeiten angeschlagen wurden und deren zugehörige
>Soundausgabe sich jeweils in einem anderen Stadium befindet?

Von dem was ich bisher gesehen habe läuft das so :
Es werden x Stimmen implementiert die alle gleichzeitig laufen. Mit 
jeder (zusätzlichen) Taste wird der nächste Sound "befüllt", sprich die 
entsprechenden Register gesetzt.
Auch wenn man nur monophon spielt wird bei jedem neuen Tastendruck auf 
die nächste Stimme geschaltet. Dadurch kann die eine Stimme erst 
ausklingen während die andere gerade läuft. Erst wenn der Sound so lang 
ist (z.b. Release Zeit sehr lang) und man wieder bei der "ersten" Stimme 
ist (z.b. Stakkato) dann wird der Sound "abgebrochen", und das hört man 
auch.

Was mich mal interessieren würde (um auch mal eine Frage dazu 
einzuwerfen).
Ich hatte mal einen Kawai K5000S. Der hat ja glaub ich 8 Stimmen. Diese 
8 Stimmen haben (wenn ichs richtig gelesen habe) jewels 64 bzw 128 
Oszillatoren die zusammengemischt werden.
Mich interessiert nun : Hat jeder Oszillator seinen eigenen Satz an 
Hüllkurven,LFO's usw ? Sind bei 8 Stimmen dann tatsächlich 1024 
Oszillatoren vorhanden ?

Ich würde mich gerne mit der Implementierung der Additiven bzw FM bzw PD 
Synthese auf meinem Board beschäftigen. Aber alleine ist das immer so 
müssig.
Falls jemand noch interesse hat ... ich suche immer noch Leute. Die 
Plattform ist mittlerweile sehr gewachsen (SD-Karte, SDRAM, 2 Codecs, 
größerer Atmel, Schnittstellen, Dataflash, ext. EEProm usw)

Was auch eine Idee ist : Einfach mal mit einem C-Programm zu versuchen 
die Synthese zu implementieren. Vllt auch Offline, also Syntheseergebnis 
in WAV-Datei schreiben und dann anhören. Wenns dann in C klappt lässt es 
sich leicht in einem DSP oder eben mit mehr aufwand in einen FPGA 
implementieren.

von Christoph B. (cborowski)


Lesenswert?

@Bernhard R.

Genau das meinte ich mit 'Zu den Synthesearten findet man ja Unmengen im 
Web, aber zu der konkreten Implementierung relativ wenig'. D. h. der 
Wikipedia-Artikel, den ich übrigens bereits kenne, beschäftigt sich 
nicht damit, wie konkrete Synthese-Implementierungen aussehen bzw. 
bestimmte Dinge gelöst werden.


@ Rene Böllhoff

>Ich würde mich gerne mit der Implementierung der Additiven bzw FM bzw PD
>Synthese auf meinem Board beschäftigen. Aber alleine ist das immer so
>müssig.
>Falls jemand noch interesse hat ... ich suche immer noch Leute.
Leider habe ich aus beruflichen Gründen nicht die Zeit um mich wirklich 
angemessen an so einem Projekt zu beteiligen. Interesse wäre aber 
vorhanden.

Übrigens scheint es die Seite www.music-dsp.org nicht mehr zu geben :(

Zum Kawai K5000S... der ist 32-stimmig, additiv und bietet sehr viele 
Möglichkeiten zum Soundverbiegen. Im Internet gibt es sehr viele Infos 
darüber. Da sollten sich deine Fragen schnell beantworten lassen.

Gruß
Christoph
PS.: Jetzt spiele ich etwas mit meinen beiden Philips VP5500

von Bernhard R. (barnyhh)


Lesenswert?

Hier findest Du das Datenblatt des SAM8905, eines 8-stimmig polyphonen 
FM-Soundgenerators: 
http://www.datasheetarchive.com/SAM8905-datasheet.html

In irgendeiner Computer- oder Elektronikzeitschrift aus den Jahren 1990 
/ 1991 (c't, chip, elektor, elrad ...) gab es einen mehrteiligen Artikel 
dazu (möglicherweise incl. 808x basierendem Controller).

Ich denke, daß so etwas konkret genug ist. Jedenfalls sollte der SAM8905 
sich anhand dieser Unterlagen sogar in ein FPGA hineinreenginieren 
lassen.

Bernhard

von Michael U. (amiga)


Lesenswert?

Hallo,

http://www.discretesynthesizers.com/nova/intro.htm

das vielleicht auch als Anregung? ;-))

Soundbeispiele sind da ziemlich unten auf der Seite.

Gruß aus Berlin
Michael

von Bernhard R. (barnyhh)


Lesenswert?

Noch eine Anregung:
http://www.maths.abdn.ac.uk/~bensondj/html/

Bernhard

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.