Fictional Modelling?

En wat gebeurd er als je de frequentie extreem hoog maakt met de veerconstante zoals je die had?

Heb even op bodeplot massa veer systeem gezocht en daar lijk ik in terug te kunnen zien wat je beschrijft. Amplitude loopt op tot resonantie frequentie en neemt daarna af.
 

Attachments

  • 23F131AF-097E-4B10-9C7F-26D10B9C3EB8.jpeg
    23F131AF-097E-4B10-9C7F-26D10B9C3EB8.jpeg
    65,6 KB · Bekeken: 82
Er is niet een bepaalde frequentie waar het mis gaat, het is eerder zo dat het steeds meer mis gaat naarmate de trillingsfrequentie hoger is. En de trillingsfrequentie van het massa veer systeem hangt via formule (6) weer samen met de veerconstante en de massa. Let wel: ik modelleer geen gedwongen trilling maar een vrije trilling, de massa wordt op een uitwijking van 1 (m) losgelaten, en blijft dan vanzelf trillen (want de wrijvingsverliezen zijn verwaarloosd).
 
Ha, er is geluid! :) Probeer 'ns een frequentie van 441Hz, bij een samplerate van 44,1kHz is één periode 100 samples, wat je kunt natellen. Ik denk dat het wel klopt, wat je nu hebt. Het signaal clipped wel wat.

440.png


Daar tel ik 101 dotjes dus 100 sample tijden voor een volledige golf met een sample rate van 44100 samples per second. Ik heb wel nog hetzelfde progje gebruikt wat eigenlijk 440 Hz zou moeten genereren. Maar ik vind het zo mooi genoeg.
 
Zou dit de verklaring voor de geleidelijke explosie van het gesimuleerde signaal zijn?:

explosie.png


Toelichting: de simulatie rekent steeds gedurende een sample tijd met de versnelling of vertraging op het eerste tijdstip van die sample tijd, hoe de versnelling of vertraging tijdens die sample tijd verandert wordt genegeerd. Dit heeft als gevolg dat de vertraging op twee aangegeven trajecten door het uitgaan van een te geringe uitrekking van de veer achter blijft waardoor het signaal daar naar boven of beneden doorschiet. Anderzijds wordt op de twee andere trajecten met een te grote neerwaartse of opwaartse versnelling gerekend want uitgaan van het eerst tijdstip van een sample tijd levert bij een beweging richting de evenwichtspositie een te grote uitrekking en dus veerkracht en versnelling voor die sample tijd als geheel. De trillingstijd blijft al met al waarschijnlijk ongeveer gelijk.
 
Laatst gewijzigd:
Nu proberen om het nog wat fijnmaziger te maken, met tijden die kleiner zijn dan de sampletijd? Kost wel meer rekenwerk. Of het uitrekenen met twee tijden, en daar het gemiddelde van nemen?
 
Nu proberen om het nog wat fijnmaziger te maken, met tijden die kleiner zijn dan de sampletijd? Kost wel meer rekenwerk. Of het uitrekenen met twee tijden, en daar het gemiddelde van nemen?

Dat begrijp ik niet. De berekeningen worden real time steeds binnen 1 sample tijd (of eigenlijk 1 control rate tijd) gemaakt. Je kunt wel de sample rate zelf verhogen en daarbij zo nodig off-line rendering gebruiken, zie: sr

Zal nog eens uitproberen of de explosieve toename van de signalen langs die weg voorkomen kan worden. Dat is eleganter dan het signaal eenvoudig te limiteren wat ik nu doe.
 
Dat begrijp ik niet. De berekeningen worden real time steeds binnen 1 sample tijd (of eigenlijk 1 control rate tijd) gemaakt. Je kunt wel de sample rate zelf verhogen en daarbij zo nodig off-line rendering gebruiken, zie: sr

Ja, dat is eigenlijk hetzelfde en doet CSound het werk voor je als ik het goed begrijp. Weet niet of je voor sr elke willekeurige waarde kunt gebruiken, zodat de resolutie precies voldoende is om zulke fouten te voorkomen. Je wil ook niet meer rekenwerk verrichten dan echt nodig is.
 
Ga het vandaag uitproberen. Werkt het niet dan kunnen we nog met de eerder besproken "slow motion tijd" werken maar dat is omslachtiger.
 
Ter vergelijking eerst maar eens een "nulmeting". Onderstaande gebeurt er bij een sample rate sr = 44100 met een gegeneerde toon van 440 Hz als we niet limiteren:

zonder-limit.png
 
Je zou nog 'ns een (veel) hogere sr kunnen proberen, maar het lijkt alsof er toch ergens een numerieke instabiliteit is.
 
Voor hogere sample rates wordt het wel steeds beter, maar voor sr = 705600 is het real time al niet meer te doen.

Ik ben nu een extreem hoge rs aan het uitproberen waarbij het resultaat dan (hopelijk) als wav-bestand wordt geëxporteerd, maar mijn computer is daar nu al minuten lang op aan het rekenen...
 
Succes! :geslaagd:

Code:
Elapsed time at end of performance: real: 529.035s, CPU: 529.107s

Met sr = 300000000 en "Render to file", wat dan een loodzware wav file van 6 Gb oplevert maar met minimale vervorming.

Begin:

begin.png


Eind:

eind.png
 
Jeemig. 8D Wel mooi dat het werkt, natuurlijk. Maar het is wel een hele hoge sr. Genoeg om rechtstreeks de FM-band op de radio met een ADC om te zetten. :D
 
Ja ja - dit is old school! :beard:

Een geluidje programmeren; het programma starten; en dan een eitje koken; wat eten; de vaat doen; eens kijken hoever het programma is; een boekje lezen; de bloemen water geven.... En dan uiteindelijk na lang wachten in spanning het resultaat beluisteren en bekijken.

Ik denk niet dat die extreme sample rate feitelijk gehaald wordt maar eerder dat de computer dat simuleert, ik moet immers veel langer wachten dan het gegenereerde signaal duurt. De rendering gebeurt off-line.

Het is wel duidelijk dat onze fictional modelling synth als een rompler of wave table synth gebouwd moet worden waarbij het grote rekenwerk van te voren al gedaan is, want dat lange wachten kunnen we de huidige synth spelers niet aandoen. :P
 
Laatst gewijzigd:
Nu naderen we het punt waarop het echte werk gaat beginnen: het bedenken van alternatieve natuurwetten voor werelden die (natuurkundig gezien) radicaal van de onze verschillen. Maar op één punt moeten die alternatieve wetten wel met de onze overeenstemmen: er moeten in elk geval trillingsverschijnselen mogelijk zijn. Anders zijn er daar immers ook geen (muzikaal interessante) geluiden.
 
Ik geloof er persoonlijk niet in dat natuurwetten "ergens anders' weer anders zijn. Variabelen kunnen variëren, de formules zelf zijn universeel. Natuurlijk kan je een formule veranderen, maar dan is het geen (kloppende) natuurkundige formule meer.
Wat bereik je daarmee.. ?
 
Het heet hier niet voor niks fictional modelling. Net zo goed als een romanschrijver een denkbeeldige wereld kan verzinnen kunnen wij dat hier ook doen voor een denkbeeldige akoestische wereld. En het leuke is dat de zo gegenereerde signalen dan wel weer in onze eigen wereld kunnen worden afgespeeld, net zo goed als je van een fantasy roman ook een film kunt maken. Daarbij kun je dan ook weer die zelfde vraag stellen: "Wat bereik je daarmee?" Maar mensen die een roman lezen of naar de film gaan zal dat worst zijn. Cultuur wordt zelden geschapen of genoten om daar iets mee te bereiken.
 
Ja oke. Maar ik snap niet wat er zo anders kan zijn aan natuurwetten behalve dan dat je ze verbuigt tot het geen natuurwetten meer zijn.

Ik bedoel, geluid gaat met een bepaalde snelheid door een medium bijvoorbeeld.

Dit wordt uitgedrukt in meters per seconden, wat valt daar aan te veranderen? Een meter is en blijft een meter, en een seconde is en blijft een seconde.

Dan kan je wel bijvoorbeeld van meters inches maken of van seconden een andere tijdseenheid, maar daarmee verandert de snelheid van het geluid door een medium niet. Daarom zei ik, natuurwetten zijn universeel. Dus ik zie niet wat je bereikt door de variabelen van eigenschap of toegekende waarde te veranderen. Het gedrag van het beschrevene in een formule verandert niet dus het resultaat kan je ook niet veranderen. (De snelheid van het geluid door een bepaald medium in dit geval dus)
 
natuurwetten zijn universeel

Mwah, dat weten we niet. Het nog niet zo gemakkelijk om in de moderne kosmologie een multiversum buiten de deur te houden, dat er slechts één enkel universum bestaat (de onze) is niet zeker. We moeten in elk geval rekening houden met de mogelijkheid van een multiversum en dan komen natuurwetten die echt overal gelden op losse schroeven te staan.

Het gedrag van het beschrevene in een formule verandert niet dus het resultaat kan je ook niet veranderen.

Kan wel. Neem de afname van de geluidsintensiteit op een afstand r van de bron. Dat schaalt als 1/r^2 in onze wereld, in een tweedimensionale wereld als 1/r en een vierdimensionale als 1/r^3.
 
Back
Top