Se siete utenti windows e iTunes allora state leggendo la guida sbagliata e non vi faccio perdere ulteriormente tempo. Qui facciamo le cose con linux, se volete sapere come fare con windows allora vi consiglio di prendere visione di quest'altra guida.
La presente guida si basa su Ubuntu 10.10, ma può essere adattata da un utente mediamente esperto a qualunque altra distribuzione. Iniziamo con il sommario:
- Credits
- Preparativi
- Prepariamo il file mp3
- Convertiamo da mp3 a m4r
- Trasferiamo sull'iPhone e modifichiamo Ringtones.plist
- Riavviamo l'iPhone e selezioniamo la suoneria
Credits
L'idea dietro a questa guida non è mia e ci tengo a dirlo. L'ho presa in prestito, leggermente modificata e, ovviamente tradotta in italiano, da questo meraviglioso How2s
Cosa ci serve e cosa dobbiamo installare
Prima di cominciare diamo un'occhiata a quello che ci serve, tralasciando le cose ovvie tipo un computer con linux, un iPhone (va bene anche NON jailbreak) e il file mp3 che vogliamo trasformare in suoneria. Tutti questi software esistono già impacchettati quindi non dobbiamo compilare nulla.
- Libreria di comunicazione con l'iPhone. [libimobiledevice] E' una libreria che ci permette di comunicare con il nostro iPhone. Se volete maggiori dettagli su come installarla li trovate in una guida precedente.
- Editor di file musicali. [Audacity] Ce ne sono svariati, io mi trovo bene con Audacity che, oltre ad essere Open Source, è anche multipiattaforma. Scegliete voi quello che preferite.
- Librerie per la manipolazione dei file audio. In particolare mplayer, libmp3lame, ffmpeg, faac e id3v2
- Un editor di testo. Lo so è una banalità, scegliete voi quale usare (emacs, kate, gedit...)
Prepariamo il file mp3
Una volta finito di installare tutto possiamo cominciare e il nostro primo passo sarà estrarre dal file mp3 che vogliamo trasformare in suoneria un segmento lungo al più 30 secondi. Per fare questo utilizziamo Audacity.
Nonostante la sua grafica non sia esattamente all'ultima moda, il suo utilizzo è estremamente intuitivo. Come prima cosa apriamo il file mp3, se volete potete usare questo come esempio, che ci apparirà come una traccia stereo, come nell'immagine qui sotto.
![]() |
Selezionate al più 30 secondi della traccia originale |
Abbiamo quasi finito con Audacity, non ci resta che selezionare tutto il brano e andare a vedere la sua lunghezza totale. Per farlo utilizziamo il pannello in basso, selezioniamo l'opzione lunghezza (length in inglese) e ci assicuriamo che il display sia settato in "hh:mm:ss + milliseconds". Dovremmo trovare un numero inferiore a 30000 (ovvero 30 secondi) che dovete appuntarvi da qualche parte perché ci servirà in seguito.
![]() |
Prendiamo nota della durata complessiva dello spezzone. Nel caso dell'immagine qui sopra è di 29912 ms |
Ora non ci resta che salvare, anzi esportare il nostro lavoro. Prima di farlo dobbiamo verificare che Audacity abbia trovato le librerie di codifica mp3; clicchiamo su Modifica -> Preferenze, dalla colonna di sinistra scegliamo librerie. Se ci dice che la libreria Lame 3 non è stata trovata, cliccate con fede su "trova" e vedrete che la troverà all'istante.
![]() |
Assicuratevi che la libreria LAME sia stata rilevata correttamente |
Convertiamo da mp3 a m4r
Adesso dobbiamo passare da mp3 a m4r. Per farlo potremmo utilizzare direttamente ffmpeg, ma purtroppo questo codec è ancora sperimentale, quindi facciamo un doppio salto: da mp3 a wave e quindi in aac. Sembra molto difficile, ma il seguente script lo eseguira in solo colpo.
#!/bin/bash # Current version by Hilbert 2011 # Original version by Azakus 2007 # Modified to take input and output file names # Requires mplayer, faac and id3v2 echo "Dumping mp3 to wav" mp3file=$1 m4afile=$2 tmpwave="temp.wav" mplayer -vo null -vc null -ao pcm:fast:file=$tmpwave $mp3file echo "Converting id3v1 tags to id3v2 for easier transition to m4a tags" id3v2 -C $mp3file #"Coverting id3 tag from mp3 to m4a tag" --requires id3v2 tags. TITLE="`id3v2 -l $OUT | grep TIT2 | awk '{ORS=" "} \ {for (i = 4; i <= NF; i++) print $i}'`" ARTIST="`id3v2 -l $OUT | grep TPE1 | awk '{ORS=" "} \ {for (i = 4; i <= NF; i++) print $i}'`" ALBUM="`id3v2 -l $OUT | grep TALB | awk '{ORS=" "} \ {for (i = 4; i <= NF; i++) print $i}'`" TRACK="`id3v2 -l $OUT | grep TRCK | awk '{ORS=" "} \ {for (i = 6; i <= NF; i++) print $i}'`" YEAR="`id3v2 -l $OUT | grep TYER | awk '{ORS=" "} \ {for (i = 3; i <= NF; i++) print $i}'`" #Converting from wave to aac and adding the tags faac -b 128 -c 44100 -w --title "$TITLE" --artist "$ARTIST" \ --year "$YEAR" --album "$ALBUM" --track "$TRACK" \ -o $m4afile $tmpwave #Remove temporary wave file rm $tmpwave echo "AAC transcode complete!"
Lo script potete scaricarlo direttamente da qui. Una volta scaricato aprite un terminale ed eseguite i comandi seguenti:
cd dir_dove_ho_scaricato_mp32aac
chmod +x mp32aac
sudo mv mp32aac /usr/local
mp32aac percorso/file.mp3 percorso/file.m4r
chmod +x mp32aac
sudo mv mp32aac /usr/local
mp32aac percorso/file.mp3 percorso/file.m4r
- Il primo comando serve per spostarsi nella directory dove avete salvato lo script che avete scaricato da qui.
- Il secondo rende lo script eseguibile
- Il terzo copia lo script in una cartella di sistema contenuta nel path degli eseguibili. Vi verrà chiesta la vostra password.
- Il quarto finalmente esegue la conversione. Notate che dovete passare due parametri, ovvero il nome del file mp3 contente la vostra selezione e il nome che volete dare al file di uscita. Notate inoltre che abbiamo già impostato l'estensione a m4r esattamente come voluta dall'iPhone.
Trasferiamo sull'iPhone e modifichiamo il plist
Il prossimo passo è trasferire la nostra suoneria in m4r sull'amato iPhone. Colleghiamolo e sfogliamolo da Nautilus. Entriamo nella directory iTunes_Controls/Ringtones e copiamoci il file che chiameremo suoneria.m4r.
Siamo quasi alla fine, adesso andiamo nella directory iTunes_Controls/iTunes e apriamo in file Ringtones.plist. Questo contiene chiavi xml e se non avete altre suonerie ad hoc, dovrebbe essere più o meno così:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Ringtones</key> <dict> </dict> </dict> </plist>
Quello che dovete fare è editarlo aggiungendo alcune righe di xml subito dopo la linea 6. Il file finale dovrebbe risultare come il seguente:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Ringtones</key> <dict> <key>suoneria.m4r</key> <dict> <key>GUID</key><string>148F52CB21CF093B</string> <key>Name</key><string>La mia prima suoneria</string> <key>Total Time</key><integer>29912</integer> </dict> </dict> </dict> </plist>
Ovviamente dovete personalizzare il contenuto di queste righe aggiuntive secondo lo schema seguente
- suoneria.m4r E' il nome del file che avete caricato in iTunes_Controls/Ringtones
- 148F52CB21CF093B. E' una stringa esadecimale (quindi può contenere i numeri dallo 0 al 9 e le lettere dalla A alla F). Rappresenta un codice di identificazione specifica di quella suoneria, quindi non ci possono essere due suonerie con lo stesso codice. Se quella che state mettendo è la prima suoneria, potete lasciare questo numero, altrimenti cambiatene uno a caso.
- La mia prima suoneria. E' il nome con cui l'iPhone chiamerà la vostra suoneria ad hoc. Scegliete quello che vi sembra più opportuno.
- 29912. E' la durata totale in millisecondi del brano. Vi ricordate che vi avevo detto di annotare questo numero prima di uscire da Audacity? Ecco ora è arrivato il momento di usarlo.
Riavviamo l'iPhone e selezioniamo la suoneria
Mi raccomando, questo è l'ultimo passaggio, non dimenticatevi di farlo, altrimenti la vostra non sarà utilizzabile. Dopo averlo riavviato, toccate Impostazioni, quindi Suoni, Suonerie. Vedrete con vostro grande giubilo, la vostra nuova e fiammante suoneria. Capisco che, specialmente quest'ultimo passaggio, potrebbe risultare piuttosto laborioso e macchinoso, ma come dice il proverbio: no pain, no gain!
Ps. Se volete, potete scaricare cliccando qui la suoneria che ho creato mentre stavo preparando questa guida, oppure potete ascoltare l'mp3 da cui l'ho generata.