1
$\begingroup$

My dog goes bonkers every time the sound of a barking dog is heard on a television program. I never noticed this before but literally every movie or show with an outdoors setting eventually includes the sound of a barking dog. Is it possible to develop a real-time filter that blocks or masks these sounds?

$\endgroup$
  • 1
    $\begingroup$ I mean, it's certainly possible in theory. But is that your question? Do you have the skills needed to do data science, collect data sets, cleanse them, write the final program, and ultimately design and build a physical circuit and rewire your television to include it as a pre-speaker filter? No one here is going to do that on your behalf, if that's what you're trying to ask. $\endgroup$ – Dan Bron Dec 21 '18 at 12:49
  • $\begingroup$ It's not a bad idea actually. This is a common problem. As this appears to be a wholly theoretical question, lets see if it garners some answers about AI approaches to this type of problem. $\endgroup$ – DukeZhou Dec 22 '18 at 1:29
  • $\begingroup$ Wouldn't it be easier to train the dog's neural net? $\endgroup$ – han_nah_han_ Dec 24 '18 at 6:22
  • $\begingroup$ While I've studied data science enough to attempt model development, the other aspects are beyond my scope. Maybe some student looking for a senior project will be inspired to take on this world changing challenge. $\endgroup$ – AlanD Dec 24 '18 at 12:04
  • $\begingroup$ The project is too narrow. If the proposal was to remove distinct types of sounds from an audio stream, then the same approach and design may be of value for consumer products that might include removal of meowing sounds from business phone calls made from home offices and train sounds from CIA audio transmissions where the location of their think tank must remain secret. $\endgroup$ – han_nah_han_ Jan 24 at 18:18
1
$\begingroup$

OK, here is one approach.

  1. Acquire a data set of 'clean' audio samples without barking dogs and an data set of barking dogs sounds.

  2. Generate a training set by mixing random selections of clean audio with a random selections of barking dog noises at various volume levels. This is your input data. Your output data is the clean audio before you added the barking.

  3. Find a suitable neural network. This might be a good starting point: https://github.com/andabi/music-source-separation

  4. Train the network.

  5. Apply the network to a load of the clean+bark mixes and check the result by ear. If the results are not good enough, go to 3 to tweak the network. If the results are still poor go to 2 and generate more training data, perhaps adding some distortions or other effects the the barking. Happy with the result? Go to 6.

  6. Publish the results online for the betterment of humanity. (And/or write the network to a miniature GPU board (such as the NVIDIA Jetson https://developer.nvidia.com/buy-jetson) and work out how to wire that up to the decoded audio in your telly before it heads to the speakers), then blog about it because that would be a great project.

$\endgroup$
  • $\begingroup$ Thanks for the roadmap. I'm sure if I record audio while I'm watching TV with my dog in the room for a few hours I can capture enough training data. $\endgroup$ – AlanD Dec 24 '18 at 12:07
  • $\begingroup$ You'll need more than a few hours of barks to train a network to distinguish between barks and humans making short exclamations or car tire screeches, assuming the frequent elimination of false positives from the audio is not desirable. $\endgroup$ – FauChristian Jan 22 at 4:06
  • $\begingroup$ The initial part of this plan 1,2 is similar to how audio systems can be trained to respond to activation phrases (e.g. "OK Google, " or "Alexa, ") $\endgroup$ – Neil Slater Jun 20 at 14:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.