FOF-synthesis.

JohnnyBusca

rocket scientist
Lid sinds
4 juli 2001
Berichten
10.417
Locatie
Eindhoven - Strijp!
Daar gaan we dan..

Jarenlang hebben we nog niet over de FOF synthesis gesproken en dat is een schande heb ik begrepen. Ik had nog nooit van FOF synthesis gehoord dus ik ben wat gaan kijken op het mooie internet

Wat is het?
Designed in the first place for rich vocal imitation, and
developed from the CHANT program, the FOF unit generator
produces a complex, periodic signal with one spectral formant
region.

FOF's model is closely related to the source/filter paradigm of
natural instruments and the voice: a complex source is
amplified by a complex resonator. On the other hand, FOF
produces series of very short, often overlapping excitations,
that can be considered to be granules. (Clarke, J.M. 1988)

Blijkbaar is het dus een ontstaan vanuit de noodzaak om natuurlijke instrumenten en stemmen te produceren.

Voorbeelden:
http://www.csounds.com/accci/45/45-index.txt.html

Kan iemand mij uitleggen wat zo'n FOF pulse generator eigenlijk is.
45_01_1.gif


Ik zie een tapje met per tree vier parameters. Wat stellen die parameters voor?

FOF, is dat een puur simulatie synthese of is het ook in modules te bevatten?
 
Ik ben ook wel benieuwd. Ik heb serieus gezocht op internet, en ik snap dit niet:
Is FOF synthese nu hetzelfde als Formant synthese?

Daarbij: met welke synths kan je FOF realiseren? Ik kom alleen maar CSOUND voorbeelden tegen, da's voor mij een beetje academisch. Formantsynthese zoals ik het ken zit in de Yamaha FS1R (zeeeerrr cool) en ook in de Nord Modular (Formant OSC).

Ik weet er niet veel van, dus misschien sla ik hieronder de plank volledig mis:

Technisch gezien snap ik dus je het kan interpreteren als een spectraal rijke oscillator met daarover heen een filter met specifieke resonantiecurves. Dus meerdere zeer stijle resonantiefrequenties. Net als een soort vocoder, toch? Oscillator is dan de carrier, filter is dan de modulator.
Verder denk ik te snappen dat:
-Je hebt meerdere van die specifieke resonantiecurves. Elke curve is kenmerkend voor 1 'klank' (a, e, i, o , u etc.) die we een Formant noemen?
-In de FS1R heb je ook nog een soort sibilanten, dus niet harmonische (de S, de T, de H etc) geluiden uit spraak. Kan je ook synthesizen met witte ruis, toch?
-Het 'patroon' van die specifieke resonantiecurves is afhankelijk van de stem die je wil nabootsen. Dus mannelijk of vrouwelijk etc. Ook het patroon van die curves over de frequentieband heen verandert, als ik het goed begrijp. Dus de ene resonantiecurve blijft 'staan', de andere 'beweegt' over de frequentieband, afhankelijk van de frequentie die je erin stopt o.i.d.

Alleen ik lees inderdaad (zoals in bovenstaande post) ook nog iets met granulaire synthese.
En dat kan ik dus niet zo rijmen.

Wie weet meer? Ik neem aan dat de aanstichter van dit alles graag wil verduidelijken!
 
Laatst gewijzigd:
Origineel geplaatst door Hanz

-Je hebt meerdere van die specifieke resonantiecurves. Elke curve is kenmerkend voor 1 'klank' (a, e, i, o , u etc.) die we een Formant noemen?

Deze worden opgebouwd uit drie basis frequenties die verschillend zijn per formant... Ik weet niet of iemand toevallig een Binas bij de hand heeft :)... maar daar stond ooit iig een mooi tabelletje in met deze frequenties!
 
Origineel geplaatst door Almeros
Deze worden opgebouwd uit drie basis frequenties die verschillend zijn per formant... Ik weet niet of iemand toevallig een Binas bij de hand heeft :)... maar daar stond ooit iig een mooi tabelletje in met deze frequenties!
Inderdaad! Tabel 98C.. Spraak:

C1 Articulatorische klinkerdriehoek
C2 Akoestische klinkerdriehoek met de formantwaarden F1 en F2 voor de verschillende Nederlandse klinkers.
C3 Frequentiewaarden van de laagste drie formanten F1, F2 en F3 van twaalf Nederlandse klinkers; gemiddeld over 50 mannelijke sprekers.

Nu nog kijken hoe je dit moet lezen.
 
Mag ik voorzichtig aan zeggen dat het verschil tussen granulaire synthese en FOF is dat bij FOF de bron 'meestal' opgewekt wordt door oscillators en bij granulaire synthese 'meestal' een waveform is die met een bepaalde freq. herhaald wordt?

(wel pittige stof dit, vind die nord modular patches :halleluja )
 
Oef.... Binas... heren, denk aan m'n hart!
(Ooit, in een ver verleden m'n natuurkunde carrière afgesloten met het cijfer 4...)

Maar het bloed kruipt... kan iemand die Binas tabel es op de scanner leggen? :)

@Sander... eh, zoals ik lees in ieder geval *niet*. Ik lees dat FOF juist wel werkt met granules i.p.v. een 'normale' osc.
En dat is nu juist het stuk dat ik niet snap - ik kan me niet inbeelden hoe dat moet werken...

<OT> Waar blijft nu de input van de oorspronkelijke thread-aanvrager? ;)
 
Laatst gewijzigd:
Origineel geplaatst door Hanz
Oef.... Binas... heren, denk aan m'n hart!
(Ooit, in een ver verleden m'n natuurkunde carrière afgesloten met het cijfer 4...)

Maar het bloed kruipt... kan iemand die Binas tabel es op de scanner leggen? :)
Niet uit binas maar van http://www.meertens.knaw.nl/medewerkers/marc.van.oostendorp/propedeuse/6.signaal.html

C2:
driehoek.gif

C3:
klinkerspec.gif


Ze leggen hier verbanden tussen F1 en F2... en bij de onderste tekening zelfs met F3. Maar hoe moet ik dat in synths zien.. en om terug te gaan naar FOF.. Hoe zie ik dat in een FOF pulse generator? Is trede 1 F1, is trede 2 F2 en trede 3 F3?
 
Hmmm... in C2 staan twee freq's tegenover elkaar... Dat moet dan wel de ultieme basis zijn om een formant mee te maken... Als je hier dan de subharmonischen van deze frequenties bij plaatst heb je misschien al een leuke basis... Ik geloof dat het verschil in volume bij die subharmonischen voor de karakteristiek van de 'stem' zorgt...
 
ik heb een tijdje geleden een programma gemaakt (FseqEdit) dat wave samples converteert naar fseq data.
dat is data die in een fs1r geladen kan worden, en gebruikt wordt als opzoektabellen bij de formant synthese.

http://www.xs4all.nl/~niff/fs1r/

hier een voorbeeldje van hoe dat uiteindelijk kan klinken:

http://www.xs4all.nl/~niff/fs1r/fseqs/mp3/VocLove.mp3

formant synthese houdt in dat je formants genereert die samengevoegd worden om bijvoorbeeld een menselijk stemgeluid te simuleren.

fof synthese is meer een soort geavanceerde oscillator, en klinkt op zichzelf niet super spannend.
maar wat je er mee kunt doen is wel interessant, en de manier waarop het berekend word is slim.
je kunt bijvoorbeeld filter-achtige effecten maken zonder een fft te hoeven berekenen, wat heel veel processortijd scheelt. daarom kan de fs1r bijvoorbeeld 512 formanten tegelijk afspelen zonder te zweten. ((8 voiced formants + 8 unvoiced formants) x 32 polyfoon)
verder heb je een ander soort controle over het resulterende spectrum dan bij andere technieken.

de truc is slim:
je neemt een sinusgolf.
die moduleer je met een gaussian window dat periodiek opnieuw start.
dat window laat je periodiek opnieuw starten, afhankelijk van de gewenste centrumfrequentie.

daar komt het eigenlijk op neer.

als de golflengte van die fundamentele frequentie langer is dan het window, dan herhaalt het window zich niet, en blijft het signaal 0.
als de golflengte korter is, da wordt het window abrubt afgebroken en opnieuw gestart.

nu kun je door een aantal parameters aan deze opstelling te veranderen de eigenschappen van de gegenereerde golf beinvloeden.
je kan het window sneller of langzamer laten starten, je kunt de frequentie van de sinus veranderen, een andere golfvorm dan een sinus gebruiken, je kunt het window sneller of langzamer laten verlopen etc.
op die manier kun je bijvoorbeeld de bandbreedte van het spectrum bepalen, de middenfrequentie, de slope van de curve die in het spectrum ontstaat, of je alleen even, oneven of alle harmonischen wilt etc.

dat alles zonder complexe berekeningen te hebben hoeven doen. je zou zelfs vrij gemakkelijk een analoge implementatie ervan kunnen maken als je dat leuk zou vinden.


als er iemand is die het niet snapt maar het toch wil weten dan zal ik wat tekeningetjes zoeken of maken om het te verduidelijken.

wouter
 
Niff, je heerst! :halleluja (tenminste qua dat FS1R programma dan, persoonlijk ken ik je niet natuurlijk :))
Ben eigenlijk niet eens verbaasd dat de maker van FSeqEdit hier ook rondzweeft! :okdan:
Al moet ik zeggen dat ik 't nog niet 100% doorheb, heb wat zitten stoeien met je programma en wat samples, de resultaten zijn interessant maar niet echt eh... overeenkomstig.
Kwestie van oefenen, wellicht. Heb de FS1R nog maar een paar dagen - genoeg te leren nog! ;)

Back On Topic, ja inderdaad meer info is zeker wenselijk. Heb het nog niet echt gevisualiseerd, vooral dat Gaussian Window verhaal. Maar misschien is dat standaard natuurkunde en ben ik een beetje simpel. :confused:

Uit je verhaal kan ik niet eenduidig concluderen of de FS1R nu Formant-synthese doet òf FOF-synthese òf dat dat allebei hetzelfde is.

Bedankt voor je antwoord, in ieder geval!
 
Laatst gewijzigd:
goed om te horen dat het programma je bevalt :)
(ik ben trouwens bezig met een heel nieuw concept voor de fs1r.. later misschien meer daar over)

hij doet het allebei tegelijkertijd. het zijn twee aparte technieken.

formant synthese houdt in dat je een geluid maakt door gegenereerde formants bij elkaar te flansen.

die formants kun je op verschillende manieren maken:

* een van de methodes die je kunt gebruiken is fof synthese.
fof synthese is dus een manier is om een golfvorm met een bepaald spectrum te maken dat goed te gebruiken is bij formant synthese.

* je kunt formant synthese ook op een andere manier doen. door bijvoorbeeld witte ruis parallel door een aantal bandpass filters te halen en dan bij elkaar te voegen.


ok, ik ga nu even creatief met photoshop worden om het idee van fof synthese duidelijk te maken.
anders maak ik een klein programmatje met wat schuifjes waar je de golfvorm en het bijbehorende spectrum ziet.
dan wordt het al snel duidelijk denk ik.


wouter
 
ok, hier is een klein programmatje dat ik net gemaakt heb.
het laat zien hoe het werkt.

je ziet bovenin de golfvorm, en onder zie je het spectrum. links zijn lage frequenties, en rechts hoog.

speel maar wat met de knoppen om te zien wat er gebeurt.
de omschrijving bij de knoppen kloppen niet echt, en er zijn nog wat dingen die niet precies nauwkeurig zijn (dit is geen gaussian window maar een geliftte omgekeerde cosinus, en eigenlijk zou bij het opnieuw starten van het window de sinusgolf gesyncroniseerd moeten zijn. vandaar dat het spectrum niet helemaal klopt, maar als het goed is begrijp je het idee zo.

Bijvoorbeeld bij je fs1r is dit de basis van 1 formant (het zit daar iets complexer in elkaar, maar het komt op hetzelfde neer als dit programmatje)

wouter
 

Attachments

  • fofdemo.zip
    182,2 KB · Bekeken: 95
intressant (alhoewel ik de helft nog niet begrijp :confused: ;) ) ...
op mijn formant* ;) zit een resonantie module, eigelijk een gewone 3 bands parametrische eq (bp). Als je de filter verhoudingen volgens dat bekende tabelletje instelt, hoor je duidelijk een a klank, danwel e klank. Is een formant nou gewoon de verhouding van deze 3 filterinstellingen? Dus is een formant een soort 4-de dimensie van geluid (namelijk de "klankkast" ofwel vaste verhouding van filters, ofwel de resonantie) waarin het oorspronkelijke geluid resoneert? Of moet ik het anders zien?


PS: de andere 3 dimensies zijn dan volume, frequentie en klankkleur
*note: de modulaire zelfbouw synthesizer heet toevallig "formant", maar dat is toeval, en heeft niks te maken met formantsynthese. Het is dus gewoon een analoge modulaire synth
 
FOF synthese is inderdaad te vergelijken met de Vocoder techniek. Het is in Parijs, bij de IRCAM ontwikkeld, voornamelijk door Xavier Roder en is oorspronlijk bedoeld om de menselijk stem kunstmatig na te bootsen, iets waarmee Werner Kaegi in Utrecht toen-der-tijd ook mee bezig was (Vosim). Het systeem gaat uit van 'formanten', die het karakteristieke geluid van een bepaalde klinker opleveren. Nu blijkt ieder muziekinstrument bepaalde karakteristieke formanten te bezitten, zodat een dergelijk systeem ook lekker werkt om instrumenten na te bootsen.
De Vocoder is alleen een filtering, die op een bepaalde wijze te manipuleren is, terwijl bij FOF ieder band of formant nog een vorm meekrijgt, dus een omhulling, bijvoorbeeld via een VCA.
De parameters, waarover door John B. wordt gevraagd, zijn: de centrale frequentie van de band, de bandbreedte, de amplitude en de omhulling, dus waar een formant zich in het spectrum bevindt, hoe breed de formant is, hoe hard die in verhouding is ten opzichte van de andere formanten en hoe het verloop in de tijd is.

Wout
(die z'n internet verbinding weer terug heeft...)
 
De twee mooie grafiekjes die de heer John B hier inbrengt zijn zogenaamde 'fonetische diagrammen'. Fonetiek is de wetenschap van het voortbrengen van klanken, natuurlijk vooral bij de menselijke stem. Een mooi voorbeeld van een wetenschapper in de fonetiek is professor Higgens uit de film My Fair Lady, je weet wel, Rex Harrison, die Audrey Hepburn 'Het Spaanse Graan de Orkaan laat Weerstaan'... Klinkers van woorden ontstaan omdat de mond, die, met neus en andere lichaamsholten, eigenlijk een beweegbare klankkast is, die bepaalde delen van het spectrum wegfiltert, maar meer nog versterkt. De tong is hierbij van zeer groot belang. Nu worden bepaalde klanken voorin de mond gevormd, zoals de 'u' van 'vuur', ander weer achter in de mond, zoals de 'a' van 'mand'. Soms moet de mond wijd open, dan weer een beetje gesloten. Hierdoor ontstaan die frequenties, de formanten. Het bovenste diagram geeft twee formanten weer bij de klinkers, en ook de plaats in de mond en hoever die open is. Een van de leukste bezigheden is eens te kijken bij studenten Nederlands, die een tentamen fonetiek doen... Die rare bekken die ze dan trekken, want ze hebben het spiekbriefje altijd bij zich :)
Het tweede diagram geeft drie formanten, per klank en de frequentie bij die klank.

Als slot een fonetische mop...
Een Breedbekkikker heeft er genoeg van om door al die ooievaars te worden belaagd en bezoekt zijn huisarts.
"Dokter, hoe kom ik van die brede bek af?" vraagt het diertje.
"Simpel, door oefening, beste Kikker. Je gaat iedere avond voor de spiegel staan en je zegt een heleboel keer 'confiture, confiture, confiture, confiture..."
"Nou, dank je wel, dokter!" schalde de brede bek door de spreekkamer.

Die avond gaat onze vriend voor de spiegel staan, haalt diep adem en... Wat was het woord ook al weer? O, Ja...!
En vrolijk kwaakte hij: "Aardbeienjam, aardbeienjam..."

(Wel even hardop voorlezen en dan op de stand van je mond letten!

Wout
 
Laatst gewijzigd:
Back
Top