In answer to the question "How-to make a silent mp3 or wav-file" on ubuntuforums.org FakeOutdoorsman provided the following recipe:
Another method by using FFmpeg. 60 seconds of silent audio in WAV:
ffmpeg -ar 48000 -t 60 -f s16le -acodec pcm_s16le -ac 2 -i /dev/zero -acodec copy output.wav
60 seconds of silent audio in MP3:
ffmpeg -ar 48000 -t 60 -f s16le -acodec pcm_s16le -ac 2 -i /dev/zero -acodec libmp3lame -aq 4 output.mp3
How could I do something similar to create a silent .ogg audio file?
For a web app, I want to create a very short file for testing whether the browser will preload an audio file, or whether it will wait until the file is actually played before starting to stream it.
That's an outdated method. You can now use the anullsrc
filter instead, and it will work on any OS:
ffmpeg -f lavfi -i anullsrc -t 5 -c:a libvorbis output.ogg
Default sample rate is 44100, and default channel layout is stereo. If you want something different you can do something like: anullsrc=r=48000:cl=mono
(or use cl=1
for mono).
For Vorbis in general, avoid the native encoder vorbis
if possible; libvorbis
will provide a better output (although it doesn't really matter with a silent output).
An annoying tone or beeping tone can be made with sine
filter. Generate a 220 Hz sine wave with a 880 Hz beep each second, for 5 seconds:
ffmpeg -f lavfi -i sine=f=220:b=4:d=5 -c:a libvorbis output.oga
Using the color
filter.
ffmpeg -f lavfi -i color=d=5 -c:v libtheora output.ogv
Default frame rate is 25 and default video size is 320x240. To change it: color=r=24:s=1280x720:d=5
.
But who uses Theora anymore? A more modern alternative that likely fills its niche is VP8/VP9 + Vorbis in WebM: -c:v libvpx output.webm
.
Using testsrc
and sine
filters:
ffmpeg -f lavfi -i testsrc -f lavfi -i sine -t 10 -c:v libtheora -c:a libvorbis \
-q:v 5 -q:a 5 output.ogv
Change frame rate and video size the same way as shown above for the color
filter.
See FFmpeg Filter Documentation: Video Sources for a list of many other video source filters such as smptehdbars
.