# 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
}
DEFACED (FRA) - Dark Planets (2014)

Label : Send The Wood Music
Sortie du Scud : 10 novembre 2014
Pays : France
Genre : Modern Metal Instrumental
Type : Album
Playtime : 9 Titres - 47 Mins
DEFACED est un jeune quatuor d'Auriol, dont le premier EP est sorti en 2012. Constitué de deux guitaristes (Florent et Julien), et d'une section basse/batterie mixte (Fred aux cordes graves et Fanny au kit), ces quatre jeunes dévoyés ont jeté leurs forces dans la réalisation de ce premier album, financé via Indiegogo, premier album que voici aujourd'hui, sur lequel ils nous proposent un Metal moderne instrumental assez percutant...
Selon leur bio, ils sont tous plus excentriques les uns que les autres. Loin de moi l'idée de remettre en doute cette affirmation, mais je préfèrerai mettre en avant leurs solides capacités instrumentales. Car proposer un album dépourvu de toute intervention vocale est toujours un défi difficile à relever et beaucoup y ont laissé pêle-mêle des dents, des baguettes et pas mal d'illusions. Jouer bien, carré c'est une chose, encore faut-il insuffler à ses compositions l'allant épique et envoutant que tout concept de ce type réclame.
Pour avoir suivi de près ce projet via Facebook, et avoir déjà jeté une oreille attentive au travail des sudistes, je savais que j'avais peu de chance d'être déçu. Leur premier EP m'avait déjà séduit par ses moyens, à la hauteur des ambitions du groupe, et Dark Planets ne fait que confirmer ce sentiment, en plaquant sans ambages neuf titres captivant sur presque cinquante minutes d'écoute.
Le choix instrumental est en effet dès le départ une gageure pour un ensemble. Car les ingrédients nécessaires à la bonne réussite du projet sont nombreux, et impératifs. Sans chanteur pour accrocher l'auditeur, sans texte, sans refrain, difficile de se reposer sur une épaule, de se découvrir, et d'atteindre son but. Agripper l'oreille du public, la tenir en haleine, la satisfaire sans user d'autres artifices que la musique en elle même.
Pour cela, le premier écueil à éviter est celui de la démonstration gratuite. Au vu de leur niveau individuel, les DEFACED auraient pu tomber facilement dans le piège, mais il n'en est rien. Et non seulement ils passent à côté de ce travers, mais ils parviennent à vous assurer de leur potentiel sans que vous ne vous en rendiez vraiment compte. Bien sur, une oreille de musicien captera aisément leur technique, mais c'est plus une habitude, un réflexe naturel que le fruit d'une attention proche. Non, les DEFACED ne sont pas là pour vous prouver qu'ils sont bons. Ils sont là pour vous offrir leur musique. Point.
Ensuite, sur une durée aussi longue, il faut maintenir la pression, varier les climats, les ambiances, surtout lorsqu'on se targue de proposer un Metal à inclinaison progressive. Ici, les morceaux le sont, sans conteste. Mais ils sont progressifs de par leur façon de travailler une thématique, de la développer, de l'emmener là où elle doit aller, de façon naturelle.
Pour cela, Florent et Julien peuvent compter sur l'assise d'une rythmique de plomb. Fanny, la jolie batteuse en a vraiment sous le coude, est reste aussi à l'aise dans les mid-tempo plaqués que dans les accélérations à la double pédale qui écrasent tout sur leur passage. Jamais avare d'une petite trouvaille qui ne verse jamais dans le gimmick, elle caresse autant ses cymbales qu'elle ne fracasse ses fûts, et mélange la frappe lourde et percutante d'un Vinnie Paul (son idole si je ne m'abuse...), à la dextérité véloce d'un Lombardo.
Fred à la basse ne se contente bien évidemment pas de suivre bêtement sa collègue tout en calquant les lignes mélodiques et se permet quelques interventions volubiles en bas du manche terriblement agréables. Bien vu, et par moment, les deux acolytes rappellent un peu le tandem Portnoy/Myung dans leurs moments les plus furieux.
En première ligne Florent et Julien abattent un travail de fou. Tout y passe, riffs épais et larges comme un manche de huit cordes, soli travaillés qui empruntent à droite à gauche (personnellement, je fonds sur celui de "Meteor Blast", tellement moderne dans son approche des 80's...) mais qui savent rester personnels, accalmies en arpèges, furie totale s'accompagnant d'un déferlement de notes choisies, mélodies séduisantes...
Et tout un tas d'images sonores passent dans la tête, aussi différentes que complémentaires. On pense parfois à un Satriani très en forme, à DREAM THEATER pour cette façon d'aborder la puissance brute sans pour autant négliger l'harmonie, à Devin Townsend, que ce soit celui de STRAPPING ou d'OCEAN MACHINE, voire même subrepticement au FEAR FACTORY le moins mécanique, légèrement teinté de PANTERA. Mais tout ceci est tellement assimilé et régurgité de façon personnelle que cela ne représente que quelques bornes pour vous guider dans la compréhension en amont de ce Dark Planets.
Je pense que chacun y trouvera son compte. Musiciens ou pas d'ailleurs, là n'est pas la question. Si vous êtes plutôt porté sur la férocité, optez pour la boucherie "Meteor Blast", qui cavale comme un fou, plombe et pilonne d'un mid-tempo d'airain, avant de partir en boucle sur une accélération soudaine, tout en proposant des riffs catchy et facilement mémorisables.
Si la sensibilité vous sied, le final délicat "Infinite Break" vous caressera dans le sens du poil avec son intro de basse à la Steve Harris et ses multiples plans harmoniques et ciselés.
Si l'aventure sans limite est votre Graal, le morceau éponyme vous comblera à tous les niveaux. Savant mélange de sonorités Néo Thrash et d'accalmies typiquement progressives, il aligne en un peu plus de sept minutes un maximum d'empruntes musicales aussi éparses que fusionnelles.
Pour le reste, écoutez. Faites vous votre propre idée, et surtout, votre propre choix. Sachez seulement que chaque titre à son propre ADN, unique, et que le mot "répétition" n'a de sens pour DEFACED que lorsqu'il est employé pour décrire une réunion en vue de peaufiner leur répertoire ou préparer un concert.
Dark Planets, outre une réussite musicale quasi totale (la production est à la hauteur de l'interprétation ceci dit en passant), est une bien belle concrétisation, qui au premier niveau symbolise à merveille l'acharnement de musiciens désireux de proposer leur musique, et qui travaillent d'arrache pied pour atteindre ce but.
Mais plus simplement, c'est avant tout un disque formidable, qu'on écoute comme on lit un livre ou qu'on regarde un film, et qui offre une palette d'émotions très large, tout en restant constamment positif. C'est le mot.
Alors, glissez le CD dans votre platine, et attachez votre ceinture. DEFACED, c'est comme une attraction à sensation, ça secoue sévère, mais on en ressort le sourire aux lèvres et légèrement décoiffé.
Ajouté : Dimanche 23 Novembre 2014 Chroniqueur : Mortne2001 Score :      Lien en relation: Defaced Website Hits: 10458
|