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.
Silent audio
That's an outdated method. You can now use the
anullsrc
filter instead, and it will work on any OS: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 usecl=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).Other somewhat related examples
Test tone
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:Just black video
Using the
color
filter.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
.Test pattern + 440 Hz tone
Using
testsrc
andsine
filters: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
.Also see
Specify
-acodec
to bevorbis
(instead oflibmp3lame
) and put.ogg
at the end of the output file (in place of.mp3
).