Ik gebruik een broadcaster processor (BP) met een AGC. Nu valt het me op als mijn muziek te hard of te zacht is dat dit het eindgeluid beïnvloed.
Ik heb via de resultaten (JSON->MySQL) uit essentia een kolom gemaakt (ReplayGain) in de songlist.
Dit geeft aan hoe luid de gehele muziekstuk is: bijvoorbeeld -9.91dB.
Mijn voorkeur is om mijn muziek uit te sturen met -12dB naar mijn BP toe. Als voorbeeld wordt de gain van mijn spelende deck op +2.09dB gezet.
Tijdens mijn zoektocht kwam ik achter dat de Volume-instellingen van de SAM decks niet lineair is. 0db = 255 & +2.5dB = 341 & -2.2dB = 199.
Dit geeft bij verandering ActivePlayer.SetVolume(xxx) niet de juiste dB-waarde. Om de juiste waarde op te zoeken van lineair naar exponentiële trend heb ik de hulp ingeschakeld van ChatGPT.
Deze kwam met de volgende vergelijking: Output = 249.1×exp(0.1185×dB)+5.87 Pakken we weer het voorbeeld op van -9.91, dan wordt dit: 249.1×exp(0.1185×(12+-9,91))+5.87 = 325
Dan wordt de Volume van de active deck op 325 gezet. Dit geeft een -12db output naar de BP toe.
Om dit verder te automatiseren wordt onderstaande PAL gebruikt en hoef ik niet handmatig de volume te veranderen.
Dit is een voorbeeld hoe veelzijdig een PAL-script kan zijn en een antwoord op deze topic. post34570.html#p34570
Code: Selecteer alles
PAL.Loop := True ;
ActivePlayer.SetVolume(round(249.1*Exp(0.1185*(12+ActivePlayer.GetSongInfo['ReplayGain']))+5.87)) ;
PAL.WaitForPlayCount(1) ;
