Eingelijk een eenvoudige vraag, maar het antwoord laat zich maar niet vinden.
Hoe bereken je het volume van een .wav file in decibel?
Ik kom steeds twee verschillende berekeningen tegen:
volume=10log(v1/v2)
en
volume=20log(v1/v2)
Nu heb ik in verscheidene threads op deja gezien dat men beweert dat je de laatste moet hebben. Dat is diegene die ook voor voltages gebruikt wordt, en de waarde in een .wav staat min of meer voor het voltage.
Mijn baas echter zegt dat het 10log(v1/v2) moet zijn. Een echte onderbouwing had hij daar niet voor, maar het is wel iemand die er verstand van heeft.
Ik heb ook al 2 open-source pakketten kunnen vinden die iets met decibel doen, en jawel hoor, de ene gebruikt 10log(v1/v2) en de ander 20log(v1/v2).
Dus... ik open een 16 bit, 2 channel, 44100Hz PCM wave file. Ik seek naar het data chunk, lees de size uit, en ga dan de data lezen. Ik neem 2x16 bit waardes (channel1 en channel2) en neem daar het gemiddelde van. Aangezien het signed 16 bit integers zijn, loopt de mogelijke waarde van ca -32k tot +32k. Om altijd ene positieve waarde te houden, neem ik de absolute waarde.
Stel nu komt hier 16k uit. Hoeveel dB is dat dan?
De berekeningen:
volume = 10log(16000/32768) ~ -3,11 dB
of
volume = 20log(16000/32768) ~ -6,22 dB
Nu zou ik op basis van dit resultaat zelf zeggen dat het 10log moet zijn, aangezien een -3 dB ongeveer een halvering van het geluid is, en 16k ongeveer de helft is van 32k. Maar dat is louter boerenverstand, ik kan hier nergens een onderbouwing voor vinden.
Hoe bereken je het volume van een .wav file in decibel?
Ik kom steeds twee verschillende berekeningen tegen:
volume=10log(v1/v2)
en
volume=20log(v1/v2)
Nu heb ik in verscheidene threads op deja gezien dat men beweert dat je de laatste moet hebben. Dat is diegene die ook voor voltages gebruikt wordt, en de waarde in een .wav staat min of meer voor het voltage.
Mijn baas echter zegt dat het 10log(v1/v2) moet zijn. Een echte onderbouwing had hij daar niet voor, maar het is wel iemand die er verstand van heeft.
Ik heb ook al 2 open-source pakketten kunnen vinden die iets met decibel doen, en jawel hoor, de ene gebruikt 10log(v1/v2) en de ander 20log(v1/v2).
Dus... ik open een 16 bit, 2 channel, 44100Hz PCM wave file. Ik seek naar het data chunk, lees de size uit, en ga dan de data lezen. Ik neem 2x16 bit waardes (channel1 en channel2) en neem daar het gemiddelde van. Aangezien het signed 16 bit integers zijn, loopt de mogelijke waarde van ca -32k tot +32k. Om altijd ene positieve waarde te houden, neem ik de absolute waarde.
Stel nu komt hier 16k uit. Hoeveel dB is dat dan?
De berekeningen:
volume = 10log(16000/32768) ~ -3,11 dB
of
volume = 20log(16000/32768) ~ -6,22 dB
Nu zou ik op basis van dit resultaat zelf zeggen dat het 10log moet zijn, aangezien een -3 dB ongeveer een halvering van het geluid is, en 16k ongeveer de helft is van 32k. Maar dat is louter boerenverstand, ik kan hier nergens een onderbouwing voor vinden.