El tipo de sonido que obtenemos de un instrumento musical depende de la forma de onda de la señal generada. Los sintetizadores poseen diversos tipos de filtro que pueden modificar estas formas de onda y, así, llevar a la producción de cualquier tipo de sonido. Partiendo de cualquier órgano común, o incluso de un generador básico, podemos producir sonidos de los más diversos timbres y hasta elaborar nuestro sintetizador con la utilización de filtros. En este artículo describimos algunos tipos de filtros que podrán ser experimentados en proyectos de música electrónica.

El tipo más "puro" de sonido que existe es aquel que posee una forma de onda senoidal, como muestra la figura 1.

 


 

 

Sin embargo, la forma de onda senoidal raramente aparece en los instrumentos musicales, pues está justamente en las deformaciones de la señal, el efecto agradable que los mismos logran en una pieza musical.

Pocos instrumentos, como el corno inglés, producen sonidos que se acercan a la forma de onda senoidal, y por esto, hasta son usados como patrón de afinación de los demás instrumentos de una orquesta.

Los instrumentos, en general, así como la voz humana, poseen formas de onda bastante complejas. La figura 2 muestra algunas de estas formas de onda.

 


 

 

Según Fourier, podemos "sintetizar" cualquier forma de onda a partir de ondas senoidales que tengan entre sí una relación de terminada de frecuencias y de intensidades. Inclusive, si tuviéramos señales senoidales de determinada frecuencia y sus múltiplos, (el doble, el triple, el cuádruple, etc.) que son denominados armónicos, podemos sintetizar cualquier forma de onda. La figura 3 ilustra de qué modo podemos sintetizar una forma de onda rectangular a partir de una sena] senoidal de la misma frecuencia y sus armónicas.

 


 

 

Al analizar este hecho teniendo en cuenta nuestra percepción auditiva, constatamos que nuestros oídos consiguen distinguir los timbres de los diversos instrumentos porque poseen proporciones diversas de armónicas, que determinan su forma de onda. Por este motivo conseguimos distinguir los sonidos de los diferentes instrumentos, cuando los mismos emiten una misma nota musical.

En la música acústica, la emisión de sonidos se hace a partir de las características mecánicas del instrumento, el formato de la caja de resonancia y el tipo de cuerda o el medio, según el cual el aire se hace vibrar, determinan el timbre, que no puede ser modificado.

Mientras tanto, en la electrónica, la forma de onda, y por lo tanto el timbre, son determinados por circuitos, y por eso, hay gran flexibilidad para una modificación.

Así, partiendo de una serial rectangular, podemos fácilmente colocar filtros pasa bajos, pasa altos y pasa bandas de modo de retirar ciertas armónicas que constituyen al formato de la señal.

El resultado es la modificación de la a forma de onda, que se traduce en un timbre completamente diferente.

Podemos decir que, con la elección apropiada de los filtros y de sus frecuencias de operación, será posible sintetizar cualquier forma de onda (figura 4).

 


 

 

Un sintetizador parte de este principio. Se calculan decenas de filtros ajustables de modo que trabajen las señales, operando algunos incluso sobre la señal compuesta, como muestra la tigura 5, posibilitando así que el músico obtenga el sonido deseado.

 


 

 

Para aquellos que gustan de la música electrónica, la elaboración de diversos tipos de filtros para experimentar en un instrumento, no es difícil.

A continuación, daremos algunas configuraciones pasivas, basadas en capacitores, resistores e inductores.

Estas configuraciones deben ser excitadas por buffers (separadores) apropiados y en su salida debemos conectar amplificadores sensibles.

En la figura 6 damos un ejemplo de buffer para estos filtros.

 


 

 

Esta ganancia unitaria posee una baja impedancia de salida y elevada impedancia de entrada. La banda pasante se vuelve ancha y, con esto, tenemos una buena ganancia de potencia en todas las frecuencias trabajadas, sin distorsiones.

En la figura 7 tenemos diversos tipos de filtros que se pueden usar en un sintetizador.

 


 

 

En (a) tenemos un simple filtro RC variable que suaviza el timbre obtenido por una forma de onda como la rectangular y contornos abruptos.

En (b) tenemos un filtro más elaborado, en que se usan dos capacitores y dos resistores, siendo uno de ellos variable. La conformación de la señal para este filtro, vuelve más suave los contornos de una onda.

En (c) tenemos un filtro que utiliza dos diodos, siendo uno de ellos un zener. Las características de los diodos permiten "recortar" la señal, modificando su amplitud, y consecuentemente, generando más armónicas en la conmutación en que los contornos se vuelven más abruptos.

Un filtro más completo, del tipo "PI", aparece en (d), con elementos variables que permiten modificar bastante la forma de onda de la señal original.

La operación de estos filtros puede ser simultánea para una salida única de frecuencias, con la utilización de llaves que los combinen en paralelo, como muestra la figura 8.

 


 

 

Otra posibilidad consiste en la utilización de filtros en salidas de frecuencias diferentes. Para obtener una señal de timbre ideal es común que los sintetizadores tengan circuitos que produzcan una salida de dos o más frecuencias múltiplos de la nota ejecutada.(figura 9)

 


 

 

Así, para la nota "la" de 440 Hz tenemos tres salidas simultáneas de 440, 880 y 1760 Hz que pueden ser combinadas resultando en una forma de onda fundamental de 440 Hz con un timbre definido por la proporción de las señales de entrada.

Pasando las tres señales por filtros distintos, tendremos mayores recursos para la obtención de los más diversos sonidos en la salida.

 

 

19.003MBMemory Usage39.38msRequest Duration
Joomla! Version5.2.3
PHP Version8.3.16
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
10.5.22-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:51 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1744727563 "last" => 1744727563...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.7KB) (218μs)
  • afterInitialise (1.14MB) (3ms)
  • afterRoute (179.16KB) (794μs)
  • beforeRenderComponent com_content (100.65KB) (401μs)
  • Before Access::preloadComponents (all components) (33.44KB) (158μs)
  • After Access::preloadComponents (all components) (107.06KB) (349μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (7μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (19.88ms)
  • Before Access::getAssetRules (id:8 name:com_content) (480.09KB) (1.89ms)
  • After Access::getAssetRules (id:8 name:com_content) (7.36KB) (31μs)
  • afterRenderComponent com_content (428.43KB) (5.39ms)
  • afterDispatch (2.25KB) (50μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (423.33KB) (1.52ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (282μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (95μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (63.1KB) (1.01ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (535μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (59μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (181μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (46μs)
  • afterRender (296.75KB) (3.37ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (50.5%)
    19.88ms
    1 x afterRenderComponent com_content (428.43KB) (13.7%)
    5.39ms
    1 x afterRender (296.75KB) (8.56%)
    3.37ms
    1 x afterInitialise (1.14MB) (7.62%)
    3.00ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (480.09KB) (4.81%)
    1.89ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (423.33KB) (3.87%)
    1.52ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (63.1KB) (2.57%)
    1.01ms
    1 x afterRoute (179.16KB) (2.02%)
    794μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.36%)
    535μs
    1 x beforeRenderComponent com_content (100.65KB) (1.02%)
    401μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.89%)
    349μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (0.72%)
    282μs
    1 x afterLoad (85.7KB) (0.55%)
    218μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (0.46%)
    181μs
    1 x Before Access::preloadComponents (all components) (33.44KB) (0.4%)
    158μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.24%)
    95μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (0.15%)
    59μs
    1 x afterDispatch (2.25KB) (0.13%)
    50μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.12%)
    46μs
    1 x After Access::getAssetRules (id:8 name:com_content) (7.36KB) (0.08%)
    31μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    7μs
23 statements were executed, 5 of which were duplicates, 18 unique10.91ms1.58MB
  • SELECT @@SESSION.sql_mode;27μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 162μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `incbmx_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)129μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`45μs656B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `incbmx_usergroups` AS `a` LEFT JOIN `incbmx_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest67μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`221μs20.2KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39)204μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 07.54ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_assets`289μs2.02KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • SELECT * FROM `incbmx_assets` WHERE `name` = 'com_content.article.945'75μs912B/libraries/src/Table/Table.php:780Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`258μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '945'120μs48B/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)150μs22.13KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`207μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `incbmx_contentitem_tag_map` AS `m` INNER JOIN `incbmx_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)251μs3.97KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`166μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM incbmx_fields AS a LEFT JOIN `incbmx_languages` AS l ON l.lang_code = a.language LEFT JOIN incbmx_users AS uc ON uc.id=a.checked_out LEFT JOIN incbmx_viewlevels AS ag ON ag.id = a.access LEFT JOIN incbmx_users AS ua ON ua.id = a.created_user_id LEFT JOIN incbmx_fields_groups AS g ON g.id = a.group_id LEFT JOIN `incbmx_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC383μs6.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`178μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1135μs656B/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `incbmx_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)81μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context92μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:403Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)165μs22.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `incbmx_scheduler_tasks` AS `a` WHERE `a`.`state` = 164μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy
  • warningassets - No asset found for com_content.article.945, falling back to com_content
  • warningassets - No asset found for com_content.article.945, falling back to com_content
  • warningassets - No asset found for com_content.article.945, falling back to com_content
  • warningassets - No asset found for com_content.article.945, falling back to com_content
  • warningassets - No asset found for com_content.article.945, falling back to com_content
  • warningassets - No asset found for com_content.article.945, falling back to com_content
  • warningassets - No asset found for com_content.article.945, falling back to com_content
  • warningassets - No asset found for com_content.article.945, falling back to com_content
  • warningassets - No asset found for com_content.article.945, falling back to com_content
  • warningassets - No asset found for com_content.article.945, falling back to com_content