NAudio - telling the difference between music, and "silence" (vinyl rumble between tracks) -


i writing program me rip extensive vinyl collection digital format, found using audacity tedious use put me off bothering.

i intend release program on github once working.

at present, program records or opens wav file. tell program artist , album name, , looks on musicbrainz track names , lengths.

then displays short audio extract beginning, gap between each track , end, , lets drag cursors show tracks begin , end.

finally splits recording separate mp3 or wma file each track, in folder named album, inside folder named artist, naming each track, , setting properties album artist, artist, title, track number, publisher, etc.

this working fine, automate process bit further recognising silences between tracks, , automatically adjusting start , end cursors.

i have tried analysing recording, , recognising whether under volume level period of time (using rolling average in hope of ironing out clicks), doesn't trick, vinyl rumble louder music (especially @ start of album, needle has been dropped on lead-in many times).

when listen track, can tell when music starts , ends. there known algorithms can explore can recognise difference?

supplementary question - there way of working out beats per minute of sound file?

one possibility use frequency analysis identify noise. in general should find music have more distinct frequency peaks rather hiss , pop of 'flat' vinyl. expect degraded vinyl of lead-in , inter-track breaks have more distribution of frequencies - white noise, although might find bias towards higher frequency.

you can start profiling noise in audacity or similar, see frequency profile looks like. if can see distinct difference in spectrum between noise , music should able use fast fourier transform basis detection.

i've done little work ffts, this answer might pointed in right direction.


Comments

Popular posts from this blog

php - Wordpress website dashboard page or post editor content is not showing but front end data is showing properly -

How to get the ip address of VM and use it to configure SSH connection dynamically in Ansible -

javascript - Get parameter of GET request -