Normalize an audio file second by second in Bash, with FFmpeg
You usually don't need a script like the following. I just finished writing it. Its use makes sense for old video recordings with considerable volume changes.
The audio is normalized second by second instead of all at once. The script uses a maximum amplification value (35dB) to prevent every silence from becoming a din.
For this script to work, you must have "ffmpeg" and "sox" installed.
Happy hacking!
#!/bin/bash input=input.mkv output=output.mp4 audio=audio.wav newaudio=combined.wav ffmpeg -i "$input" -vn -ar 44100 -ac 2 "$audio" ffmpeg -i "$audio" -f segment -segment_time 1 -c copy out%06d.wav for f in out*.wav do # detects volume in decibel MAX=$(ffmpeg -hide_banner -i "$f" -map 0:a -filter:a volumedetect -f null /dev/null 2>&1 | grep 'max_volume' | awk '{print $5}') # removes the minus sign (only if $MAX starts with a "-" (wildcard matching)) if [[ $MAX == -* ]]; then MAX="${MAX:1}"; fi # set a maximum volume amplification if (( $(echo "$MAX > 35.0" | bc -l) )); then MAX="35.0"; fi echo $f" -> "$MAX ffmpeg -i $f -af "volume="$MAX"dB" max$f done # Before merging the audio files with sox, we need to set up an high max number of files to be concatenated ulimit -n 16384 # https://www.spinics.net/lists/sox-users/msg00167.html sox maxout*.wav $newaudio rm *out*.wav rm $audio # now we replace the old audio with the new audio (https://superuser.com/a/1137613) ffmpeg -i "$input" -i "$newaudio" -c:v copy -map 0:v:0 -map 1:a:0 "$output" rm $newaudio
MP4 to DVD-Video in Bash
I sistemi GNU/Linux dispongono di diversi programmini per la creazione di DVD-Video, come DVD-Styler o DeVeDe, ad ogni modo possono esserci situazioni in cui sia preferibile un banalissimo script Bash per convertire un file MP4 (ad esempio un video scaricato da Internet) in un DVD-Video da vedere magari nel lettore DVD di casa.
Lo script seguente (testato su Linux Mint 17), rispetto ai programmi con interfaccia grafica, ha il vantaggio che, nella sua semplicità, permette di individuare eventuali errori o problemi nella creazione del DVD-Video, semplicemente controllando l'output generato.
Una sveglia personale, anzi, un orologio a cucù... scritto in Bash
LINK PER DOWNLOAD CODICE SORGENTE E FILE MP3
Mi sono trovato nella situazione d'aver perso il cellulare che usavo come sveglia: pazienza, da bravo linuxiano mi sono arrangiato scrivendomi uno script Bash che funziona da sveglia personale... e che a tutti qui regalo, ecco il codice:
GNU/Linux: load scsi devices (like a scanner) without rebooting
Su GNU/Linux, per usare un dispositivo scsi collegato dopo l'avvio del computer, devo riavviare il computer (operazione non sempre fattibile) oppure, più semplicemente, usare un apposito script, di cui ho trovato documentazione alla pagina: rescan-scsi-bus.sh - rescan the SCSI bus.
Codice sorgente dello script
Rinominare con numeri progressivi un insieme di file
Ho trovato una discussione sul modo migliore per rinominare con numeri progressivi un insieme di file:
http://stackoverflow.com/questions/3211595/renaming-files-in-a-folder-to-sequential-numbers
Applicare gli stessi comandi a un insieme di immagini (Gimp batch) e farci un PDF
Per modificare le immagini io uso Gimp, che è un software libero di livello molto alto e adatto ad una molteplicità di usi, dai più semplici a quelli più professionali.
Rimuovere la protezione con password da un file pdf (unlock pdf, remove security from pdf)
Ho acquistato un libro, peraltro abbastanza costoso e alto (supera le mille pagine), con in allegato una copia integrale del libro stesso su CD in formato PDF, utile per eventuali ricerche. Perfetto!! Magari tutti gli editori facessero così...
Recuperare uno o più siti web dall'Internet Archive Wayback Machine
Premessa
La Wayback Machine è l'interfaccia web utilizzata da Internet Archive per l'estrapolazione dagli archivi dei dati riguardanti siti web. I siti archiviati rappresentano una sorta di "fermi immagine" raccolti al momento dell'acquisizione delle pagine tramite il software di indicizzazione di Internet Archive. Il nome "Wayback Machine" deriva dal termine "WABAC Machine" utilizzato in una delle storie della serie animata Rocky e Bullwinkle. Il servizio, grazie allo spider di Alexa, memorizza nel tempo i cambiamenti e le evoluzioni dei diversi siti web. Per i siti minori non ha un frequente caching, ovvero le pagine vengono memorizzate solo raramente.
Aggiungere/Rimuovere lo stesso pezzo di codice (ad es. Google Analytics) a tutti i file html nella cartella corrente e nelle sottocartelle
Ho un sito statico nel quale vorrei inserire il codice di Google Analytics in tutte le pagine. C'è solo un piccolo problemino...