# 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
}
OOMPH! (de) - Des Wahnsinns Fette Beute (2012)

Label : Columbia Records / Sony Music
Sortie du Scud : 21 mai 2012
Pays : Allemagne
Genre : Indus / Electro Metal
Type : Album
Playtime : Titres - Mins
A tous ceux qui voient dans la permanente opposition entre OOMPH! et RAMMSTEIN un combat de coqs digne de la guéguerre MUSHROOMHEAD – SLIPKNOT, passez votre chemin. Nous ne sommes pas là aujourd’hui pour argoter afin de savoir qui de l’œuf ou de la poule était là le premier. Considérons simplement le onzième album studio des teutons comme une preuve matérielle et substantielle d’une domination nette et sans partage d’un empire nommé « Neue Deutsche Härte » qu’ils ont eux-mêmes érigé au long d’une carrière longue de 23 ans, bien aidés il est vrai par ce microcosme très austère dans lequel on retrouve les KRAFTWERK, DIE KRUPPS, EISBRECHER, MEGAHERZ et TANZWUT. OOMPH! est un animal aussi étrange qu’énigmatique. Le trio, qui n’a jamais connu le moindre changement de line-up dans son histoire, a eu son lot de hauts et de bas. Premiers albums cultes, pionniers du Metal industriel outre-Rhin, collaborations diverses et variées, certaines inoubliables (avec Nina Hagen sur la chanson « Fieber » de l’album Plastik ou avec la belle Marta Jandova de DIE HAPPY sur l’excellente « Träumst Du ? »), d’autres plus anecdotiques (« Die Schlinge » avec un APOCALYPTICA transparent), apparition sur la bande-originale du jeu vidéo FIFA 2005 avec « Augen Auf ! », ouvertures pour METALLICA, MARILYN MANSON, OOMPH! a tout connu. Et pourtant, avec Des Wahnsinns Fette Beute, vous n’êtes pas au bout de vos surprises. D’ailleurs, NENA ne chantait-elle pas dans son tube pacifiste « 99 Luftballons » en 1983 les mots suivants : « Witterten schon fette Beute » (« Ils flairaient déjà un gros butin ») ? Près de trente ans plus tard, on peut penser qu’OOMPH! a mis la main dessus.
Il faut d’emblée être clair, ce onzième full-lenght, malgré sa pochette décalée (une grande première pour eux), n’est pas à prendre à la légère. Il sonne comme un grand album, pluriculturel. Si le son qui en découle, la production supersonique, l’écriture même des compositions sont des éléments beaucoup moins rugueux et primaires que sur le Sperm de 1994 ou le Unrein de 1998, les allemands ont néanmoins conservé cette intensité et cette ingéniosité dans des créations sournoises et variées. Des Wahnsinns Fette Beute est probablement l’album le plus bariolé et diversifié de leur discographie. Dans cette optique, il en complexera certains, notamment ceux qui espèrent toujours un retour aux sources, un Defekt bis, un « Gekreuzigt » ter. Allô ? On est en 2012. Quoi de plus normal que cet opus sonne comme tel ? Je vous concède le fait qu’après la première écoute, au-delà d’être totalement désorienté, on peut émettre l’hypothèse qu’ils aient vendu leur cul aux magnats de l’Electro-Pop guimauve. Ce n’est qu’après une bonne quinzaine d’écoute (oui, c’est le genre de groupe que je suis capable d’écouter autant de fois pour comprendre la démarche) qu’on comprend leurs motivations, les décisions artistiques prises, leur mise en application et la puissante émotion qui s’en dégage. S’il n’est pas leur disque le plus abouti ou le plus « culte », grâce à sa diversité, à ses choix assumés, à son incroyable profusion d’arômes, il s’en rapprochera grandement. OOMPH! effectue là l’équilibre parfait entre son passé, froid et auguste et son futur, délirant et moderne.
Des Wahnsinns Fette Beute démarre avec « Unzerstörbar » qui sera la piste la plus martiale de tout le disque, la plus authentique aussi. Grosse guitare, gros motif, gros refrain avec une voix inhabituellement rocailleuse de Dero, comme un semblant de flashback à la période Ego. Une entrée en matière presque frustrante, puisqu’elle s’achève avec le refrain à peine susurré, alors qu’on s’attendait à une ultime répétition lancinante à la « Labyrinth ». La première bizarrerie de l’opus déboule avec « Zwei Schritte Vor », une composition totalement burlesque, inédite, à moitié EBM chewing-gum revisité, à moitié musique de cabaret avec ses éléments jazzys. On a du mal à s’y faire au début, mais ça restera un moment clé de cette œuvre. Nouveau coup de tonnerre immédiatement derrière avec « Such Mich Find Mich », son intro Synthpop comme le « Blue Monday » de NEW ORDER retravaillé par Marcus Layton et son explosion à la « Tanz Mit Laibach » de LAIBACH, entre Electro gothique et Trance. Ça ressemble vraiment a tout, sauf à du OOMPH! Malins comme des singes, nos allemands n’oublient pas de revenir aussi à des choses plus classiques, comme « Bis Der Spiegel Zerbricht » qui ressemble un peu à du Rock digital comme sait le faire l’excellent Der Graf au sein d’UNHEILIG ou « Die Geister Die Ich Rief », elle aussi très gentillette dans l’âme à cause du chant mielleux de Dero. A partir de « Bonobo », piste anecdotique et simpliste si l’on excepte le rapprochement entre l’Homme et le singe dans les paroles, cet album entame son deuxième virage, celui qui le conduira jusqu’à « Regen » vers un Metal popisant et décoré de nombreux synthés plus ou moins « fashions ». Dans ce magma arc-en-ciel se distinguera particulièrement « Deine Eltern », avec un motif artificiel pétillant, une cadence entrainante et un refrain entêtant. « Kleinstadtboy », probable réinterprétation du « Smalltown Boy » de BRONSKI BEAT emprunte hélas un peu les mêmes recettes, avec un décalage vocal humoristique tout particulier dans les couplets. Elle fait surtout écho à « The Power Of Love », relecture de la chanson éponyme de FRANKIES GOES TO HOLLYWOOD sur l’album Truth Or Dare. Nouveau moment d’intensité avec « Regen », la fameuse balade qui trouve sa place dans chacun de leurs CD’s. Comme pour RAMMSTEIN avec « Ein Lied » ou « Roter Sand », je ne suis vraiment pas fan de cette facette de leur personnalité. Et alors qu’à l’instar d’« Auf Kurs », je m’attendais à sacrément m’emmerder, pas du tout ! Si cette composition aurait davantage sa place à l’Eurovision pour son côté Pop larmoyant, elle aurait également le mérite de surclasser la soupe qu’on nous sert chaque année à ce concours. A son terme arrive ce qui sera à mon goût une des créations les plus abouties, « Kosmonaut ». Comme son nom l’indique, tout est mis en scène pour embarquer l’auditeur dans une capsule spatiale, au travers d’un refrain très aérien et d’arrangements presque futuristes. La grande justesse de cette piste en fait un point de repère certain dans cet océan d’incertitudes. On s’approche doucement mais surement des derniers instants et c’est l’occasion pour moi de souligner un point qui me tient à cœur. Une fois encore, que ce soit avec « Komm Zurück » ou « Aus Meiner Haut », OOMPH! ne néglige pas ces précieuses minutes qui s’étalent généralement entre la dixième et la quinzième chanson. On a le droit à la même intensité, la même inventivité, la même créativité. Et plus encore. Avec « Seemannsrose », les allemands accomplissent ce qui semble être pour eux un rêve de gosse, avec une vraie chanson de pirates. Chants marins, accordéons, tambourins et les fameux « ahoi ! » teutons, tout y passe ! Des Wahnsinns Fette Beute s’achève avec « Unendlich » comme il avait démarré, dans la pureté et dans la solennité, grâce à cette création lente, pure, sincère et triste comme un adieu. Clap de fin.
Quatre ans après Monster, je ne parlerais pas d’un chef-d’œuvre parce que ça reviendrait à banaliser le terme. Mais il faut bien comprendre qu’OOMPH! a toujours suivi son instinct et que même si cet album a quelque chose de plus accessible et donc suspect, il n’en demeure pas moins honnête, original et foutrement bien écrit. Quel bonheur d’entendre à nouveau Dero marmonner, chuchoter, rugir dans sa langue natale, après l’expérience ratée de l’anglais sur Truth Or Dare. Quel bonheur d’entendre les teutons réussir dans chaque chose qu’ils entreprennent, que ce soit une chanson vaudevillesque façon Rock de music-hall, une chanson lunaire, une chanson de flibustiers, une chanson « junglesque », une chanson de night-club Metal, une balade pleine de spleen ou simplement du OOMPH! 100% pur jus. Le seul reproche que j’ai à faire à cette sortie concerne une fois encore les parties de batteries beaucoup trop simplistes. Dero a clairement une voix magnifique, mais n’est pas le batteur le plus technique au monde. Pour le reste, sa performance combinée à celles de Flux et Crap suffisent à obtenir l’absolution de ce pêché minime. Des Wahnsinns Fette Beute provoquera probablement des réactions épidermiques et compréhensibles. Le OOMPH! de ce nouveau millénaire n’a plus rien a voir avec l’ancien. Il serait temps de se mettre ça dans le crâne. Et cet album est grand, très grand. Parce qu’il ouvre de nouvelles portes, qu’il atteint de nouveaux horizons et qu’il conserve son « potentiel tubes ». Les allemands ont rarement vu plus loin que le bout de leur nez et je leur en tenais parfois rigueur pour ça. Aujourd’hui qu’ils font tout l’inverse, crier au scandale ou à la trahison serait verser dans l’exagération la plus scolaire. Même s’il est à double tranchant, ce disque ne le mérite pas. Mieux encore, il ne fera que consolider tout le respect que les fans du groupe ressentent pour leurs idoles. Alors au final, quand on a entre les mains des albums comme Des Wahnsinns Fette Beute ou Liebe Ist Fur Alle Da pour RAMMSTEIN, savoir avec exactitude qui domine qui devrait être notre putain de dernière préoccupation.
Ajouté : Mercredi 30 Mai 2012 Chroniqueur : Stef. Score :     Lien en relation: http://www.oomph.de Hits: 11306
|