Turn on thread page Beta
    • Thread Starter
    Offline

    2
    ReputationRep:
    Hi

    i have a little project in mind but not sure how id do it.

    basically what im trying to do.... capture a certain sound (db level?) on the computer monitor and log it.

    example....

    lets say i watch a video on youtube of a drummer doing a simple beat. i press play on the video, and press 'play' (or whatever it would be called) on my program and it would detect a certain sound - lets say i set the db level to pick up when the drummer hit the symbol. so lets say the video is 60 seconds long, i would have a log that the drummer hit the symbol on the 6th second, then the 15th second, then the 18th second etc.

    i dont know if this would be better as a program for the computer (pc or mac) or if it could be HTML5 and all done online... open to any advise please!

    thanks

    Mic
    Offline

    19
    ReputationRep:
    You could potentially do this with javascript, using the WebAudioAPI (if that's even still maintained?), it would probably better to use the beat as the basis rather than the output level, as it will more than likely be more accurate avoiding any undetermined discrepancies.

    Simple option: You would need to transform the audio file into an array buffer, and run that through a low pass filter. Afterwards, Downsample the output and normalise it. This should give you something that can be used to perform a count.

    Complex option: same as above, but prior to the previous options first step, isolate each individual track using a histogram analysis, allowing you to better focus on individual aspects.
 
 
 
Poll
How are you feeling in the run-up to Results Day 2018?
Useful resources

The Student Room, Get Revising and Marked by Teachers are trading names of The Student Room Group Ltd.

Register Number: 04666380 (England and Wales), VAT No. 806 8067 22 Registered Office: International House, Queens Road, Brighton, BN1 3XE

Write a reply...
Reply
Hide
Reputation gems: You get these gems as you gain rep from other members for making good contributions and giving helpful advice.