Zijn er DSP C++ programmeurs hier?

gewoon een heeeeeeeeeeeeeeeeeeeeeule grote wavetable bakken gheheheh :-P
 
Gewoon de juiste waarde uitrekenen he? Ik ben erg benieuwd naar die magische Harry Pottercode waar jij mee gaat komen, waarin een toongenerator wordt geïmplementeerd die een sinus-, zaag-, blok- of andere elementaire synthesizergolfvorm met een continue (d.w.z. traploos instelbare), tijdvariante frequentie uitrekent d.m.v. slechts één enkele instructie per sample (de minimale codelengte voor het ophalen van een getal uit het geheugen).

Zo werkt het niet. Lezen uit het geheugen kost meerdere cpu cycles. Afhankelijk van of en in welke cache het rondhangt wel honderd. Daar komt nog wat rekenwerk bij om het juiste sample te vinden en het vervolgens te filteren. Bij elkaar duurt dat wat langer dan de cpu gewoon de sinus te laten uitrekenen. Bovendien kan een pipelined cpu bijna iedere cpu cycle een nieuwe instructie starten, ook al duurt het meerdere cpu cycles voordat ze klaar zijn. Daar heb je alleen niet zoveel aan als je op het geheugen staat te wachten.
 
Zo werkt het niet. Lezen uit het geheugen kost meerdere cpu cycles. Afhankelijk van of en in welke cache het rondhangt wel honderd. Daar komt nog wat rekenwerk bij om het juiste sample te vinden en het vervolgens te filteren. Bij elkaar duurt dat wat langer dan de cpu gewoon de sinus te laten uitrekenen. Bovendien kan een pipelined cpu bijna iedere cpu cycle een nieuwe instructie starten, ook al duurt het meerdere cpu cycles voordat ze klaar zijn. Daar heb je alleen niet zoveel aan als je op het geheugen staat te wachten.


Ik krijg geen antwoord op mijn vraag en wat je in een discussie over de functie en de rol van DSP precies wil duidelijk maken met die CPU en pijplijnen ontgaat me. Wil je daarmee zeggen dat het sneller worden van de hardware de grenzen verlegt van wat we onder DSP moeten te verstaan en dat we voortaan dingetjes als een oscillator "gewoon" uitrekenen i.p.v. gebruik te maken van DSP-technieken? Wat "gewoon", hoezo "gewoon",vraag ik.
Maar, nomen est omen, zmooc hult zich in rook...

Even samenvattend:
In #32 zei je: "Het gros van wat een softsynth doet zou ik niet zozeer signal processing maar juist het construeren en samenvoegen van verschillende signalen (oscillators, envelopes). Pas daarna komt de echte DSP om de hoek kijken bij de filters en equalizers enzo."

Daar reageerde ik op in #36 door te wijzen op enkele complicaties waar je voor komt te staan als je een toongenerator wilt bouwen die aan minimale muzikale eisen voldoet, bijv. continue, tijdvariante frequentieregeling. Mijn eigen antwoord was: de analyse en oplossing van deze problemen vind je in DSP.

In #39 zeg je, op basis van hardware-argumenten, dat je de samplewaarden van de oscillator tegenwoordig "gewoon uitrekent" en dat "daarom" de problematiek die ik beschrijf niet bestaat. Wel, als die problematiek die ik beschrijf niet bestaat, mag ik je dan vragen op wat voor soort bewerkingen dat "gewone" rekenwerk van jou dan wèl betrekking heeft, als het geen DSP is maar wel realisaties biedt voor de in #36 genoemde, onvermijdbare problemen?

In #43 ga je nog even door over die hardware en spreek je andermaal van "gewoon" een sinus uitrekenen. En dat dit de CPU minder tijd kost dan iets uit het geheugen ophalen. Maar dat is totaal irrelevant voor de discussie en leidt alleen maar af van de kernvraag: de betekenis en rol van DSP.

Tussen haakjes, nu je toch dit verband legt tussen een oscillator en de sinusfunctie, ik begrijp niet waarom je bij de implementatie van een sinusgenerator gebruik zou maken van de sinusfunctie van de CPU. Die kost immers nog altijd veel meer rekentijd; een optimaal snelle sinustoongenerator implementeer je met een 2de orde IIR filter. Die is ook op de nieuwste PC nog steeds ruim 50% sneller dan de methode waarbij je de sinusfunctie van de CPU aanroept, zoals je zelf kunt checken. Hier is dus sprake van een typische DSP-benadering die niet langzamer is, zoals jij beweert, maar "gewoon" sneller.
 
Ik heb geen zin meer om op deze (jouw) manier te discussieren over dit onderwerp. Ik zal het ook even samenvatten: ik gaf aan dat je niet per se DSP technieken nodig hebt en ging wat dieper in op een voorbeeld daarvan. Jij hakt daar op onbeschofte wijze op in en stelt dat het onzin is zonder dat inhoudelijk te beargumenteren. Vervolgens doe je net alsof je niet begrijpt wat ik zeg en stel je wat vragen teneinde het antwoord - desnoods uit de context gerukt - daarop te benutten om maar weer eens duidelijk te maken hoe dom mijn antwoorden wel niet zijn en hoeveel je wel niet weet van DSP. Maar dat wisten we al (en dat is niet cynisch bedoeld).

En daar heb ik geen zin in.

Als je over dit onderwerp wil discussieren, leg dan gewoon uit wat er mis gaat met mijn methode (die je volgens mij heus wel begrijpt). Ik sta altijd open om van de expert te leren, maar als zijn arrogantie het steeds wint van zijn educatieve vaardigheden ben ik weg uit de klas.

Tussen haakjes, ik stel nergens dat de DSP-benadering langzamer is. In tegendeel. Ik heb uitsluitend gezegd dat het simpelweg uitrekenen van een sinus sneller is dan de lookup in een wavetable (waar je zelf mee kwam).
 
...Tenzij je met wave synthesis bezig bent ga je daarom niet uit van gesamplede data, je rekent gewoon de juiste waarde uit. Zonder jitter en inclusief vibrato. Daarom doet de problematiek die je beschrijft zich helemaal niet voor en blijf ik erbij dat echte DSP technieken in softsynths voor moderne hardware alleen in de filters en equalizers nodig zijn.
Volgens mij beschrijf je hier wel (het gros van de) softsynths, die geen of slecht audio-modulaties aankunnen (FM o.a.). Een serieuze beperking in klankmogelijkheden vind ik, welke men blijkbaar enkel kan verdoezelen door de oscillator uit te breiden met diverse wavetabels, gesamplede data. Veel DSP is daarbij volgens mij dan ook niet nodig, maar dat laat zich ook duidelijk horen. Ondanks alle snellere PC's heb ik nog maar bitter weinig hard- en/of softsynths gehoord, die dan toch aan de modulatiemogelijkheden van bvb. analoge synthesizers kunnen tippen (zie bvb. mp3 met jungle sounds, op m'n website). Volgens mij niet omwille van de PC-snelheid maar het goed toepassen van DSP.

(P.s. er zijn uitzonderingen ... gelukkig... maar het gaat om grosso modo.)

[EDIT]
(Is dit ook een uitzondering zmooc ?
... als je het zelf niet doet, ik dan :
http://zmooc.net/miep/
Zet dat toch eens wat meer in de verf man.)
[/EDIT]
 
Laatst gewijzigd:
Ik heb geen zin meer om op deze (jouw) manier te discussieren over dit onderwerp. Ik zal het ook even samenvatten: ik gaf aan dat je niet per se DSP technieken nodig hebt en ging wat dieper in op een voorbeeld daarvan. Jij hakt daar op onbeschofte wijze op in en stelt dat het onzin is zonder dat inhoudelijk te beargumenteren. Vervolgens doe je net alsof je niet begrijpt wat ik zeg en stel je wat vragen teneinde het antwoord - desnoods uit de context gerukt - daarop te benutten om maar weer eens duidelijk te maken hoe dom mijn antwoorden wel niet zijn en hoeveel je wel niet weet van DSP. Maar dat wisten we al (en dat is niet cynisch bedoeld).

En daar heb ik geen zin in.

Als je over dit onderwerp wil discussieren, leg dan gewoon uit wat er mis gaat met mijn methode (die je volgens mij heus wel begrijpt). Ik sta altijd open om van de expert te leren, maar als zijn arrogantie het steeds wint van zijn educatieve vaardigheden ben ik weg uit de klas.

Tussen haakjes, ik stel nergens dat de DSP-benadering langzamer is. In tegendeel. Ik heb uitsluitend gezegd dat het simpelweg uitrekenen van een sinus sneller is dan de lookup in een wavetable (waar je zelf mee kwam).


Ik kan me goed voorstellen dat je geen zin meer hebt om verder te praten, want je hebt in deze discussie inmiddels al je kruit verschoten en je voelt je in het nauw gebracht. Allemaal begrijpelijk. Maar ik accepteer niet dat je me woorden in de mond legt die ik niet heb gebruikt (bijv. ik heb in deze draad nooit ook maar iets in de richting van een lookup wavetable gezegd, geschreven of gesuggereerd). Ik accepteer evenmin dat je met grote woorden komt als "onbeschoft" en "arrogant". Door geen van beide termen voel ik me aangesproken.

Beste wensen 2012.
 
Hallo Allemaal,

Ik ben sinds enige tijd bezig met het programmeren van een synth plugin. Ik gebruik hiervoor synthedit als framewerk maar met eigen geschreven modules in C. Ik vroeg me af of er hier op het forum meer mensen zijn die zich hier mee bezig houden om mogelijk wat ideeën uit te wisselen. Het gaat mij hier vooral om goede algoritmes voor audio effecten.

Met vriendelijke groet,

Bastiaan

Hoi Ik heb zins kort me eerste jaah eerste module af voor synthedit
Deze wil ik je wel opstuuren echter ben ik nu niet thuis

Het betreft een FM/FX module
En ik ben wel geintreseerd om ideetjes uit te wisselen hoor!
Met zn twee weet je meer als 1 (of je moet het oneens zijn haha)

De code zal ik ook stuuren weet nu niet meer even zo snel hoe die inelkaar stak
Igg De module doet het volgende
je hebt het singaal ingang en de mod in gang
je gooit een osc in de singaal ingang en een andere in de mod ingang

Vervolgens kan je kiezen uit twee outputs voor verschillende style"FM" Klanken
Ik ben nog maar net begonnen dsp stuff te programeren dus hij bij overstuurde waardes nogal vierkant klinken

Hoe hoger het ingangs singaal is van de MODin hoe meer de OSCin word gemoduleerd
Ik zal morgen middag de module naar je opstuuren ;)

Hier is een Kleine fm synth gemaakt met de module
http://www.musicforyourears.nl/Downloads/MFYE-MiniFM.zip
MiniFm.JPG


Fijne jaar wisseling !

ps:
Waarom een losse fm module??
Ik had van EVM de gratis osc gedownload maar die onderstuent zelf geen fm
Dus heb ik zelf maar wat inelkaar gezet
Tevens wel leuk nu kan je achter je OSC een Filter hangen en die door de Fm module hale
 
Ik accepteer evenmin dat je met grote woorden komt als "onbeschoft" en "arrogant". Door geen van beide termen voel ik me aangesproken.

Beste wensen 2012.

Ik snap dat je je daar niet in herkent. Dat is nou net het probleem.
 
Ja iets met kinderen en dat er nog best veel verf op moet ...
De uitdrukking : 'Zet dat toch eens wat meer in de verf man.' betekend in't vlaamschhhh : laat dat toch wat meer opvallen.
Bedoeld wordt : het lijkt me zodanig de moeite dat je dit toch wel wat beter en meer aan anderen mag laten zien.
(Meer hoef je dat niet ook te kleuren hoor.)
 
De uitdrukking : 'Zet dat toch eens wat meer in de verf man.' betekend in't vlaamschhhh : laat dat toch wat meer opvallen.
Bedoeld wordt : het lijkt me zodanig de moeite dat je dit toch wel wat beter en meer aan anderen mag laten zien.
(Meer hoef je dat niet ook te kleuren hoor.)

Ah ok, Vlaams;-) Maar Miep is gewoon nog niet klaar voor "eindgebruikers" en ik ben niet zo van het pochen met software die je nog niet zelf kunt uitproberen. Daarom laat ik haar bewust even in de kast.
 
Volgens mij beschrijf je hier wel (het gros van de) softsynths, die geen of slecht audio-modulaties aankunnen (FM o.a.). Een serieuze beperking in klankmogelijkheden vind ik, welke men blijkbaar enkel kan verdoezelen door de oscillator uit te breiden met diverse wavetabels, gesamplede data. Veel DSP is daarbij volgens mij dan ook niet nodig, maar dat laat zich ook duidelijk horen. Ondanks alle snellere PC's heb ik nog maar bitter weinig hard- en/of softsynths gehoord, die dan toch aan de modulatiemogelijkheden van bvb. analoge synthesizers kunnen tippen (zie bvb. mp3 met jungle sounds, op m'n website). Volgens mij niet omwille van de PC-snelheid maar het goed toepassen van DSP.

die mp3 met jungle sounds heb ik op je website niet kunnen vinden...
 
Zijn er hier nog dsp programuurs die in zijn voor een samewerkingen???
of is het een Audiocollage & Wavaguide VS zmooc battle aan het worden??

miscien moet eimand de topic titel maar is gaan aanpassen :Z
 
Zijn er hier nog dsp programuurs die in zijn voor een samewerkingen???
of is het een Audiocollage & Wavaguide VS zmooc battle aan het worden??

miscien moet eimand de topic titel maar is gaan aanpassen :Z

Nouw Gijs, altiet in vor samewerkinghe!
En beste de wense int nije jar, jong! :doei:
 
WaveGuide7 schreef:
Ik kan me goed voorstellen dat je geen zin meer hebt om verder te praten, want je hebt in deze discussie inmiddels al je kruit verschoten en je voelt je in het nauw gebracht. Allemaal begrijpelijk. Maar ik accepteer niet dat je me woorden in de mond legt die ik niet heb gebruikt (bijv. ik heb in deze draad nooit ook maar iets in de richting van een lookup wavetable gezegd, geschreven of gesuggereerd). Ik accepteer evenmin dat je met grote woorden komt als "onbeschoft" en "arrogant". Door geen van beide termen voel ik me aangesproken.

Beste wensen 2012.
+ 1

Was niets arrogants aan en al zeker niet onbeschoft.
Ongeargumenteerd kon je jouw reacties ook al niet noemen.

Inhoudelijk denk ik ook wel eens te zijn met jou.
Veel meer argumentatie, en uiteindelijk geeft dat altijd de doorslag. Zeker als je gesprekspartner, na een verbaal salvo, het met de staart tussen de benen afdruipt.
 
Ik kan me goed voorstellen dat je geen zin meer hebt om verder te praten, want je hebt in deze discussie inmiddels al je kruit verschoten en je voelt je in het nauw gebracht. Allemaal begrijpelijk. Maar ik accepteer niet dat je me woorden in de mond legt die ik niet heb gebruikt (bijv. ik heb in deze draad nooit ook maar iets in de richting van een lookup wavetable gezegd, geschreven of gesuggereerd). Ik accepteer evenmin dat je met grote woorden komt als "onbeschoft" en "arrogant". Door geen van beide termen voel ik me aangesproken.

Beste wensen 2012.

Ok toch nog even dan. Ik heb nog genoeg kruit, maar ik heb helemaal geen zin om met kruit te schieten, wel om op normale toon over softsynth theorie te discussieren. Daarom even alleen een reactie op "onbeschoft" en "arrogant": hoe zou je je "Harry Pottercode"-opmerking zelf klassificeren dan? "Vriendelijk" en "constructief"?

Verder leg je me voortdurend zaken in de mond die ik niet heb gezegd ("DSP-benadering die niet langzamer is, zoals jij beweert", ), ontken je dat je zelf bepaalde dingen hebt gezegd (#36 gaat over een toongenerator o.b.v. een gesamplede toon; dat is geen wavetable lookup?) en noem je mijn antwoorden op je eigen vragen ineens "totaal irrelevant voor de discussie".

Nou, dat noem ik dan onbeschoft en arrogant.
 
Back
Top