#!/bin/bash # Directory containing your .wav files directory="~/Desktop/learn_punjab_book" # Create or empty the filelist.txt #> filelist.txt # Loop through .mp3 files and add to filelist.txt for file in ~/Desktop/learn_punjab_book/*.mp3; do echo "$file" >> filelist.txt done CHUNK_SIZE=15000000 # 30MB in bytes OUTPUT_DIR="concat" mkdir -p $OUTPUT_DIR current_chunk_size=0 chunk_index=1 chunk_files="" while read -r file; do echo "Processing file: $file" if [[ ! -f "$file" ]]; then echo "File not found: $file" continue fi file_size=$(stat -c%s "$file") echo "File size: $file_size bytes" if (( current_chunk_size + file_size > CHUNK_SIZE )); then echo "Creating chunk $chunk_index" ffmpeg -y -i "concat:${chunk_files:1}" -c copy "$OUTPUT_DIR/chunk_$chunk_index.mp3" ((chunk_index++)) current_chunk_size=0 chunk_files="" fi current_chunk_size=$((current_chunk_size + file_size)) chunk_files="${chunk_files}|$file" done < filelist.txt if [[ -n $chunk_files ]]; then echo "Creating final chunk $chunk_index" ffmpeg -y -i "concat:${chunk_files:1}" -c copy "$OUTPUT_DIR/chunk_$chunk_index.mp3" fi