Multitrack recordings of the #Whaletank 226 talks last Saturday 30 Sept.

in #beyondbitcoin7 years ago

With each speaker separately on an audiotrack

(or any of your own podcasts) In a few simple steps which we will break down below.

  • Get the link to the files: Whaletank30-9-2017MultichannelRecordings.zip
  • Extract your favourite project
  • Convert them to a video format by using the ffmpeg code below
  • Upload the created video files (MKV format) you want to your YouTube channel by dragging and dropping them all at once.
  • Wait a while for the subtitles to generate automatically
  • Edit your subtitles on YouTube
  • Download the srt from YouTube
  • Either send them to me if you want to have a transcript i.e. a clean without timecodes or read below how to do it yourself

Steps broken down:

here are all the files (of Whaletank talk #226) in one zipfile:

Whaletank30-9-2017MultichannelRecordings.zip

  1. Record in multichannel

    So when you record choose "Multichannel" as you see in the image MumbleMultitrack.png

  2. Convert the Mumble recordings to a video format

    Here's the code how tos to video which can be batch uploaded to YouTube by just drag and drop. You have to be in the directory with the audio files and set the img variable to an image you'd like to use for the video. It will look like this.

    for file in *; do ffmpeg -loop 1 -r 2 -i "$img" -i "$file" -vf scale=-1:380 -c:v libx264 -preset slow -tune stillimage -crf 18 -c:a copy -shortest -pix_fmt yuv420p -threads 0 "$file".mkv; done

  3. Edit your subtitles

    on YouTube by adding punctuation, capitalization and edit out everything which doesn't make sense like repeated words and stop words (So, you know, like etc.) and wrongly interpreted words by YouTube like bit chairs BitShares YouTubeCC.png

  4. Download the subtitles when you are done. DownloadSRT.png

  5. Mix the audiotracks by using

    ffmpeg -i input1.ogg -i input2.ogg -i input3.ogg -i input4.ogg -i input5.ogg -filter_complex "[0:a][1:a][2:a][3:a][4:a] amix=inputs=5:duration=longest[aout]" -map "[aout]" -ac 2 -c:a libvorbis -b:a 128k output.ogg and adjust the code to the number of input audiotracks you have like so: [0:a][1:a][2:a][3:a][4:a][5:a] for six (6) audio track instead of 5. Also set amix=inputs=6 the rest stays the same.

  6. Insert speaker names

    by prepending the nickname of each speaker in case when the conversation gets back and forth you know who said what. So here is one code to make it happen: sed -E "s/(^[A-Z])|(([\.?\!][ ]*)([A-Z]))/\3$nickname: \1\4/" $filename You of course, the $nickname placeholder is a variable so set it first with nickname="your nickName" or something. The (^[A-Z])|(([\.?])([A-Z])) is called a regular expression or regex. An alternative would be to use @AlexPMorris program which is preffered since it is easier and better to read for the transcriptions. It is still in the making but nearly done.

  7. Merge the subtitles

    With AstiSub https://github.com/asticode/go-astisub and set the path to

    export GOPATH="$HOME/gopath"
    export PATH="$GOPATH/bin:$PATH"
    and use astisub merge -i speaker1.srt -i speaker2.srt -o allSpeakers.srt

    Or use Alex' program which is written in Java

  8. Upload the merged subtitle to YouTube


    and choose "Upload a file" and "Publish"

Now your done with subitles!

Transcriptions

Making a transcription out of the merged subtitle file would be more easy with Alex' program but basically you strip the timecodes and format to your liking:

Code for cleaning up the subtitles:

sed 's/\r$//' "$input" |grep -v -- "-->" |grep -v "^$" |grep -E -v "^[0-9]+$" |sed 's/WEBVTT//' |tr -s ' ' |tr -d '\t' |sed 's/\\/\\\\/g' |sed 's/"/\\"/g' > transcript

sed '

: again

/[^].]$/ {

N

s/\n/ /

t again

}

' transcript > final-transcript

You could just copy and paste as it is. Please note the second sed command should be on multiple lines like that. It might look crazy but it works.

Some useful and interesting links:

Download subtitles from YouTube, even automatic captions

http://downsub.com/

Subtitle Edit

http://www.nikse.dk/SubtitleEdit/

AstiSub

https://github.com/asticode/go-astisub

Amara

https://amara.org/cs/about-amara/

Amara can help to add translations to videos. Check it out!

YouTube API

Maybe we can use it in the future

https://developers.google.com/youtube/v3/docs/captions/list#try-it

https://developers.google.com/youtube/v3/docs/captions

https://developers.google.com/youtube/v3/getting-started

Closing comments

It's very cool to be able to read along what's being said. It's much easier to read what website or speaker is being reffered to than to have to listen to it. Also you get to know people by their nickname and can thus more easily follow them on Steemit.

Furthermore with interactive transcripts you could jump to any section which interest you. No need to watch a whole video or listen to a podcast which might not be so interesting at the end. But then it is too late and you've already wasted your time.

It might be not obvious for most of us but the more you know the more you will waste your time with things you already know or are even inaccurate.

Sort:  

This is amazing! Thank you for your time an efforts and for making this easier for the rest of us

Hey don't I know you from somewhere? ;)

Great informations mate thank you ! :)

You sure what it is about? ;)

Congratulations @nutela, this post is the third most rewarded post (based on pending payouts) in the last 12 hours written by a User account holder (accounts that hold between 0.1 and 1.0 Mega Vests). The total number of posts by User account holders during this period was 1176 and the total pending payments to posts in this category was $2415.45. To see the full list of highest paid posts across all accounts categories, click here.

If you do not wish to receive these messages in future, please reply stop to this comment.

Coin Marketplace

STEEM 0.20
TRX 0.13
JST 0.030
BTC 61839.57
ETH 3411.37
USDT 1.00
SBD 2.52