c# - Get decibels of 1 second of audio file using naudio -


i wanna calculate decibels of 1 second of .wav file using naudio. code:

wavefilereader reader = new wavefilereader(@"c:\users\admin\desktop\result.wav");             int bytespermillisecond = reader.waveformat.averagebytespersecond / 1000;                         //byte[] buffer = new byte[reader.length];             //int read = reader.read(buffer, 0, (int)reader.length);             timespan time = new timespan(0, 0, 1);              int bytespersecond = (int)time.totalmilliseconds * bytespermillisecond;             byte[] onesecondbuffer = new byte[bytespersecond];             int read = reader.read(onesecondbuffer, 0, bytespersecond);              short sample16bit = bitconverter.toint16(onesecondbuffer, 1);             double volume = math.abs(sample16bit / 32768.0);             double decibels = 20 * math.log10(volume); 

this line:

short sample16bit = bitconverter.toint16(onesecondbuffer, 1); 

returns 0. doing wrong?

i've resolved task way. piece of code, may people:

var silencedict = new dictionary<int, bool>();             using (naudio.wave.audiofilereader wave = new naudio.wave.audiofilereader(filepath))             {                 var samplespersecond = wave.waveformat.samplerate * wave.waveformat.channels;                 var readbuffer = new float[samplespersecond];                 int samplesread;                 int = 1;                                 {                     samplesread = wave.read(readbuffer, 0, samplespersecond);                     if (samplesread == 0) break;                     var max = readbuffer.take(samplesread).max();                      if ((int)(max * 100) != 0)                         silencedict.add(i, false);                     else                         silencedict.add(i, true);                      i++;                 } while (samplesread > 0); 

Comments

Popular posts from this blog

node.js - Using Node without global install -

How to access a php class file from PHPFox framework into javascript code written in simple HTML file? -

java - Null response to php query in android, even though php works properly -