diff --git a/concat.sh b/concat.sh new file mode 100755 index 0000000..f80a278 --- /dev/null +++ b/concat.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# File containing the list of file paths +log_file="file_paths_log.txt" +output_file="output.mp3" +file_list="filelist.txt" + +# Create a new filelist +echo "" > $file_list + +# Read the file paths from the log file and prepare the filelist for ffmpeg concat demuxer +while IFS= read -r filePath; do + echo "file '$filePath'" >> $file_list +done < "$log_file" + +# Construct the ffmpeg command to concatenate the files with a 0.5s delay +ffmpeg_command="ffmpeg -f concat -safe 0 -i $file_list -filter_complex \"adelay=500|500\" -c:a libmp3lame -q:a 2 \"$output_file\"" + +# Execute the ffmpeg command +echo "Running command: $ffmpeg_command" +eval $ffmpeg_command diff --git a/file_paths_log.txt b/file_paths_log.txt new file mode 100644 index 0000000..2565b38 --- /dev/null +++ b/file_paths_log.txt @@ -0,0 +1,37 @@ +modules/dt/module//0047.wav +modules/dt/gleise_zahlen/hoch//2.wav +modules/dt/module//0095.wav +modules/dt/linien/linien_kombi//regional_bahn_linie_.wav +modules/dt/gleise_zahlen/hoch//75.wav +modules/dt/module//0054.wav +modules/dt/ziele/variante1/hoch//8010226.wav +modules/dt/zeiten/verspaetung_heute//005.wav +modules/dt/module//0047.wav +modules/dt/gleise_zahlen/hoch//2.wav +modules/dt/module//0095.wav +modules/dt/zuggattungen/hoch//ice.wav +modules/dt/gleise_zahlen/hoch//500_.wav +modules/dt/gleise_zahlen/hoch//12.wav +modules/dt/ziele/variante1/hoch//8000261.wav +modules/dt/module//0054.wav +modules/dt/ziele/variante1/hoch//8003039.wav +modules/dt/module//0063.wav +modules/dt/ziele/variante1/hoch//8000619.wav +modules/dt/abschnitte/hoch//und.wav +modules/dt/module//0105.wav +modules/dt/ziele/variante1/hoch//8003810.wav +modules/dt/module//0012.wav +modules/dt/module//0048.wav +modules/dt/gleise_zahlen/hoch//42.wav +modules/dt/module//0095.wav +modules/dt/zuggattungen/hoch//tgv.wav +modules/dt/zeiten/minuten/hoch//03.wav +modules/dt/zeiten/minuten/hoch//11.wav +modules/dt/module//0054.wav +modules/dt/ziele/variante1/hoch//8000323.wav +modules/dt/module//0063.wav +modules/dt/ziele/variante1/hoch//8005361.wav +modules/dt/abschnitte/hoch//und.wav +modules/dt/module//0105.wav +modules/dt/ziele/variante1/hoch//8005241.wav +modules/dt/module//0012.wav diff --git a/filelist.txt b/filelist.txt new file mode 100644 index 0000000..95e7048 --- /dev/null +++ b/filelist.txt @@ -0,0 +1,9 @@ + +file 'modules/dt/module//0047.wav' +file 'modules/dt/gleise_zahlen/hoch//2.wav' +file 'modules/dt/module//0095.wav' +file 'modules/dt/linien/linien_kombi//regional_bahn_linie_.wav' +file 'modules/dt/gleise_zahlen/hoch//75.wav' +file 'modules/dt/module//0054.wav' +file 'modules/dt/ziele/variante1/hoch//8010226.wav' +file 'modules/dt/zeiten/verspaetung_heute//005.wav' diff --git a/main.go b/main.go index a278286..b75da90 100644 --- a/main.go +++ b/main.go @@ -268,12 +268,27 @@ func playAudioFiles(filePath string) error { // Debugging: print the file path being played fmt.Printf("Playing audio from: %s\n", filePath) + // Open or create a log file in append mode + logFile, err := os.OpenFile("file_paths_log.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) + if err != nil { + return fmt.Errorf("Error opening log file: %v", err) + } + defer logFile.Close() + + // Write the file path to the log file + _, err = fmt.Fprintf(logFile, "%s\n", filePath) + if err != nil { + return fmt.Errorf("Error writing to log file: %v", err) + } + + // Play the audio file using ffplay cmd := exec.Command("ffplay", "-nodisp", "-hide_banner", "-autoexit", filePath) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr - err := cmd.Run() + err = cmd.Run() if err != nil { return fmt.Errorf("Error playing audio file: %v", err) } + return nil }