# Copyright (C) 2002-2004 gregoire HUBERT.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Author : gregoire HUBERT
#
# XML_node.objet
#
# This object is an XML node representation
#
# /- name (string)
# xml_node --- attributes (array)
# \- children (array) or value (string)
class xml_node {
var $name;
var $attributes = array();
var $children = array();
var $value = "";
function xml_node($name,$attributes,$children=array(),$value="") {
$this->name = $name;
if (is_array($attributes)) {
$this->attributes = $attributes;
}
$this->children = $children;
$this->value = $value;
}
}
# Copyright (C) 2003-2004 gregoire HUBERT.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Author : gregoire HUBERT
#
# xml_tree class
#
# This object parses an XML stream and offers a tree composed by xml_nodes
#
class xml_tree {
var $xml_stream;
var $current_node;
var $root_node;
var $index;
var $value;
function xml_tree() {
$this->root_node = new xml_node("__ROOT_NODE",array());
$this->current_node = $this->root_node;
}
function add_tree($xml_stream) {
# Managing the parser
$this->xml_stream = $xml_stream;
$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($xml_parser,XML_OPTION_SKIP_WHITE,1);
if (!xml_parse_into_struct($xml_parser,$this->xml_stream,$this->value,$this->index)) {
xml_parser_free($xml_parser);
die("XML Parse error");
}
xml_parser_free($xml_parser);
# Now, $this->value and $this->index are informed, we can use the get_node methode.
$tab_result = $this->get_node(0,count($this->value) - 1);
$this->root_node->children[] = $tab_result[0];
$this->current_node = $this->root_node;
}
function get_node($index_start,$index_stop) {
#echo " \n";
#echo "GET-NODE($index_start,$index_stop) \n";
# What we are going to return is an array of xml_nodes
$return_tab = array();
# depth is only here to check if everything is all right
$tab_node = $this->value[$index_start];
$depth = $tab_node["level"]-1;
# Now we have to be sure we do not forget a single node
for ($index = $index_start;$index <= $index_stop;$index++) {
#echo "\$index = $index ";
# get the current node
$tab_node = $this->value[$index];
# what type of node is it ?
switch($tab_node["type"]) {
case "complete" :
# Depth integrity check
if ($tab_node["level"] != $depth+1) {
die("ERREUR # contrainte d'intégrité au noeud complet $index, niveau $depth + 1 au lieu de ".$tab_node["level"]);
}
#echo "Noeud complet trouvé position $index TAG ".$tab_node["tag"]." \n";
# Easy one, no children to manage, only a value...
$return_tab[] = new xml_node($tab_node["tag"],$tab_node["attributes"],"",$tab_node["value"]);
break;
case "open" :
# Depth integrity check
if ($tab_node["level"] != $depth +1 ) {
die("ERREUR # contrainte d'intégrité au noeud ouvert $index, niveau $depth au lieu de ".$tab_node["level"]);
}
# Open tag, we re-use this methode to return its children
# Where is the correspondong close tag ?
$node_index = $this->index[$tab_node["tag"]];
$flipped_node_index = array_flip($node_index);
#echo "This ".$tab_node["tag"]." is at coords ".$flipped_node_index[$index]." ";
$i=1;
do {
$next_index = $node_index[$flipped_node_index[$index] + $i++];
$next_tag=$this->value[$next_index];
}
while ($next_tag["level"]!=$tab_node["level"]);
#echo "Ouverture de noeud détectée pos $index TAG ".$tab_node["tag"]." \n Parcours jusqu au $next_index \n";
# good, we can now instanciate our node
$return_tab[] = new xml_node($tab_node["tag"],$tab_node["attributes"],$this->get_node($index+1,$next_index),"");
# As we called the get_node methode, we are sure that nodes have been parsed to the corresponding close tag
$index = $next_index;
break;
case "close" :
# Depth integrity check
if ($tab_node["level"] != $depth ){
die("ERREUR # contrainte d'intégrité au noeud fermé $index, niveau $depth au lieu de ".$tab_node["level"]);
}
#echo "Fermeture de noeud detectée pos $index TAG ".$tab_node["tag"]."
\n";
# This ugly thing is useless because reaching a close tag means that $index==$index_stop but who knows ? =)
# it will be skipped soon
$index = $index_stop;
break;
default:
die("Erreur de type de TAG non déterminé :'".$tab_node["type"]."'");
}
}
# We are out ... returns the array with collected children...
return ($return_tab);
}
# this function browse the xml tree and set the current node to the selected node
function give_node($path) {
if ($path[0]=="/") {
$current_node=$this->root_node;
$path=substr($path,1);
#echo "ABSOLUTE PATH GIVEN=$path ";
}
else {
$current_node = $this->current_node;
}
#echo "PATH GIVEN=$path ";
$tab_path = split("/",$path);
foreach ($tab_path as $node_expr) {
#echo "STUDYING EXPR='$node_expr' ";
$node = $current_node;
$expr_tab = split("\?",$node_expr);
$node_name = $expr_tab[0];
$attr_tab = 0;
if (count($expr_tab)>1) {
##echo "TROUVE AU MOINS UNE CONDITION SUR LES ATTRIBUTS... ";
$attr_expr_tab=split(",",$expr_tab[1]);
$attr_tab=array();
foreach($attr_expr_tab as $attr_expr) {
$attr_split_expr=split("=",$attr_expr);
$attr_tab[$attr_split_expr[0]]=$attr_split_expr[1];
}
}
$last=0;
foreach ($node->children as $children) {
#echo "COMPARING WITH '$children->name' ";
if ($children->name == $node_name) {
##echo "TROUVE NOEUD CORRESPONDANT $node_name ";
if (is_array($attr_tab)) {
$node_attributes = $children->attributes;
foreach ($attr_tab as $key=>$value) {
if ($node_attributes[$key] == $value) {
#echo "ATTRIBUTE & CHANGE CURRENT NODE TO ".$children->name." ";
$current_node = $children;
$last = 1;
}
}
}
else {
##echo "CHILD=".$children->name." ";
#echo "CHANGE CURRENT NODE TO ".$children->name." ";
$current_node = $children;
$last=1;
}
}
if ($last) {
break;
}
}
if (!$last) {
#echo "PATH ERROR $node_name ";
#die("MMmmmh It seems that this file is not a DIA XML format...sorry...");
return 0;
}
}
return $current_node;
}
function browse_tree($path) {
$node = $this->give_node($path);
if (is_object($node)) {
$this->current_node = $node;
return 1;
}
return 0;
}
# this method dumps an html representation of the xml tree
function xml_show($node = "",$level=0,$last=0) {
if ($node=="") {
$node=$this->root_node;
}
if (!is_object($node)) {
die("ERROR : node is not an object");
}
$line="";
for($i=1;$i<=$level;$i++) {
if ((i==$level-1) and ($last)) {
$line.=" ";
}
else {
$line.=" |";
}
if ($i==$level) {
$line.="`-";
}
}
$line.=$node->name;
#echo $line;
$line.="".count($node->children)."";
if (count($node->children)==1) {
$line.=" (".$node->value.") \n";
echo "$line";
}
else {
$line.=" \n";
echo "$line";
$i=1;
foreach($node->children as $children) {
if ($i==count($node->children)) {
$this->xml_show($children,$level+1,1);
}
else {
$this->xml_show($children,$level+1);
}
$i++;
}
}
}
#END_CLASS
}
OF US GIANTS (usa) - Nova Scotia (2014)

Label : Songs From The Road Records
Sortie du Scud : 28 janvier 2014
Pays : Etats-Unis
Genre : Alternative Rock
Type : Album
Playtime : 11 Titres - 38 Mins
C'est stupide, mais ça arrive. On cherche, on tombe sur une pochette superbe, et on se dit qu'on devrait peut être y jeter une oreille... Un réflexe d'adolescente groupie, mais que voulez vous, même un homme de quarante trois ans peut retomber en enfance...
Et c'est ce qui vient de m'arriver. En me baladant dans les arcanes d'un label de distribution, j'ai noté cette photo superbe qui orne le packaging du premier album des californiens de OF US GIANTS, et j'ai décidé d'écouter. Grand bien m'en a pris, car je n'ai pas perdu mon temps, loin de là...
Pourtant, je n'aurais pas du, car en principe, je ne disserte que sur les nouveautés la plupart du temps, et classé dans un créneau Metal ou affilié...
Or, Nova Scotia ne remplit aucune de ces conditions... C'est un album sorti il y a plus d'un an et demi, qui relève plus de l'Indie Rock que du Hard Rock, mais après tout, ne peut on pas se permettre quelques libertés parfois lorsqu'on découvre quelque chose qui vaut vraiment le coup ?
Attention toutefois, même si ce premier LP n'est en aucun cas du Heavy ou dérivé, il reste d'une puissance tout à fait honorable, au moins autant que NICKELBACK et toute la vague alternative des early 00's. Musicalement, l'affaire est plus riche, et plus complexe...
Leur premier EP, sorti en 2012, n'avait pas fait grand bruit dans l'Underground, et le groupe semblait promis à un anonymat relatif pas forcément immérité. Musique standard, automatismes de composition flagrants, rien ne semblait pouvoir les distinguer de la masse grouillante des grenouilles de bandcamp comme on en compte des milliers sur le net.
Mais lorsque Nova Scotia fit son apparition, la donne changea quelque peu. OF US GIANTS s'était débarrassé de ses oripeaux de banalité, et se décidait à explorer des terres un peu plus vierges, et d'y laisser son emprunte. On commençait à parler d'influences, de Coheed & Cambria à Bright Eyes ou Seahaven, voire des anciens Conor Oberst et Elliott Smith, et le tout prenait plus d'ampleur, et de sérieux.
Et à l'écoute des onze pistes de ce premier effort, j'ai décidé de me joindre à la liesse générale. Oui, Nova Scotia est à l'image de sa pochette, aux couleurs légèrement passées, et à la beauté voilée d'une brume matinale d'automne... Simple, sincère, humain.
Ce disque est avant tout basé sur des chansons. Des chansons solides, travaillées, aux mélodies un peu amères, et aux structures à la fausse simplicité séduisante. On y retrouve un peu toute l'histoire de la musique US contemporaine, sans tomber dans les profondeurs déprimantes des auteurs compositeurs neurasthéniques, ni dans l'Americana un peu trop euphorique. Faisant fi de la standardisation et du préfabriqué, OF US GIANTS se concentre sur les sentiments, la pureté, la franchise et nous laisse avec des harmonies flottantes sublimes. La tonalité générale, assez Indie Folk Rock, évoque agréablement les grands paysages américains ruraux, avec vue sur les grandes cités de béton. Pour tenter de comprendre l'image, n'importe quel morceau fera l'affaire. Mais si le consensus semble s'être formé autour de la chanson éponyme, ça n'est pas par hasard...
"Nova Scotia", avec en appui vocal Lindsey Pavao, demi finaliste de The Voice sur NBC est en effet le point fort de cet album atypique et charmant. Sa structure toute en dualité douceur/force subjugue, et offre une clôture de premier choix au disque. Tout commence par quelques accord égrenés sur une guitare douce, soutenus par le duo au chant, entremêlant la voix rauque masculine et les intonations féminines acidulées... Et puis, une fois le décor Folk planté et assumé, la machine s'emballe, et le ciel se plombe de nuages noirs, à mesure que la musique se durcit, et se veut plus lourde et dramatique.
Le premier duo avec mademoiselle Pavao, "Iron Boat", vaut aussi son pesant d'or, cavalant sur un tempo chaloupé et brisé, plus volontiers Rock et simplement mélodique. Un hit en puissance, pour le moins...
Le chant de Dustin Anderson, nuancé, volatile et versatile est parfaitement soutenu par des guitares changeantes, parfois claires et carillonnantes, de temps à autres plus grasses et déchirantes. Souvent, le groupe se laisse aller à dériver sur des routes presque Country Folk, et il atteint des sommets, comme à l'occasion du sublime "All Of My Daughters". Hésitant entre la nostalgie familiale du temps passé sur les couplets, et colère de se voir vieillir trop vite sur les refrains, c'est aussi une perle qui s'adressera à la plupart d'entre vous...
Mais il est impossible de ne pas se sentir concerné par l'album en général, même si l'on choisit de s'attacher aux détails.
Ainsi, que vous soyez plus directement amateur d'Indie Rock musclé et mélodique, ("Liar" ouverture nuancée qui flirte avec la Pop, et sur laquelle Dustin donne toute l'ampleur de son talent de vocaliste, "Around The Furline", faussement lent mais réellement puissant, avec un duo guitares/chant qui écorche le silence), de délicatesses Folk Rock qui embrasent les oreilles ("Dying", direct et concentré, "Take It Home", aux riffs saccadés précis découlant sur un refrain emphatique et écorché vif), de classicisme Pop Rock qui affolait les charts des 90's ("A Beam Offshore", énervé et chaud comme un été Indien), ou que vous préfériez les approches plus subtiles et indécises ("Stone Hands" et ses cinq minutes qui offrent un joli crescendo de guitares étouffées avant d'exploser dans un final plein de rage), vous aurez inévitablement de quoi vous satisfaire.
Car au delà des appartenances stylistiques, Nova Scotia est un magnifique album de musique qui se plaît à citer les modèles tout en les adaptant à son identité. Un disque qui refuse les clivages, ose les mid tempo hargneux et conventionnels ("Machine Heart", presque Pop Punk dans l'esprit), tout en craquant régulièrement au coin d'un feu acoustique, la voix un peu cassée, et des souvenirs d'histoire plein la tête.
Alors oui, Nova Scotia est bien à l'image de sa splendide couverture... On peut y voir en fermant les yeux ces deux jeunes filles, fuyant dans le petit matin les tracas d'une vie fatigante et routinière, à la poursuite d'une chimère qu'elles n'attendront peut être jamais...
Ou tout simplement une musique belle comme un matin qui se lève, sans artifices, sans faux semblants. Et peu importe qu'elle s'adresse à vous ou non. Puisqu'elle s'adresse à tout le monde, pour peu que les étiquettes le cèdent à la sensibilité.
Ajouté : Mardi 13 Octobre 2015 Chroniqueur : Mortne2001 Score :      Lien en relation: Of Us Giants Website Hits: 7124
|