public static function renderPmn($scale) {
		if (is_integer($scale)) {
			$scale = new Scale($scale);
		}
		$spectrum = $scale->spectrum();
		$string = '';
		// remember these are 0-based, so they're like the number of semitones minus 1
		$classes = array('p' => 4, 'm' => 3, 'n' => 2, 's' => 1, 'd' => 0, 't' => 5);
		foreach ($classes as $class => $interval) {
			if ($spectrum[$interval] > 0) {
				$string .= $class;
			}
			if ($spectrum[$interval] > 1) {
				$string .= '<sup>'.$spectrum[$interval].'</sup>';
			}
		}
		return '<em>' . $string . '</em>';
	}
public static function renderPmn($scale) {
		if (is_integer($scale)) {
			$scale = new Scale($scale);
		}
		$spectrum = $scale->spectrum();
		$string = '';
		// remember these are 0-based, so they're like the number of semitones minus 1
		$classes = array('p' => 4, 'm' => 3, 'n' => 2, 's' => 1, 'd' => 0, 't' => 5);
		foreach ($classes as $class => $interval) {
			if ($spectrum[$interval] > 0) {
				$string .= $class;
			}
			if ($spectrum[$interval] > 1) {
				$string .= '<sup>'.$spectrum[$interval].'</sup>';
			}
		}
		return '<em>' . $string . '</em>';
	}
public static function renderPmn ( $ scale ) { if ( is_integer ( $ scale ) ) { $ scale = new Scale ( $ scale ) ; } $ spectrum = $ scale -> spectrum ( ) ; $ string = '' ; // remember these are 0-based, so they're like the number of semitones minus 1 $ classes = array ( 'p' => 4 , 'm' => 3 , 'n' => 2 , 's' => 1 , 'd' => 0 , 't' => 5 ) ; foreach ( $ classes as $ class => $ interval ) { if ( $ spectrum [ $ interval ] > 0 ) { $ string .= $ class ; } if ( $ spectrum [ $ interval ] > 1 ) { $ string .= '<sup>' . $ spectrum [ $ interval ] . '</sup>' ; } } return '<em>' . $ string . '</em>' ; }
takes a scale spectrum or a scale number, and renders the "pmn" summmary string, ala Howard Hansen

@param  [type] $spectrum [description]
@return [type]           [description]
takes a scale spectrum or a scale number and renders the pmn summmary string ala Howard Hansen