Initial commit

added libraries:
opus
flac
libsndfile

updated:
libvorbis
libogg
openal

- Everything works as expected for now. Bare in mind libsndfile needed the check for whether or not it could find the xiph libraries removed in order for this to work.
This commit is contained in:
marauder2k7 2024-03-21 17:33:47 +00:00
parent 05a083ca6f
commit a745fc3757
1954 changed files with 431332 additions and 21037 deletions

View file

@ -0,0 +1,29 @@
.Dd November 2, 2014
.Dt SNDFILE-CMP 1
.Os
.Sh NAME
.Nm sndfile-cmp
.Nd compare two audio files
.Sh SYNOPSIS
.Nm sndfile-cmp
.Ar file1
.Ar file2
.Sh DESCRIPTION
.Nm
compares the audio data of two sound files.
For two files to compare as being the same, their channel counts, sample rate,
audio data lengths and actual audio data must match.
Other differences such as string metadata like song title, artist etc and their
presence or absence are ignored.
.Sh EXIT STATUS
.Bl -tag -width 1n -compact
.It 0
The audio data is the same.
.It 1
The audio data differs.
.El
.Sh SEE ALSO
.Lk http://libsndfile.github.io/libsndfile/
.Sh AUTHORS
.An Conrad Parker Aq Mt conrad@metadecks.org
.An Erik de Castro Lopo Aq Mt erikd@mega-nerd.com

View file

@ -0,0 +1,28 @@
.Dd November 2, 2014
.Dt SNDFILE-CONCAT 1
.Os
.Sh NAME
.Nm sndfile-concat
.Nd concatenate audio data from two or more audio files
.Sh SYNOPSIS
.Nm sndfile-concat
.Ar infile1
.Ar infile2
.Ar ...
.Ar outfile
.Sh DESCRIPTION
.Nm
generates a new output file by concatenating the audio data
of two or more input files. The encoding of the output file
is the encoding used in
.Ar infile1 .
Audio data from the subsequent files are converted to this encoding.
The only restriction is that the files must have
the same number of channels.
The output file is overwritten if it already exists.
.Sh EXIT STATUS
.Ex -std
.Sh SEE ALSO
.Lk http://libsndfile.github.io/libsndfile/
.Sh AUTHORS
.An Erik de Castro Lopo Aq Mt erikd@mega-nerd.com

View file

@ -0,0 +1,160 @@
.Dd November 2, 2014
.Dt SNDFILE-CONVERT 1
.Os
.Sh NAME
.Nm sndfile-convert
.Nd convert sound files from one format to another
.Sh SYNOPSIS
.Nm sndfile-convert
.Op Fl override-sample-rate Ns = Ns Ar rate
.Op Fl endian Ns = Ns Cm little | big | cpu
.Op Fl normalize
.Op Ar encoding
.Ar input
.Ar output
.Sh DESCRIPTION
.Nm
converts sound files from one audio format to another.
The output file is overwritten it it already exists.
.Ss Formats
The format of the output file is determined by the filename extension.
The following file formats are currently recognized:
.Pp
.Bl -tag -compact -width ircam
.It wav
WAV (Microsoft)
.It aif
AIFF (Apple/SGI)
.It au
AU (Sun/NeXT)
.It snd
AU (Sun/NeXT)
.It raw
RAW (header-less)
.It gsm
RAW (header-less)
.It vox
RAW (header-less)
.It paf
PAF (Ensoniq PARIS, big-endian)
.It fap
PAF (Ensoniq PARIS, little-endian)
.It svx
IFF (Amiga IFF/SVX8/SV16)
.It nist
SPHERE (NIST SPeech HEader Resources)
.It sph
SPHERE (NIST SPeech HEader Resources)
.It voc
VOC (Creative Labs)
.It ircam
SF (Berkeley/IRCAM/CARL)
.It sf
SF (Berkeley/IRCAM/CARL)
.It w64
W64 (SoundFoundry WAVE 64)
.It mat
MAT4 (GNU Octave 2.0 / Matlab 4.2)
.It mat4
MAT4 (GNU Octave 2.0 / Matlab 4.2)
.It mat5
MAT5 (GNU Octave 2.1 / Matlab 5.0)
.It pvf
PVF (Portable Voice Format)
.It xi
XI (FastTracker 2)
.It htk
HTK (HMM Tool Kit)
.It sds
SDS (Midi Sample Dump Standard)
.It avr
AVR (Audio Visual Research)
.It wavex
WAVEX (MS WAVE with WAVEFORMATEX)
.It sd2
SD2 (Sound Designer II)
.It flac
FLAC (FLAC Lossless Audio Codec)
.It caf
CAF (Apple Core Audio File)
.It wve
WVE (Psion Series 3)
.It prc
WVE (Psion Series 3)
.It ogg
OGG (OGG Container format)
.It oga
OGG (OGG Container format)
.It mpc
MPC (Akai MPC 2k)
.It rf64
RF64 (RIFF 64)
.El
.Ss Options
The following options are recoginzed:
.Pp
.Bl -tag -compact -width "override-sample-rate=XXXXX"
.It Fl override-sample-rate Ns = Ns Ar rate
Make the input use sample rate of
.Ar rate
Hz.
.It Fl endian Ns = Ns Cm little
Make the output file use little endian data.
.It Fl endian Ns = Ns Cm big
Make the output file use big endian data.
.It Fl endian Ns = Ns Cm cpu
Make the output file use CPU endianness.
.It Fl normalize
Normalize the audio data in the output file.
.El
.Ss Encodings
The optional
.Ar encoding
parameter allows setting of the data encoding for the output file.
The following encodings are currently supported:
.Pp
.Bl -tag -compact -width ima-adpcmXX
.It Fl pcms8
signed 8 bit pcm
.It Fl pcmu8
unsigned 8 bit pcm
.It Fl pcm16
16 bit pcm
.It Fl pcm24
24 bit pcm
.It Fl pcm32
32 bit pcm
.It Fl float32
32 bit floating point
.It Fl ulaw
ULAW
.It Fl alaw
ALAW
.It Fl ima-adpcm
IMA ADPCM (WAV only)
.It Fl ms-adpcm
MS ADPCM (WAV only)
.It Fl gsm610
GSM6.10 (WAV only)
.It Fl dwvw12
12 bit DWVW (AIFF only)
.It Fl dwvw16
16 bit DWVW (AIFF only)
.It Fl dwvw24
24 bit DWVW (AIFF only)
.It Fl vorbis
Vorbis (OGG only)
.El
.Pp
If no encoding is specified for the output file,
.Nm
will try to use the encoding of the input file.
This will not always work as most container formats
(e.g. WAV, AIFF etc) only support a small subset of encodings
(e.g. 16 bit PCM, a-law, Vorbis etc).
.Sh EXIT STATUS
.Ex -std
.Sh SEE ALSO
.Lk http://libsndfile.github.io/libsndfile/
.Sh AUTHORS
.An Erik de Castro Lopo Aq Mt erikd@mega-nerd.com .

View file

@ -0,0 +1,34 @@
.Dd November 2, 2014
.Dt SNDFILE-INFO 1
.Os
.Sh NAME
.Nm sndfile-info
.Nd display information about sound files
.Sh SYNOPSIS
.Nm sndfile-info
.Op Fl -broadcast
.Op Fl -cart
.Op Fl -channel-map
.Op Fl -instrument
.Ar
.Sh DESCRIPTION
.Nm
displays basic information about sound files
such as format, number of channels, samplerate, and length.
The following options are recognized:
.Pp
.Bl -tag -compact -width channelmapXXXX
.It Fl -broadcast
Display broadcast (BWF) info.
.It Fl -cart
Display the cart chunk of a WAV (or related) file.
.It Fl -channel-map
Display channel map.
.It Fl -instrument
Display instrument info:
a base note, gain, velocity, key, and loop points.
.El
.Sh SEE ALSO
.Lk http://libsndfile.github.io/libsndfile/
.Sh AUTHORS
.An Erik de Castro Lopo Aq Mt erikd@mega-nerd.com .

View file

@ -0,0 +1,62 @@
.Dd November 2, 2014
.Dt SNDFILE-INTERLEAVE 1
.Os
.Sh NAME
.Nm sndfile-interleave ,
.Nm sndfile-deinterleave
.Nd convert mono files into a multi-channel file and vice versa
.Sh SYNOPSIS
.Nm sndfile-interleave
.Ar input1
.Ar input2
.Ar ...
.Fl o Ar output
.Nm sndfile-deinterleave
.Ar file
.Sh DESCRIPTION
.Nm sndfile-interleave
creates a multi-channel file taking audio data
from two or more mono files as individual channels.
The format of the output file is determined by its filename suffix.
The audio parameters of the output file will be made so that
the format can accommodate each of the mono inputs;
for example, the samplerate will be the maximal samplerate
occurring in the inputs.
The output file will be overwritten if it already exists.
.Pp
.Nm sndfile-deinterleave
creates two or more mono files from a multi-channel audio file,
containing data from the individual channels. The names of the
resulting mono files are of the form
.Dq name_XY.suf
where
.Em name
and
.Em suf
are the basename and suffix of the original file.
If any file of such name already exists, it will be overwritten.
Apart from the number of channels,
the audio format of the resulting mono files
is the same as that of the original file.
.Sh EXIT STATUS
.Ex -std
.Sh EXAMPLES
Merge a mono OGG file and a mono FLAC file into a stereo WAV file:
.Bd -literal -offset indent
$ sndfile-interleave left.ogg right.flac -o stereo.wav
.Ed
.Pp
Split a multi-channel into individual mono files:
.Bd -literal -offset indent
$ sndfile-deinterleave multi.wav
Input file : multi
Output files :
multi_00.wav
multi_01.wav
multi_02.wav
multi_03.wav
.Ed
.Sh SEE ALSO
.Lk http://libsndfile.github.io/libsndfile/
.Sh AUTHORS
.An Erik de Castro Lopo Aq Mt erikd@mega-nerd.com

View file

@ -0,0 +1,116 @@
.Dd November 2, 2014
.Dt SNDFILE-METADATA-GET 1
.Os
.Sh NAME
.Nm sndfile-metadata-get ,
.Nm sndfile-metadata-set
.Nd get or set metadata in a sound file
.Sh SYNOPSIS
.Nm sndfile-metadata-get
.Op Ar options
.Ar file
.Nm sndfile-metadata-set
.Op Ar options
.Ar file
.Nm sndfile-metadata-set
.Op Ar options
.Ar input
.Ar output
.Sh DESCRIPTION
.Nm sndfile-metadata-get
displays bext and string metadata stored in an audio file.
The following options specify what to print.
.Pp
.Bl -tag -width bext-descriptionXXXX -compact
.It Fl -all
all metadata
.It Fl -bext-description
description
.It Fl -bext-originator
originator info
.It Fl -bext-orig-ref
originator reference
.It Fl -bext-umid
Unique Material Identifier
.It Fl -bext-orig-date
origination date
.It Fl -bext-orig-time
origination time
.It Fl -bext-coding-hist
coding history
.It Fl -str-title
title
.It Fl -str-copyright
copyright
.It Fl -str-artist
artist
.It Fl -str-comment
comment
.It Fl -str-date
creation date
.It Fl -str-album
album
.It Fl -str-license
license
.El
.Pp
.Nm sndfile-metadata-set
sets bext and string metadata in an audio file if the format supports it.
If the file does not contain a BEXT chunk to be modified,
the second synopsis must be used, where another output file
capable of storing the metadata is created.
This file is overwritten if it already exists.
The following options take an argument specifying the metadata:
.Pp
.Bl -tag -width bext-coding-histXXXXXXX -compact
.It Fl -bext-description
description
.It Fl -bext-originator
originator
.It Fl -bext-orig-ref
originator reference
.It Fl -bext-umid
Unique Material Identifier
.It Fl -bext-orig-date
origination date
.It Fl -bext-orig-time
origination time
.It Fl -bext-coding-hist
coding history
.It Fl -bext-time-raf
time reference
.It Fl -str-comment
comment
.It Fl -str-title
title
.It Fl -str-copyright
copyright
.It Fl -str-artist
artist
.It Fl -str-date
date
.It Fl -str-album
album
.It Fl -str-license
license
.El
.Pp
The following options take no argument:
.Pp
.Bl -tag -width bext-coding-histXXXXXXX -compact
.It Fl -bext-auto-time-date
Set the BEXT time and date to current.
.It Fl -bext-auto-time
Set the BEXT time to current.
.It Fl -bext-auto-date
Set the BEXT date to current.
.It Fl -str-auto-date
Set the string date to current.
.El
.Sh EXIT STATUS
.Ex -std
.Sh SEE ALSO
.Lk http://libsndfile.github.io/libsndfile/
.Lk http://tech.ebu.ch/docs/tech/tech3285.pdf
.Sh AUTHORS
.An Erik de Castro Lopo Aq Mt erikd@mega-nerd.com

View file

@ -0,0 +1,36 @@
.Dd September 10, 2021
.Dt SNDFILE-PLAY 1
.Os
.Sh NAME
.Nm sndfile-play
.Nd play a sound file
.Sh SYNOPSIS
.Nm sndfile-play
.Ar
.Sh DESCRIPTION
.Nm
plays one or more sound files on various operating systems using standard audio
output APIs. The following table summarizes which audio API is used where:
.Pp
.Bl -tag -width MacOSX10XXX -compact
.It Linux
ALSA or OSS
.It OpenBSD
sndio
.It FreeBSD
/dev/dsp (OSS)
.It NetBSD
/dev/audio
.It Solaris
/dev/audio
.It MacOSX 10.6
CoreAudio
.It MacOSX 10.7
AudioToolbox
.It Win32
waveOut
.El
.Sh SEE ALSO
.Lk http://libsndfile.github.io/libsndfile/
.Sh AUTHORS
.An Erik de Castro Lopo Aq Mt erikd@mega-nerd.com

View file

@ -0,0 +1,25 @@
.Dd November 2, 2014
.Dt SNDFILE-SALVAGE 1
.Os
.Sh NAME
.Nm sndfile-salvage
.Nd salvage audio data from WAV files longer than 4G
.Sh SYNOPSIS
.Nm sndfile-salvage
.Ar toolong.wav
.Ar fixed64.wav
.Sh DESCRIPTION
Audio files using the WAV file container are inherently limited to 4G of data
size fields in the WAV header being stored as unsigned 32bit integers.
Many applications have trouble with these WAV files
that are more the 4G in size.
.Nm
rewrites the WAV file into a W64 file with the same audio content.
This file is overwritten if it already exists.
.Sh EXIT STATUS
.Ex -std
.Sh SEE ALSO
.Lk http://libsndfile.github.io/libsndfile/
.\".Lk http://en.wikipedia.org/wiki/RF64
.Sh AUTHORS
.An Erik de Castro Lopo Aq Mt erikd@mega-nerd.com