# 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
}
GROTESQUE CEREMONY (tr) - Demonic Inquisition (2016)

Label : More Hate productions / Satanath Records
Sortie du Scud : 15 juin 2016
Pays : Turquie
Genre : Brutal Death Doom Metal
Type : Album
Playtime : 9 titres – 42 minutes
Quand il y en a pour trois, il y en a pour deux.
Et quand il y en a pour deux, il y en a encore plus pour un.
C'est sans doute ce qu'a dû se dire Batu Çetin lorsqu'il a décidé de se débrouiller tout seul à Ankara, dans sa Turquie natale.
Après tout, et écoute de l'album en question, il n'a pas eu tort. Il n'a besoin de personne pour jouer la musique qu'il affectionne, et je dirais même qu'il est mieux seul que mal accompagné pour rendre hommage aux musiciens du passé qu'il a tant aimés.
Pas de bio particulière à fournir à propos de son entité GROTESQUE CEREMONY, mis à part préciser que sa création remonte à 2014, et qu'il a déjà sorti un EP au début de la même année, Blasphemous Goat Observance, qui jetait en pâture les bases de sa philosophie en quelques titres bien sentis.
Quelle est-elle ?
Un amour inconditionnel du Death putride des origines, mais aussi du Doom. Ses influences sont manifestes et évidentes au bout de quelques secondes, AUTOPSY évidemment, mais aussi INCANTATION et WINTER, dans leurs versions les plus basiques et sauvages.
En partant de là, il est je pense assez facile d'imaginer l'ambiance qui baigne ce premier longue durée qui en effet, ne laisse pas planer très longtemps le suspens.
Oui, Demonic Inquisition est très Death, avec une énorme touche Doom très pressante, et non, les variations à tout-va n'y ont pas droit de cité.
Cet album qui est un concept, se plonge dans les heures les plus sombres du moyen-âge, et plus particulièrement comme son titre l'indique, l'Inquisition et ses diverses tortures et massacres. Voilà une période de l'histoire qui sied à merveille à la musique composée par Batu, et qui tisse le fil rouge qui traverse toutes les compositions.
Evidemment, avec un tel choix de style, l'album semblera sans doute assez monolithique à ceux d'entre vous qui privilégient la théorie de l'évolution, mais dans son entreprise d'hommage aux grands anciens, GROTESQUE CEREMONY vient de frapper un grand coup.
Il est pourtant ardu de se mesurer à des albums comme Severed Survival, Onward To Golgotha ou Into Darkness. Je parle d'expérience, puisque en tant que chroniqueur j'ai connu bien des groupes qui ont cherché à reproduire la recette magique du Death à tendance Doom fatal et qui se sont planté dans les grandes fosses communes. Et sans pour autant égaler la magie noire émanant de ces pierres de rosettes maléfiques, Batu tire son épingle du jeu, et parvient à nous entraîner dans son délire, sans trop en faire.
L'approche est sensiblement la même que celle des alchimistes des late 80's, de longues contemplations Death écrasantes, soudain déchirées par des accélérations foudroyantes, des riffs tendus et sombres, une monotonie de surface, et bien évidemment un chant qui va racler sa gorge pour en tirer les sons les plus inhumains. Rien de bien original dans la démarche, mais elle est appliquée avec soin, et se veut parfois tellement extrême qu'elle se rapproche des délires les plus abyssaux d'ENCOFFINATION, sans toutefois se mesurer à la lenteur/lourdeur/oppression de ces derniers.
En tout cas, si la volonté de l'auteur était de reproduire la violence et l'abomination sous couvert de religion des fameux « questionnaires » de l'Inquisition, son pari est remporté haut la main. On s'imagine sans peine à l'écoute de ces neuf morceaux enfermés dans une salle voutée d'un donjon de château fort, entouré de divers objets de torture censés nous arracher une vérité connue d'avance.
Batu ne laisse jamais retomber la pression, et partage son agression entre plans lourds comme un prêtre qui sermonne le tison à la main, et passages en double grosse caisse qui concasse les oreilles comme la masse fracassait les os à l'époque.
Le cheminement est logique comme une séance d'aveux aux dés pipés, et si les morceaux de l'un à l'autre ne présentent pas grandes différences, ils sont tous aussi efficaces, caverneux, véhéments et oppressants. Cette linéarité voulue pourra en rebuter certains, qui ne jurent que par la superposition de plans cinglants et innovants, mais les vrais amateurs de Death en putréfaction sauront reconnaitre la patte des vrais passionnés, dont notre homme du jour fait sans conteste partie.
Sans vraiment s'imposer comme une nouvelle référence du genre, Demonic Inquisition fait son job avec motivation et abnégation, et même si certaines idées semblent se répéter d'une chanson à une autre, l'ensemble dégage une force moite assez impressionnante, amplifiée d'ailleurs par une des productions les plus compactes que j'ai pu entendre.
Pas vraiment de morceau à mettre en avant en particulier, l'ensemble a été pensé comme tel, à vous de piocher dans le répertoire l'épisode le plus Doom ou Death, bien que tous le soit à des degrés élevés.
Tout se termine par un dernier hommage alors même que ce premier album les enchaine sans s'en cacher, et offre une reprise du « Profanation » d'INCANTATION, qu'on trouvait il y a vingt-trois ans sur leur séminal Onward To Golgotha, dans une version très fidèle à l'originale, bien que beaucoup plus resserrée au niveau du son.
Du travail de pro, accompli sans l'aide de personne. Voici ce que je vois en ce premier longue durée du projet Turc GROTESQUE CEREMONY, qui accumule les références à un passé glorieux sans tomber dans le plagiat pour autant.
Rien de neuf à proposer dans le créneau Dark Death, mais des idées qui auraient pu voir le jour au début des années 90, sans que personne ne trouve ça anachronique.
Et finalement, quand il y en a pour un, il y en a pour des milliers. C'est un peu la logique qu'on peut dégager de la rencontre avec ce musicien discipliné.
Ajouté : Lundi 14 Novembre 2016 Chroniqueur : Mortne2001 Score :     Lien en relation: Grotesque Ceremony Website Hits: 4807
|