This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Help convert audio FROM stereo TO mono please

Tags: None
(comma "," separated)
ubuntuaddicted
Registered Member
Posts
206
Karma
0
I am struggling and hope someone can help me. I would need 1 of 2 solutions and I would be very grateful! So I use a screencast.sh script I found online which works awesome EXCEPT my headset/mic (Turtle Beach X31's) I use is for an xbox 360. I am using an adapter from 3/32 to 1/8 into my mic jack, the adapter I bought says it's a stereo adapter BUT only the LEFT channel audio is recorded (maybe something due to the headset?). I am not buying a better mic and I am sticking with this headset/mic SO, 1 of 2 things needs to occur.

1. Somehow understand how to tell the script (pasted below) to only record in mono or end up rendering it in mono. I have played with the sox options and have failed miserably. I also tried to play with the final FFMPEG command by adding -ac 1 BUT again FAIL. Not sure how to fix it here.

IF the above can't be achieved how to do this

2. Somehow save the H264 profile within kdenlive and make a new 1 with "mono" appended to name and make it such that it takes what it thinks is the stereo audio and converts it to mono. Can anyone help please??

As a side not I can open audacity and tell it capture mono and it works great, my audio is then captured in mono and when played back obviously goes to both left and right channels of my speakers.

Here's the screencast.sh script which I am using:
#!/bin/bash

# list of programs we depend on
progs="xdpyinfo grep head sed ffmpeg pacat parec sox"

# check for programs we depend on
result=0
for prog in $progs
do
type -p $prog > /dev/null
if (( $? != 0 )); then
echo "Error: Cannot find required program '$prog'"
result=1
fi
done
if (( $result != 0 )); then
exit 1
fi

screenSize="1280x1024" # default if we cant detect it
screenOffset="0,0" # default to top-left corner
frameRate="24" # default frame rate
baseName="capture" # default base filename for capture

# attempt to detect the dimension of the screen for the default
dimensions=`xdpyinfo | grep 'dimensions:' | head -1 | \
sed -e 's/^.* \([0-9]\+x[0-9]\+\) pixels.*$/\1/'`
if [[ "$dimensions" =~ [0-9]+x[0-9]+ ]]; then
screenSize=$dimensions
fi

# collect command line settings
while getopts 'hs:o:t:p' param ; do
case $param in
s)
screenSize="$OPTARG"
;;
o)
screenOffset="$OPTARG"
;;
t)
timeToRecord="$OPTARG"
;;
*)
echo ""
echo "$0 - records screencast"
echo ""
echo "$0 [options] [base-filename]"
echo ""
echo "options:"
echo " -h show brief help"
echo " -s screensize to record as x"
echo " -o offset off recording area as ,"
echo " -t
ubuntuaddicted
Registered Member
Posts
206
Karma
0
bump. anyone please?
yellow_drupal
Registered Member
Posts
748
Karma
0
Are you saying you want your left channel out of both? The Stereo to Mono audio channel effect would do this I think, it just copies the channel.
markoc
Registered Member
Posts
342
Karma
1
It would be very nice if the "split audio" tool would have a "separate channels into mono tracks" option.
That is, instead of generating one stereo audio track, generate two mono tracks. (Or more, if the input video is 5.1 or whatever)

Another solution would be to have a separate audio-only tool (not a part of "split audio"), which would convert an multichannel audio track into separate mono audio tracks.

I encountered two cases, where I needed to do this, and had to use an external tool. First, when one of the stereo channels was junk, and second, when a recording from a TV was bilingual.

It was not possible, within Kdenlive, to produce an output video with stereo sound, where the desired audio channel from the input would be heard in both chanels of the output video. (There were additional audio sources like background music, therefore the need for stereo output.)

FishB8
Registered Member
Posts
53
Karma
0
Change

parec --format=s16le --rate=44100 --channels=2 $baseName.raw &

to

parec --format=s16le --rate=44100 --channels=1 $baseName.raw &


and also change

sox --norm -s -b 16 -L -r 44100 -c 2 "$baseName.raw" "$baseName.wav" highpass 65 lowpass 12k

to

sox --norm -s -b 16 -L -r 44100 -c 1 "$baseName.raw" "$baseName.wav" highpass 65 lowpass 12k
ubuntuaddicted
Registered Member
Posts
206
Karma
0
you guys are awesome, thank you!!!! Will report back when I test this. Thanks again. BTW, loving kdenlive which I am using from sunab's svn PPA within Ubuntu 10.04.
ubuntuaddicted
Registered Member
Posts
206
Karma
0
Under effects > audio correction > copy channels and also mono to stereo both do the same thing and either works a treat. THANKS


Bookmarks



Who is online

Registered users: bartoloni, Bing [Bot], Evergrowing, Google [Bot]