www.mikrocontroller.net

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


Autor: Christoph Borowski (cborowski)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Worauf willst Du denn implementieren (Plattform, Bauteil)?

Autor: Christoph Borowski (cborowski)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat keiner einen kleinen Link?

Gruß
Christoph

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rene B. (themason) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christoph Borowski (cborowski)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch eine Anregung:
http://www.maths.abdn.ac.uk/~bensondj/html/

Bernhard

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.