WaveGuide7
Gedeactiveerd account
- Lid sinds
- 12 november 2009
- Berichten
- 1.152
64-bits: enabling technology
64-bits: enabling technology
Ik kom er toch nog even op terug:
Arno herhaalt hier wat hij in #78 beweerde en ik heb daarop al gereageerd in #79 (https://www.synthforum.nl/forums/showpost.php?p=1649382&postcount=79), maar hij is daar niet op in gegaan.
Daarom nog een nieuw voorbeeld om duidelijk te maken dat die vergroting van de woordbreedte alleen maar betekent dat we in staat worden gesteld om geluidsbewerkingen te doen, die we altijd al graag hadden willen doen, maar die we niet konden realiseren doordat de apparatuur te weinig rekenkracht/snelheid heeft. De vraag is in deze draad al gesteld (https://www.synthforum.nl/forums/showpost.php?p=1649183&postcount=64): noem nou eens een voorbeeld van een audiotoepassing die niet mogelijk is met 32-bits interne woordbreedte, maar wel met 64-bits.
Wel, een fascinerend voorbeeld daarvan is de zeer realistische galm-simulatie van een bestaande concertzaal d.m.v. hetzij directe, hetzij fast convolutie met meervoudige stereo pulsresponsies. Dit voorbeeld heb ik in febr j.l. besproken en gedemonstreerd in mijn voordracht voor de Nationale Wiskunde Dagen 2013 (https://www.synthforum.nl/forums/showthread.php?t=163503)) en hieronder een paar afbeeldingen die ik toen liet zien.
Bij directe convolutie is elke sample van de galm-output de som van zo'n 70.000 producten, waarbij elk product bestaat uit:
(1) 16-bits pulsresponsie van de concertzaal;
(2) 16-bits droog inputsignaal.
Elk product beslaat dus 32-bits.
De som van 70.000 van zulke 32-bits producten is een 49-bits getal.
Als er twee pulsresponsies, corresponderend met twee verschillende plekken op het podium van de concertzaal worden gecombineerd (zoals in het voorbeeld dat ik gemaakt had), komt daar nog 1 bit bij en heb je dus minimaal 50-bits woordbreedte nodig voor de berekening van de directe convolutie.
Doe je datzelfde via de fast convolution waarbij je gebruik maakt van de FFT, dan krijg je een heel andere berekening die ik hier maar weglaat (en die betrekking heeft op de rekennauwkeurigheid van de FFT zelf) maar het komt erop neer dat die berekening onmogelijk is met 32-bits interne woordbreedte, maar wèl mogelijk is met 64-bits interne woordbreedte.
Let wel: dit zegt allemaal nog niets over de snelheid waarmee de berekening kan worden uitgevoerd. Die hangt immers uitsluitend af van je hardware: CPU-kloksnelheid, breedte van databus etc.
Hoeveel optellingen en vermenigvuldigingen moet je uitvoeren om 1 minuut stereo-galmgeluid te berekenen? Het plaatje hieronder laat zien dat dit er voor de directe convolutie 840 miljard zijn. Een moderne, 64-bits laptop doet daar maximaal 3 uur over. Dus 3 uur zwoegen op 1 minuut geluid...
Maar nu de fast convolution die werkt met de FFT... Die is, op dezelfde laptop al gauw 500 maal zo snel en doet er geen 3 uur over, maar 36 seconde! Daarmee ligt de rekentijd ruimschoots binnen realtime!
Dus op een wat oudere, 32-bits laptop kun je dus de galm wel uitrekenen, maar lang niet binnen realtime, zelfs niet als je de fast convolution gebruikt.
Meer over het geweldige klankrealisme van galm d.m.v. directe (en fast) convolution: zie Sander02's draad "Zomaar een galmidee" (https://www.synthforum.nl/forums/showthread.php?t=48349)
Dit voorbeeld laat zien dat de opschaling van 32-bits naar 64-bits heel interessante bewerkingsmogelijkheden toevoegt aan wat we al kunnen.
Nu nog eens in 't kort mijn slotconclusie: aangezien de trend in klanksynthese en sound design geen andere is dan die al honderden jaren in de muziek bestaat, nl. continue ontwikkeling naar meer expressiviteit, en aangezien muzikale expressiviteit zich technisch direct vertaalt in complexiteit van bewerkingsprocessen, ligt het voor de hand om te streven naar een zo groot mogelijke woordbreedte en zo snel mogelijke processen. Elke vergroting van de capaciteit opent nieuwe horizonnen voor sound processing en design. Dat is geen gebakken lucht, geen reclame-hoempa, maar een simpele observatie.
64-bits: enabling technology
Ik kom er toch nog even op terug:
En nu wordt er opeens gedaan alsof je zonder 64-bit OS en/of 24-bit recording niks fatsoenlijk klinkends meer zou kunnen maken
Arno herhaalt hier wat hij in #78 beweerde en ik heb daarop al gereageerd in #79 (https://www.synthforum.nl/forums/showpost.php?p=1649382&postcount=79), maar hij is daar niet op in gegaan.
Daarom nog een nieuw voorbeeld om duidelijk te maken dat die vergroting van de woordbreedte alleen maar betekent dat we in staat worden gesteld om geluidsbewerkingen te doen, die we altijd al graag hadden willen doen, maar die we niet konden realiseren doordat de apparatuur te weinig rekenkracht/snelheid heeft. De vraag is in deze draad al gesteld (https://www.synthforum.nl/forums/showpost.php?p=1649183&postcount=64): noem nou eens een voorbeeld van een audiotoepassing die niet mogelijk is met 32-bits interne woordbreedte, maar wel met 64-bits.
Wel, een fascinerend voorbeeld daarvan is de zeer realistische galm-simulatie van een bestaande concertzaal d.m.v. hetzij directe, hetzij fast convolutie met meervoudige stereo pulsresponsies. Dit voorbeeld heb ik in febr j.l. besproken en gedemonstreerd in mijn voordracht voor de Nationale Wiskunde Dagen 2013 (https://www.synthforum.nl/forums/showthread.php?t=163503)) en hieronder een paar afbeeldingen die ik toen liet zien.
Bij directe convolutie is elke sample van de galm-output de som van zo'n 70.000 producten, waarbij elk product bestaat uit:
(1) 16-bits pulsresponsie van de concertzaal;
(2) 16-bits droog inputsignaal.
Elk product beslaat dus 32-bits.
De som van 70.000 van zulke 32-bits producten is een 49-bits getal.
Als er twee pulsresponsies, corresponderend met twee verschillende plekken op het podium van de concertzaal worden gecombineerd (zoals in het voorbeeld dat ik gemaakt had), komt daar nog 1 bit bij en heb je dus minimaal 50-bits woordbreedte nodig voor de berekening van de directe convolutie.
Doe je datzelfde via de fast convolution waarbij je gebruik maakt van de FFT, dan krijg je een heel andere berekening die ik hier maar weglaat (en die betrekking heeft op de rekennauwkeurigheid van de FFT zelf) maar het komt erop neer dat die berekening onmogelijk is met 32-bits interne woordbreedte, maar wèl mogelijk is met 64-bits interne woordbreedte.
Let wel: dit zegt allemaal nog niets over de snelheid waarmee de berekening kan worden uitgevoerd. Die hangt immers uitsluitend af van je hardware: CPU-kloksnelheid, breedte van databus etc.
Hoeveel optellingen en vermenigvuldigingen moet je uitvoeren om 1 minuut stereo-galmgeluid te berekenen? Het plaatje hieronder laat zien dat dit er voor de directe convolutie 840 miljard zijn. Een moderne, 64-bits laptop doet daar maximaal 3 uur over. Dus 3 uur zwoegen op 1 minuut geluid...
Maar nu de fast convolution die werkt met de FFT... Die is, op dezelfde laptop al gauw 500 maal zo snel en doet er geen 3 uur over, maar 36 seconde! Daarmee ligt de rekentijd ruimschoots binnen realtime!
Dus op een wat oudere, 32-bits laptop kun je dus de galm wel uitrekenen, maar lang niet binnen realtime, zelfs niet als je de fast convolution gebruikt.
Meer over het geweldige klankrealisme van galm d.m.v. directe (en fast) convolution: zie Sander02's draad "Zomaar een galmidee" (https://www.synthforum.nl/forums/showthread.php?t=48349)
Dit voorbeeld laat zien dat de opschaling van 32-bits naar 64-bits heel interessante bewerkingsmogelijkheden toevoegt aan wat we al kunnen.
Nu nog eens in 't kort mijn slotconclusie: aangezien de trend in klanksynthese en sound design geen andere is dan die al honderden jaren in de muziek bestaat, nl. continue ontwikkeling naar meer expressiviteit, en aangezien muzikale expressiviteit zich technisch direct vertaalt in complexiteit van bewerkingsprocessen, ligt het voor de hand om te streven naar een zo groot mogelijke woordbreedte en zo snel mogelijke processen. Elke vergroting van de capaciteit opent nieuwe horizonnen voor sound processing en design. Dat is geen gebakken lucht, geen reclame-hoempa, maar een simpele observatie.
