en ze gaan gewoon door hoor..
En bij geluid maak je volgens jou geen akoestisch 3d model van een ruimte, om galm te berekenen bijvoorbeeld? En heb je geen reflecties, absorptie, transmissie, etc?
Mag jij mij gaan uitleggen hoe jij 'procedureel' een distortion effect wil maken bijvoorbeeld, waarbij je geen last hebt van aliasing.
Inderdaad simuleerbaar, maar nog niet realtime in zulk detail voordat CPU's ongeveer 100-1000 keer zo snel zijn als nu.
Ik zal even je quote aanhalen:
Ik zei toch relatief? De verhouding tussen minimaal en maximaal waarneembare frequentie is bij het oog ongeveer 2, en van het oor ongeveer 1000 keer.
Ja, en bij digitale audio gebruik je soms ook 64bit nauwkeurigheid, so what's the difference?
Realtime zeker, op een huis tuin en keuken pc?
niet bij het namaken van een analoge drumcomputer
het geluid gaat namelijk pas reflecteren enzo als het het apparaat uit is! (toch?)
Dat heeft toch nix met elkaar te maken?!
Een distortion word toch gewoon adh van 1 of andere formule (gekozen door de programmeur) toegepast op de binnekomende data gegenereerd! Op welke manier is dit niet procedureel?!
Als de date & de distortion procedureel zijn, hoe kan er dan aliasing optreden?
Ja maar de golflengtes van geluid en licht liggen alles behalve dicht bij elkaar in de buurt. Daar moet je ook rekening mee houden. Licht heeft veeeeeeel hogere frequenties.
Jamaar 64bit bij oudio betekent ook letterlijk 64 stappen juist?
Bij kleur is dat wel meer, weet nu niet vanbuiten hoeveel stappen een 64bit kleurenkanaal bevat, maar weet bv wel vanbuiten dat 8bit 256stappen is.
inderdaad, maar als je nu niet al die bijwerkingen appart aanpakt maar als 1 groot fenomeen gaat bestuderen. Want wijzigen gaan die toch niet. Dus er is ook geen behoefte aan om die appart toe te passen. Dat bespaard alweer een hoop rekenwerk
Laten we het hierbij laten en denk dat de mensen die er wat aan uit kunnen hun eigen mening wel zullen ontwikkelen.
Klopt, zolang het nog niet het apparaat uit is, is het ook nog geen geluid, maar is het stroom/spanning. Maar in zo'n analoge schakeling treden wel onwijs veel 'bijwerkingen' op. Een model van 1 enkele (buizen-)transistor bijvoorbeeld is al erg ingewikkeld, en erg veel rekenwerk om realtime te implementeren:
http://www.normankoren.com/Audio/Tubemodspice_article.html
En dan heb je dus honderden van dat soort componenten in een synth zitten. Het is tot nu toe alleen mogelijk om grove benaderingen van de werking van een analoog circuit in realtime te berekenen. Dat betekent dus wel dat je bijvoorbeeld die 'warme' bijeffecten waar buizentransistoren om bekend staan er niet zomaar bij krijgt.
maar dat heeft niks te maken met weerkaatsingen reflecties en absorbtie
en dat zei jij wel
Hierdoor introduceer je scherpe veranderingen in het signaal, oftewel je voegt hele hoge frequenties toe. Zodra die frequenties boven de Nyquist frequentie uitkomen, kunnen ze niet meer correct weergegeven worden, en worden ze gespiegeld in het frequentiespectrum. Dat geeft een irritant krakend effect: aliasing (welbekend bij de meeste producers
Ja, maar dat zegt op zich helemaal niets. Het gaat erom hoe nauwkeurig je ogen en oren die verschillen in frequentie kunnen waarnemen.
Nee, 64bit integer zijn 2^64 stappen (dus 18446744073709551616 verschillende mogelijke waarden).
Idd, en dat is dus hoe het nu ook gedaan wordt. Maar dan mis je juist die kleine neveneffecten waar sommige analoge synths juist zo gewaardeerd worden.
wel degelijk op een soortgelijke manier als licht beschreven en berekend kan worden.
Ok, maar dat kan toch net zo goed voorkomen bij analoog?
idd, maar je zegt dat het relatief is en haalt de verhoudingsfactor erbij. Dan maken die verschillen toch wel uit.
Dus toch wel een hoop kracht ter beschikking ook al met oudere pc's
Ok, maar ik heb het juist over die kleine neveneffecten.
En idd, zo werd het nu gedaan, maar ik wil dus zeggen. We zijn aan een nieuwe generatie computers begonnen (multicore ed) dus neem nu die extra neveneffecten die een analoge synth zo gewardeerd maken er wel bij en probeer daar een gesofistikeerd (spelling?) algoritme voor te ontwikkelen.
Nee. In het analoge geval introduceer je idd wel die hoge frequenties, laten we zeggen rond 30kHz, maar daar worden die gewoon correct weergegevan als 30kHz. In het digitale geval kun je bij een samplerate van 44kHz frequenties tot maximaal 22kHz weergeven. Dat 30kHz signaal wordt dan gespiegeld en komt terug als een 44-30 = 14kHz storings-signaal.
en met oversampling of een soort van smart subsampling?
Er zijn al tests gedaan om VSTs te laten draaien op de GPU's van nieuwe videokaarten,
interpolatie
Er zijn al tests gedaan om VSTs te laten draaien op de GPU's van nieuwe videokaarten
Nu als je dit signaal procedureel word gemaakt, het is nog niet gesampled naar een bepaalde output samplesrate... dus het is eigelijk nog nix meer dan een wiskundige beschrijving van de geluidsgolf, kan je op deze manier dan geen periodieke detectie uitvoeren om zulke fouten op te sporen en te voorkomen. Dan heb je wel een immense buffer nodig kan ik me inbeelden, maar het zou misschien wel een redelijk snelle alternatieve oplossing kunnen vormen zonder bitchy foutjes?
De komende generaties GPUs gaan op dat gebied veel flexiebeler zijn kwa programeerbaarheid en daar zal eventueel wel het een het ander mee mogelijk zijn. Leuke tijden, maar mommenteel zijn ze toch nog wat te beperkt.
Het probleem daarmee is dat het geluid continue wordt beinvloed door gedraai aan knoppen en door interne modulaties. Als je het op die manier aan wil pakken zou je het geluid moeten opsplitsen in blokken van een aantal samples. Maar die krijg je dan weer vrij lastig aan elkaar geplakt omdat de fases van alle frequenties precies moeten kloppen.
Daarnaast kun je ook geen wiskundige beschrijving maken van een willekeurig audiosignaal waarover je effecten wil gooien, of wat je als modulatiebron wil gebruiken.
Zou het nie fijn zijn om een softsynth in assembly te schrijven
http://www.amd.com/us-en/Corporate/VirtualPressRoom/0,,51_104_543~114147,00.html
100% zeker van wel. Zijn er namelijk ook mee bezig
ZWAAR geoptimaliseerde code in C++
de Sylenth1 van meneertje Paratoxic
Zo zal oa een goed ontwikkeld algoritme in c++ sneller werken dan in ASM
Mooi dat je aangeeft dat het jouw mening is dat ding is onworpen om een gitaar na te bootsen, dat is ze aardig gelukt wat mij betreft...
Geef eens een goed voorbeeld dan ?
denk dat je wel weet wat ik bedoel
Maar weet wel dat er een aantal dingen in ASM efficienter werken omdat je soms wel een instructie of 2 kan wegwerken
helemaal in Assembly schrijven. Dan ben je zo een extra jaar bezig !
1-5% snelheidswinst
nou ja, de wet van Moore gaat niet meer op, maar ongeveer 2x dan
Uitspraak van GMX op dinsdag 5 december 2006 om 11:20:
de Sylenth1 van meneertje Paratoxic
Nice, ben beniewd
Wat versta je dan onder 'echt' en 'fake'? De echte 909 is een analoge synth. Dat kun je dus sowieso nooit ECHT nadoen op een digitaal systeem. Je zult altijd de boel moeten benaderen. Maar die benaderingen worden idd wel steeds beter.
Procedureel zou je kunnen vergelijken met analoog, maar dan digitaal omschreven dmv van een aantal gegevens woordoor een gewenst resultaat adhv die gevens word berekent en gecreerd. Pas een gegeven aan en het resultaat zal zich daaraan aanpassen, net zoals bij analoog.
Mooi dat je aangeeft dat het jouw mening isdat ding is onworpen om een gitaar na te bootsen, dat is ze aardig gelukt wat mij betreft...
Ja, het was bedoeld als een versterker(onderbouwer) voor een gitaar, maar ik heb eens het vage verhaal gehoord dat iemand een keer dat ding had aangezet toen ineens de batterijen (alsof dat ding op batterijen werkt) op waren, het apparaat maakt zo'n zuur apart geluid dat ze besloten er verder mee te werken
altijd leuk om te weten zoiets
door goede keuze van converters en de hardware IN de 909 worden bepaald. dat is een stuk wat NOOIT in software gevangen zal kunnen worden.
Gedrag van componenten is na te programmeren. Is enkel een kwestie van goede analyse, research en efficient coderen.
analyse, research en efficient coderen.