¿Qué tal disponer de un sensible indicador electrónico de afinación para su instrumento musical (guitarra, guitarra u otro) sin la necesidad de recurrir a diapasones u otro recurso? El circuito que proponemos es un indicador preciso de frecuencia la aguja de un instrumento dará una indicación máxima cuando la frecuencia del sonido captado por un micrófono es exactamente aquella para la que está previamente ajustado. Alimentado por pilas, este indicador puede montarse de forma compacta, lo que facilita mucho su uso.

   Una indicación precisa de la frecuencia de emisión de una nota de un instrumento musical es la mejor manera de hacer su afinación.

   Los procesos más utilizados de afinación hacen uso de un patrón que debe ser comparado con el sonido emitido, lo que tiene en cuenta el "buen oído" del músico.

   Hay un oscilador estándar que puede ser electrónico, como el tradicional diapasón o el silbato (figura 1), que debe activarse para obtener normalmente la nota de 440 Hz (LA).

 

Figura 1 - Un diapasón
Figura 1 - Un diapasón

 

 

   Lo que proponemos es un sistema que elimina la necesidad de contar con el buen oído del músico, pues la indicación de que la nota se encuentra en la frecuencia correcta es dada por un instrumento electrónico.

   Básicamente, nuestro indicador de afinación consiste en un micrófono, conectado a un filtro selectivo, que sólo deja pasar la señal al indicador si está exactamente en la frecuencia pre-ajustada.

   Al ajustar el filtro a una determinada nota estándar como, por ejemplo, el LA de 440 Hz, cada vez que se capta un sonido de esta frecuencia, tendremos la indicación máxima.

    El circuito es muy sensible y puede ser usado con cualquier tipo de instrumento, pues su acción no depende del timbre sino de la frecuencia (altura) de la nota.

   Montado en una pequeña caja plástica y alimentado por pilas, una vez calibrado, no necesita ningún tipo de ajuste a no ser el encendido / apagado.

 

EL CIRCUITO

   La base del circuito es un filtro aceptor de doble T, cuya estructura se muestra en la figura 2.

 

Figura 2 - Filtro de doble T
Figura 2 - Filtro de doble T

 

 

   Montado alrededor de un amplificador operacional, proporciona una fuerte retroalimentación negativa, a no ser en la frecuencia para la que se sintoniza.

   Así, mientras que en la frecuencia exacta del ajuste su ganancia es del orden de 200 veces, con un factor Q de 50, para cualquier otra frecuencia, la ganancia es prácticamente unitaria.

   En la figura 3 tenemos la curva de acción de este filtro.

 

Figura 3 - Curva de respuesta del filtro
Figura 3 - Curva de respuesta del filtro

 

 

En el caso de que se produzca una octava, la ganancia ya cae a sólo 3 veces, lo que significa que las notas adyacentes apenas son contestadas por el circuito.

   La frecuencia en que un doble T actúa depende de los valores de sus componentes, que deben mantener las relaciones mostradas en la figura 4, en que también tenemos las fórmulas relativas al circuito.

 

Figura 4 - Valores de doble T
Figura 4 - Valores de doble T

 

 

   Al hacer uno de los componentes variables, podemos ajustar sensiblemente la frecuencia de operación, pero, en la práctica, debido a la tolerancia principalmente de los condensadores, puede ser necesario una adaptación más crítica para obtener el funcionamiento deseado.

   Esta adaptación consiste en la conexión experimental de condensadores de valores bajos en el doble T, en paralelo con C4, para bajar la frecuencia hasta el valor exacto de la nota estándar, o bien hacer su cambio en un lote hasta llegar al punto deseado.

   En el procedimiento de calibración veremos cómo hacerlo.

   Para excitar este paso de filtro desde el sonido del instrumento, usamos un micrófono de electreto, conectado a un paso amplificador con un solo transistor.

   No necesitamos mayor amplificación que eso, pues el ajuste no debe ser hecho lejos del indicador.

   Con un solo transistor, tendremos sensibilidad para que en el caso de una guitarra, por ejemplo, pueda quedar a 30 o 40 cm del micrófono y, con ello, obtendremos deflexión total de la aguja del instrumento cuando la nota correcta sea lograda.

   El indicador es un microamperímetro de 0-200 uA que puede ser aprovechado de un VU-meter común de bajo costo.

   Observe que el uso de un amplificador operacional en la configuración indicada requiere el empleo de una fuente de alimentación simétrica

   Esta fuente consiste en dos juegos de cuatro pilas pequeñas, que tendrán excelente durabilidad dada el bajo consumo de corriente del aparato y al hecho de que su utilización se hará en cortos intervalos de tiempo.

 

MONTAJE

   El diagrama completo del indicador se muestra en la figura 5.

 

Figura 5 - Diagrama completo del indicador
Figura 5 - Diagrama completo del indicador

 

 

Para el montaje optamos por el uso de una placa universal con patrón de matriz de contactos, como muestra la figura 6.

 

 

Figura 6 - Placa universal para el montaje
Figura 6 - Placa universal para el montaje

 

 

   El integrado 741 puede montarse en un soporte DIL, lo que facilitará su sustitución y evitará el calor en el proceso de soldadura

   Los resistores son todos de 1/8 o ¼ W y los capacitores del filtro (C3, C4 y CS) pueden ser de poliéster o cerámica, así como los demás, excepto C6 y C7, que son electrolíticos para 6 V o más.

   El micrófono de electreto es del tipo de dos terminales, debiendo observarse su polaridad, mientras que Q1 puede ser cualquier transistor de silicio de uso general

   P1 y P2 son trimpots cuyo ajuste debe realizarse sólo una vez después del montaje del aparato.

   Para la alimentación utilizamos dos soportes de 4 pilas pequeñas y su tamaño influirá directamente en la caja a utilizar, como muestra la figura 7.

 

Figura 7 - Conexión de las pilas
Figura 7 - Conexión de las pilas

 

 

   Como tenemos una fuente de alimentación simétrica, el interruptor usado es doble.

   Podemos utilizar para este propósito una llave reversible, aprovechando cuatro de sus seis terminales.

 

AJUSTE Y USO

   El ajuste es algo crítico y se puede hacer tomando como base dos fuentes de señales.

   Una de ellas sería un generador de audio conectado a un amplificador y ajustado para la frecuencia exacta de 440 Hz la utilización de un frecuencímetro en su salida sería importante para obtener esta frecuencia con precisión (figura 8).

 

Figura 8 - Ajuste con el frecuencímetro
Figura 8 - Ajuste con el frecuencímetro

 

 

   Otra posibilidad es partir de un instrumento previamente afinado o de diapasones mecánicos (pitido o horquilla).

   Debemos ajustar el potenciómetro P1 para obtener la máxima indicación de M1. Si la aguja tiende a pasar del final de la escala, reajustamos P2, que limita su curso.

   Si no se logra la frecuencia exacta de ajuste, será necesario modificar los valores de los componentes del doble T.

   En este punto, con el frecuencímetro, las cosas se vuelven más fáciles, pues podemos saber cuál es la diferencia de frecuencia que existe entre el punto de funcionamiento y el punto deseado.

    Si la frecuencia está por encima de lo esperado, el accionamiento ocurre con una nota más alta, entonces debemos aumentar C5 y eventualmente C3 y C4, conectando en paralelo capacitores de menor valor (de 220 pF a 1nF) hasta obtener el punto correcto.

   Si la frecuencia está por debajo de lo esperado, entonces debemos cambiar C3 y C4 por otros capacitores de un mismo lote, esperando encontrar unidades con valores menores dentro del rango de tolerancia (un capacímetro ayudaría mucho en ello), o bien reducir sus valores a 15 o 20 e ir conectando capacitores, de 4n7 o 5n6 en el caso de 15 y de 1n5 a 2n2 en el caso de 22nF, hasta obtener la afinación exacta retocada en P1.

   Otra posibilidad menos crítica consiste en intercambiar R6 y R7 por trimpots de 4k7 en serie con resistencias de 1,2 k y hacer el ajuste fino en estos componentes (figura 9).

 

 

Figura 9 - Uso de trimpots
Figura 9 - Uso de trimpots

 

 

   Para usar, después de ajustar, basta con conectar la unidad y afinar el instrumento delante del micrófono.

   En la nota correcta (440 Hz = LA) la aguja tendrá la indicación máxima.

 

LISTA DE MATERIAL

CI-1 - 741 - circuito integrado amplificador operacional

Q1 - BC548 o equivalente - transistores NPN de uso general

M1 - 0-200, uA - microamperímetro

MIC - micrófono de electreto de dos terminales

B1, B2 - 6 V - 4 pilas pequeñas

S1 - interruptor doble

P1 - 10 k - trimpot

P2 - 47 k - trimpot

R1, R3, R5 - 10 k - resistores (marrón, negro, naranja)

R2 - 4M7 - resistor (amarillo, violeta, verde)

R4 - 10 k - resistor (marrón, negro, naranja)

R6, R7 - 15 k - resistores (marrón, verde, naranja)

R8 - 2k2 - resistor (rojo, rojo, rojo)

C1, C2 - 100 nF - capacitores cerámicos o de poliéster

C3, C4 - 22 nF - capacitores cerámicos o de poliéster - ver texto

C5 - 47 nF - capacitor de cerámica o de poliéster - ver el texto

C6, C7 - 100 uF - capacitores electrolíticos

Varios: placa de circuito impreso universal, dos soportes de 4 pilas pequeñas, caja para montaje, zócalo para el integrado, hilos, soldadura, etc.

- el valor de R2 se puede cambiar en el rango de 1 M a 10 M para modificar la sensibilidad de entrada.

 

18.813MBMemory Usage38.27msRequest 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" => 1742504058 "last" => 1742504058...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.67KB) (279μs)
  • afterInitialise (1.14MB) (3.27ms)
  • afterRoute (89.95KB) (680μs)
  • beforeRenderComponent com_content (100.37KB) (401μs)
  • Before Access::preloadComponents (all components) (33.45KB) (190μs)
  • After Access::preloadComponents (all components) (107.06KB) (399μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (9μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (19.38ms)
  • Before Access::getAssetRules (id:2651 name:com_content.article.1934) (514.65KB) (652μs)
  • After Access::getAssetRules (id:2651 name:com_content.article.1934) (7.38KB) (33μs)
  • afterRenderComponent com_content (386.45KB) (5.77ms)
  • afterDispatch (2.25KB) (50μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (1.55ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (313μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (89μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (129.29KB) (1.1ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.98KB) (549μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (66μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (185μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (47μs)
  • afterRender (275.42KB) (3.16ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (50.64%)
    19.38ms
    1 x afterRenderComponent com_content (386.45KB) (15.08%)
    5.77ms
    1 x afterInitialise (1.14MB) (8.54%)
    3.27ms
    1 x afterRender (275.42KB) (8.25%)
    3.16ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (4.05%)
    1.55ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (129.29KB) (2.87%)
    1.10ms
    1 x afterRoute (89.95KB) (1.78%)
    680μs
    1 x Before Access::getAssetRules (id:2651 name:com_content.article.1934) (514.65KB) (1.7%)
    652μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.98KB) (1.43%)
    549μs
    1 x beforeRenderComponent com_content (100.37KB) (1.05%)
    401μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.04%)
    399μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (0.82%)
    313μs
    1 x afterLoad (85.67KB) (0.73%)
    279μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.5%)
    190μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.48%)
    185μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.23%)
    89μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (0.17%)
    66μs
    1 x afterDispatch (2.25KB) (0.13%)
    50μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.12%)
    47μs
    1 x After Access::getAssetRules (id:2651 name:com_content.article.1934) (7.38KB) (0.09%)
    33μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    9μs
21 statements were executed, 5 of which were duplicates, 16 unique10.78ms1.55MB
  • SELECT @@SESSION.sql_mode;32μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 170μ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)140μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`50μ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` = :guest75μ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`179μs3.86KBParams/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)246μ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.61ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`339μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '1934'153μ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)159μ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`195μs3.91KBParams/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)224μ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.91KBParams/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)) AND `a`.`access` IN (:preparedArray3,:preparedArray4)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray5,:preparedArray6)) 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 ASC392μs4.75KBParams/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`196μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1154μs1.89KB/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)94μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context65μ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)168μ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` = 174μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy