1

There is some music or sound effect in certain website that I'm really interested to get a copy from for my own purposes.

My first attempt is to check out the html code, maybe I'm lucky and the audio file is explicitly referenced in there, but sadly it's not the case.

So the next attempt is to look for the file among the temporary files stored by the browser's cache, hopefully I will find an mp3 file in there.

Guess what, there are only extension-less files, whose names tell nothing about their content.

Maybe the most current file using more memory (sound files tend to be heavier in terms of memory usage) is a good candidate, but I cannot tell which file extension should I use to play it (maybe the data was stored in mp3/wav/whatever format, assuming I was lucky enough to pick a sound file to start with ...). So I have the following ideas in my mind:

  1. Somehow let the sound driver tell me which audio files are being played right now, so it would be easy to spot the file that the browser is playing. Is this even possible? [TITLE QUESTION]

  2. Have some program record the audio played by the computer for a while, and then use Audacity to extract the portion I'm interested in. [Any suggestions about programs to record audio being played by the computer?]

If there is any other suggestion about how to retrieve audio files from a website, please feel free to post it.

Edit

Here is the link: http://onlinetonegenerator.com/voice-generator.html Just write any custom meaningful string in the input box, and try to spot the file (if any) being played when you click on the Play button.

  • Why don't you just download the file? – Jusup Nov 1 '15 at 16:45
  • Because as I said, I couldn't find any sound file within the html of the page. – Pablo Messina Nov 1 '15 at 16:47
  • Sometimes its flash or through javascript so not directly visible in html. You can use debug console in browser(press F12), switch to network tab and check traffic. – Chris.C Nov 2 '15 at 7:22
0

To actually answer your questions:

  1. The sound driver does not "play files". It doesn't know what files are being played, and doesn't care. An application plays files, decodes it to a waveform, and sends the audio waveform to the sound driver.

  2. While you can do this (and it's sometimes necessary for, e.g. games, where sounds are generated on-the-fly), you're thinking about it wrong. What you want to do is use a program that intercepts all web requests and lists all files retrieved from the server so you can go through them and save them.

There is a huge selection of programs that do this already - mostly known as "video downloaders" as people use them to intercept Flash videos on Youtube, but they can handle audio files just fine too. Sothink Video Downloader is one I used to use, although I cannot vouch for it anymore, it's a starting point.

  • Coud that work with voice synthesizers such as the one in the link (check bottom of the question) or google translate, for instance? – Pablo Messina Nov 2 '15 at 12:21
  • @PabloMessina: Yes, if the synthesizers run server-side (most currently do, I don't know about that specific one. Google Translate definitely does). – qasdfdsaq Nov 2 '15 at 12:23
  • So in case that the audio is generated on the fly client-side with javascript, I guess the only option is to record using Audacity or similar programs, but if a file is generated on the server and retrieved from javascript, then your solution should do the trick. Dig I get it right? – Pablo Messina Nov 2 '15 at 12:26
  • @PabloMessina: Yes, that is entirely correct. – qasdfdsaq Nov 2 '15 at 12:27
  • 1
    That's right, the Audacity tutorial I posted in my own answer actually suggests to set Windows WASAPI loopback recording mode when recording since it does the entire process digitally. – Pablo Messina Nov 2 '15 at 12:33
0

Download and unpack Sysinternals Handle.

Play a sound effect on a website.

Then run

handle.exe -a | findstr /c:": File" | findstr /c:".mp3" /c:".wav"

It will output all open .mp3 ... files.

0

I ended up using Audacity to record the audio played by the website, based on these instructions. Once I had the audio recorded, manipulating it was straightforward with the plethora of options provided by Audacity. Regarding the title question, probably Dimitry Sokolov's answer should do the trick, although I didn't try it. Trying to spot the exact audio file might be overkill if you are only interested in the audio data, since any good audio recorder program can get the job done. This becomes even more obvious if the audio is being generated dynamically on run time and being streamed to the sound driver (in this case there is no audio file :D). In fact, the website sound effect I was interested in was actually being generated dynamically based on an input string (voice synthesizer), so probably there was no audio file at all.

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.