Exclude page name from loop

An alternative way is putting the unwanted pages in an array. Useful for storing them in a option or in a serialized custom field.

$exclude_pages = array('music', 'contact');
// can be something like this: $exclude_pages = get_option('exclude_pages');

if ( have_posts() ) : while ( have_posts() ) : the_post();
  if ( is_page() && ! empty($exclude_pages) && (
      in_array($post->post_name, (array)$exclude_pages) ||
      in_array($post->post_title, (array)$exclude_pages)
  ) ) continue; // skip


  // the rest of your loop here

Edit

To also exclude some post type you can use:

$exclude_pages = array('music', 'contact');
$exclude_post_types = array('music', 'any_here');

if ( have_posts() ) : while ( have_posts() ) : the_post();
  if ( is_page() && ! empty($exclude_pages) && (
    in_array($post->post_name, (array)$exclude_pages) ||
    in_array($post->post_title, (array)$exclude_pages)
  ) ||
  ( is_single() && in_array(get_post_type(), (array)$exclude_post_types) ) ) continue;