Sponsored Content
Top Forums Shell Programming and Scripting Error with Audio Conversion Bash Script Post 302701403 by KBurkholder on Saturday 15th of September 2012 11:06:16 PM
Old 09-16-2012
Error with Audio Conversion Bash Script

Good evening, I'm currently working on a BASH script to convert audio between file formats and I've come across a snag. At the beginning of the script, I'm having the system check to see if any files with the .m4a extension exist in the directory, and if so, it runs the script. If there are no .m4a extensions, it produces an error. Here is the script:

Code:
if [ -f *.m4a ]; then
    read -p "Enter bitrate value. [128/256/320] > " bitrate
    for f in *.m4a; do
    avconv -i "$f" -b "$bitrate"k "${f%.m4a}.mp3"
    done
    read -p "Would you like do remove the original .m4a files? [Y/N] > " remove
        if [[ $remove == [Yy] ]]; then
            rm *.m4a
        else
            exit 0
        fi
else
    echo "There are no .m4a files in the current directory."
fi

The directory I'm trying to test the script with has the following files:
01 The Veldt (Radio Edit).m4a 02 The Veldt (8 Minute Edit).m4a

When I run the script on this directory I get this error:

/home/kburkholder/bin/m4a2mp3: line 6: [: 01 The Veldt (Radio Edit).m4a: binary operator expected

Is there something I'm doing wrong with the file check part at the beginning of the script? I've tried using both double quotes, single quotes and no quotes at all and none are giving me the results I'm looking for. Any insight would be greatly appreciated! Smilie Thanks!
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Conversion of bash parsing script to perl?

I need help with a perl parsing script. I have some error logs on a windows machine that I need to parse from a text file, but I know nothing about perl. I usually run this bash script on my linux box and it does just what I need. How would I do the same thing with perl and port it to my windows... (2 Replies)
Discussion started by: cstovall
2 Replies

2. UNIX for Dummies Questions & Answers

Another bash shell to perl conversion

Hello everyone. I am new to linux and need help again. I need help converting this bash shell to linux: for i in `ls -l *.txt` do `./cnvidtf.pl $i` `curl -u login:pswd --disable-espv -T loadfile.seq ftp://11.1.11.1` `mysql -u login -h 11.1.11.1 -ppswd < lddocs.sql` done Thanks! Any help... (6 Replies)
Discussion started by: freak
6 Replies

3. UNIX for Dummies Questions & Answers

BASH uppercase conversion

How can I convert a variable to uppercase like ksh, typeset -u $1 in bash? (1 Reply)
Discussion started by: stringdom
1 Replies

4. Shell Programming and Scripting

Typeset conversion problem from ksh to bash

Hi, typeset -l sgf # all lowercase letters typeset -u SGF # all uppercase letters sgf=$1 SGF=$sgf these lines used in my scripts . It ran fine in ksh but when we convert this to bash it erroring out. I like to know what the use of typeset ?? Thanks & Regards kanagaraj (3 Replies)
Discussion started by: kanagaraj
3 Replies

5. Shell Programming and Scripting

Bash to sh conversion

declare -i DEFINT=1 declare -i DEFDELAY=1 declare -i timeout=DEFTOUT declare -i interval=DEFINT declare -i delay=DEFDELAY if (($# == 0 || interval <= 0)); then printUsage exit 1 fi ( ((t = timeout)) while ((t > 0)); do sleep $interval kill -0 $$ ||... (5 Replies)
Discussion started by: SkySmart
5 Replies

6. Shell Programming and Scripting

Batch to bash conversion

Hi, I am just trying to convert the batch script to bash script and i am stuck at one point where I have the below code for /f "delims=" %%a in (a.txt) do ( for /f "tokens=1,2,3* delims==" %%i in ("%%a") do ( for /f "tokens=1,2,3* delims= " %%x in ("%%i") do ( if... (4 Replies)
Discussion started by: prasanna2166
4 Replies

7. Slackware

Problems with audio recording in Audacity 2.0.5. Slackware64 14.1; Intel HD Audio.

I'm trying to record audio using Audacity 2.0.5 installed from SlackBuilds. My system is 64-bit Slackware 14.1 and a sound card is Intel HD Audio. I didn't change my sound system to OSS. (Default sound system in Slackware 14.1 is ALSA, isn't it?) First, I set Internal Microphone slider in KMix... (2 Replies)
Discussion started by: qzxcvbnm
2 Replies

8. OS X (Apple)

A Bash Audio Sweep Generator...

This is a small program as a tester for a basic sweep generator for bandwidth testing of AudioScope.sh. This DEMO is only capable of 4KHz down to about 85Hz and back due to the low bit rate, but it is proof of concept for a much wider variant using a much higher bit rate. The file generated... (4 Replies)
Discussion started by: wisecracker
4 Replies

9. Shell Programming and Scripting

Bash Scripting with date format conversion

I have a script below and wanted to change the output into three different file format (3 separate script) #!bin/bash #input file format postwrf_d01_20131206_0600_f08400.grb2 #postwrf_d01_YYYYMMDD_ZZZZ_f0HHHH.grb2 #zzzz= 0000,0600,1200,1800 (in UTC) #HHHH=00000,00600,01200,01800 ..ect (in... (1 Reply)
Discussion started by: cumulus_255
1 Replies
DIR2OGG(1)						      General Commands Manual							DIR2OGG(1)

NAME
dir2ogg - Convert MP3, WAV, and M4A files to OGG format SYNOPSIS
dir2ogg [ options ] ( filename [filename2] ... || directory [directory2] ... || [cdrom-device] ... ) DESCRIPTION
dir2ogg converts MP3, M4A, WMA and WAV files to the open-source OGG format. dir2ogg is a python script that simply binds together mpg123, faad, and oggenc making it easier for the user to convert his/her music files. OGGs are about 15 to 20 percent smaller than MP3 files, with the same relative audio quality. dir2ogg can be called with the -d flag at the command line to convert any number of directories at once, or given MP3, M4A, WMA, and/or WAV filenames as arguments, dir2ogg will convert only those files. If converting WAV, M4A or WMA files with -d you must add the -w, -m or -W command line flags respectively. These flags are not neccesary unless using -d. Note that converting M4A files requires you to have faad installed, and converting WMA files requires mplayer. Keep in mind that converting from MP3 or M4A to OGG is a conversion between two lossy formats. This is fine if you just want to free up some disk space, but if you're a hard-core audiophile you may be disappointed. I really can't notice a difference in quality with 'naked' ears myself. General Options -h or --help print quick usage details to the screen. -d or --directory convert all MP3 files in directory. WAV and M4A files will be converted if used with the -w and -m command line flags. This option is for compatibility purposes only and does not need to be specified anymore. -r or --recursive like -d but descends recursively into directories. -c or --cdda Convert an audio CD into ogg. You may pass the device as an argument to the script (default: /dev/cdrom). Requires cdparanoia orq icedax or mplayer -p or --preserve-wav preserve all WAV files. By default they are deleted. -P or --no-pipe Do not use pipes to send data from the decoder to the encoder, use temporary wav files instead. --delete-input Delete the input file after conversion -v or --verbose increase dir2ogg's verbosity. -Q or --quiet Do not display progress messages, except the name of the file which is currently converted. Some decoders provide no way to disable messages and thus may still display some. Conversion options --convert-all Convert all supported audio files found in the directories given on the command-line to Ogg Vorbis. -f or --convert-ape Convert all APE (Monkey's Audio) files found in the directories given on the command-line to Ogg Vorbis, using either ogg123 or flac or mplayer. -f or --convert-flac Convert all FLAC (Free Lossless Audio Codec) files found in the directories given on the command-line to Ogg Vorbis, using ogg123 or flac or mplayer. -m or --convert-m4a convert all M4A (MPEG-4 Audio) files found in the directories given on the command-line to Ogg Vorbis, using faad or mplayer. For decoding ALAC (Apple Lossless) files, 'alac-decoder' may be used. -m or --convert-mpc convert all MPC (MusePack) files found in the directories given on the command-line to Ogg Vorbis, using mpcdec or mplayer. -W or --convert-wma Convert all WMA (Windows Media Audio) files found in the directories given on the command-line to Ogg Vorbis, using mplayer. -w or --convert-wav Convert all WAV files found in the directories given on the command-line to Ogg Vorbis. -V or --convert-wv Convert all WV (WavPack) files found in the directories given on the command-line to Ogg Vorbis. -n or --no-mp3 ingore all MP3 files found in directories given on the command-line. --(ape|cd|flac|m4a|mp3|mpc|wma|wv)-decoder=COMMAND Set the decoder you want to use for one filetype, e.g.: --mp3-decoder=lame. Run dir2ogg --help to see the available decoders. -qN or --quality=N OGG quality. N is a number between -1 and 10. Default is 3. Decimals are OK (ie: 3.7) -t or --smart-mp3 Try to use the same quality as the input file. MP3 input only! SEE ALSO
mpg123(1), mplayer(1), oggenc(1) BUGS
Enter you bug reports in Launchpad at https://bugs.launchpad.net/dir2ogg AUTHORS
0.10 and newer: Julian Andres Klode <jak@jak-linux.org> 0.9.3 and older: Darren Kirby <d@badcomputer.org> CONTRIBUTORS
original wma support: Cameron Stone <camerons@cse.unsw.edu.au> smart-mp3: Marek Palatinus <marek@palatinus.cz> dir2ogg 0.11.8 2009-08-04 DIR2OGG(1)
All times are GMT -4. The time now is 10:06 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy