Print this page
Saturday, 20 August 2016 18:25

Creating B-format Audio Files with Core Sound Tetramic & Tascam DR-680 on Linux

Posted by
Rate this item
(5 votes)

The script and other configurations detailed on this page convert mono files generated by a Tascam DR-680 with a Core Sound Tetramic soundfield microphone to B-format 4-channel wav files. It requires that the Tascam DR-680 is configured to save recordings as mono sound files on channels 1, 2, 3 & 4 and that these channel numbers match the corresponding capsules on the Tetramic. The script also requires that Tetramic calibration files are installed (see below) and the additional installation of the following programs by Fons Adriaensen

tetraproc-0.8.2.tar.bz2 

jconvolver-0.9.2.tar.bz2 (includes the necessary utility "makemulti")

Fons Adriaensen provides a free calibration service for Tetramics which generates calibration files specific to each microphone based on data provided with the microphone on purchase. See"TetraProc / TetraCal" and "Calibration service for Core Sound's TetraMic" on this page for further information.

Run the script in a directory containing the mono files. Change paths and configuration filenames in the script as necessary. Use the command line argument --elf to enable extended low frequency response in the b-format output (-3dB at 40Hz) or none to use the default roll-off at 80Hz.

The B-format script is contained in the attachment "mono2bformat.zip" below. Alternatively, copy the following code:

#!/bin/bash

#Converts dated mono files generated by a Tascam DR-680 with a Coresound Tetramic ambisonic microphone to B-format 4-channel wav files. Run this script in directory containing the mono files. Change paths as necessary. Use the command line argument --elf to enable extended low frequency response in the b-format output (-3dB at 40Hz) or none to use the default roll-off at 80Hz.

if [ "$1" = "--elf" ]; then
    config="elf"
else
    config="def"
fi

[ -d aformat ] || mkdir aformat
[ -d bformat ] || mkdir bformat

for file in *.wav 
do 
base=${file:0:11}
channelnumber=${file:15:1}
if [ "$channelnumber" = "1" ]; then
      command="/usr/local/bin/makemulti --wav --24bit $file"
            fi
if [ "$channelnumber" = "2" ]; then
      command="$command $file"
           fi
if [ "$channelnumber" = "3" ]; then
      command="$command $file"
            fi
if [ "$channelnumber" = "4" ]; then
    command="$command $file $base"
    suffix="a-format.wav"
    command=$command$suffix
    $command
    aformatfile=$base$suffix
    mv ./$aformatfile ./aformat

    if [ "$config" = "elf" ]; then
suffix="b-format_elf.wav"
    else
suffix="b-format.wav"
    fi
    bformatfile=$base$suffix
    if [ "$config" = "elf" ]; then
/usr/local/bin/tetrafile --fuma --wav --hpf 20 /home/iain/.tetraproc/CS2293-elf.tetra aformat/$aformatfile bformat/$bformatfile
    else
/usr/local/bin/tetrafile --fuma --wav --hpf 20 /home/iain/.tetraproc/CS2293-def.tetra aformat/$aformatfile bformat/$bformatfile
    fi

fi

done

rm -r aformat

exit 0

 

Read 2331 times Last modified on Monday, 22 August 2016 22:19