Al final estás haciendo un doble query y además no es necesario almacenar el rsultado (?) en una variable. Para tener más detalles de un posible error, fuerza al script a mostrar el error.
Código PHP:
$query="INSERT INTO melodias (autor,email,activo,autor_cancion,genero,voz,archi vo) VALUES ('{$_POST[autor]}', '{$_POST[email]}','no', '{$_POST[autor_cancion]}','{$_POST[genero]}','{$_POST[voz]}','$name')";
mysql_query($query) or die("error en inserción : <b>$query</b> :".mysql_error());
mysql_close($conectar);
Saludos