[LAD] How do I write meta data into a wave file? (Command line tools?)

Erik de Castro Lopo mle+la at mega-nerd.com
Sat May 4 04:04:21 UTC 2013

Nils Gey wrote:

> Hello list,
> libsndfile-info shows various useful information like the one at the end of this mail.
> I have Sonatina Symphonic Orchestra waves here (violins 1) and a one note wave includes "Midi Note", "Loop Count" and "Cue Start : 92078  End : 223977", which is the actual loop start/end
> Is this custom data or does it follow a standard?
> And no matter what, how do I write that into my own wave files?
> I would prefer command line tools. But programming interfaces are fine as well.

> sndfile-metadata-set --help

Usage :

  sndfile-metadata-set [options] <file>
  sndfile-metadata-set [options] <input file> <output file>

Where an option is made up of a pair of a field to set (one of
the 'bext' or metadata fields below) and a string. Fields are
as follows :

    --bext-description       Set the 'bext' description.
    --bext-originator        Set the 'bext' originator.
    --bext-orig-ref          Set the 'bext' originator reference.
    --bext-umid              Set the 'bext' UMID.
    --bext-orig-date         Set the 'bext' origination date.
    --bext-orig-time         Set the 'bext' origination time.
    --bext-coding-hist       Set the 'bext' coding history.
    --bext-time-raf          Set the 'bext' Time ref.

    --str-comment            Set the metadata comment.
    --str-title              Set the metadata title.
    --str-copyright          Set the metadata copyright.
    --str-artist             Set the metadata artist.
    --str-date               Set the metadata date.
    --str-album              Set the metadata album.
    --str-license            Set the metadata license.

There are also the following arguments which do not take a
parameter :

    --bext-auto-time-date    Set the 'bext' time and date to current time/date.
    --bext-auto-time         Set the 'bext' time to current time.
    --bext-auto-date         Set the 'bext' date to current date.
    --str-auto-date          Set the metadata date to current date.

Most of the above operations can be done in-place on an existing
file. If any operation cannot be performed, the application will
exit with an appropriate error message.

Erik de Castro Lopo

More information about the Linux-audio-dev mailing list