Help

Difference between revisions of "Converting audios"

Line 15: Line 15:
 
mkdir -p ./new/                    # create folder, if not existing (-p)
 
mkdir -p ./new/                    # create folder, if not existing (-p)
 
file="./dir/audio-0a6f36g.flac"    # path to .flac file into varible "$file"
 
file="./dir/audio-0a6f36g.flac"    # path to .flac file into varible "$file"
avconv -i "$file" 2>1             # print out metadata of $file, for some formats only</source>
+
avconv -i "$file" 2>1               # print out metadata of $file, for some formats only</source>
  
 
== Simple batch format conversion ==
 
== Simple batch format conversion ==

Revision as of 14:46, 21 May 2018

How to convert large batch of audios ?

Dependencies

sudo apt-get install lame avconv
man lame                           # then search for parameters via &quot;/{param}&quot;. ex: /-m

Technolecte

  • cbr: constant bit rate.
  • abr: average bit rate.
  • vbr: variable bit rate. For more, see man lame.

Helpers

mkdir -p ./new/                     # create folder, if not existing (-p)
file="./dir/audio-0a6f36g.flac"     # path to .flac file into varible &quot;$file&quot;
avconv -i "$file" 2>1               # print out metadata of $file, for some formats only

Simple batch format conversion

for file in ./flac/*.flac
do
  key=$(basename "$file" .flac).mp3                                 # name of the file minus .flac, plus .mp3 
  lame --abr 24    -m m -h --resample 22.05 "$file" "./new/$key";
done

Metadata-based format conversion

This example works on SWAC recorder audio files having the SWAC_TEXT metadata field. In this exemple, we assume a folder with file audio-0a6f36g.flac and metadata SWAC_TEXT : 很.

for file in ./flac/*.flac
  do
  key=$(avconv -i "$file" 2>1 | sed -ne 's/.*SWAC_TEXT *: //p')                       # print metadata, assign SWAC_TEXT's value to variable.
  lame --abr 24    -m m -h --resample 22.05 '$file&quot; './new-24k/cmn-$key.mp3';    # ex: cmn-很.mp3 (24k abr)
  lame --cbr -b 96 -m m -h --resample 22.05 '$file' './new-96k/cmn-$key.mp3';         # ex: cmn-很.mp3 (96k cbr)
done