Mooolto più chiaro, zerbo!

Dalla prima form hai $titolo e $i, di cui non ce ne frega niente perché li hai già elaborati, dalla seconda form hai un vettore di $i elementi di $nome/$autore/$durata. La seconda form dovrebbe quindi essere qualcosa del tipo:

Codice PHP:
<form ...>
  <
input name="nome[]" ... /> <input name="autore[]" ... /> <input name="durata[]" ... />
  <
input name="nome[]" ... /> <input name="autore[]" ... /> <input name="durata[]" ... />
  ...
</
form
L'acquisizione dei dati deve essere fatta senza specificare le parentesi quadre e per la generazione della query puoi adattare l'esempio che ti avevo postato prima, cioè:

Codice PHP:
$nomi $_POST['nome'];
$autori $_POST['autore'];
$durate $_POST['durata'];

$valori = array();
foreach (
$nomi as $id => $nome) {
  
$autore $autori[$id];
  
$durata $durate[$id];
  
$valori[] = "($nome$autore$durata)";
}

$query 'INSERT INTO Canzoni (nome_canzone, autore, durata) VALUES ' implode(','$valori); 
Come puoi notare, della $i non me ne frega una salciccia perché le dimensioni del vettore $nomi mi da già il numero di canzoni dell'album.

Tieni presente che qui si stà saltando il controllo delle magic quotes (vedi stripslashes()) e l'encoding dei dati per il database (vedi mysql_escape_string()) per cui probabilmente ti compariranno slashes fantasma, ma questo è altro pane per i tuoi denti...