Crítica cultural nº 722 Música
Artesanos de un pop atemporal

Crítica cultural nº 722 Música
The Lemon Twigs, la formación capitaneada por los hermanos Brian y Michael D’Addario, se han constituido como los guardianes de un sonido que trasciende modas pasajeras gracias a su capacidad de, desde una personal y renovada perspectiva, canalizar la herencia del pop-rock de los 60 y 70.
Desde su debut con Do Hollywood en 2016, la carrera de The Lemon Twigs ha reflejado un profundo amor por la melodía y una particular obsesión por los detalles.
El estreno de estos dos adolescentes —Brian tenía 19 años y Michael, 17— lo produjo Jonathan Rado (Foxygen) y ya emanaba una irrefutable referencia a The Beatles, Todd Rundgren y otras leyendas de los años setenta con una frescura impropia de su edad. Con este preámbulo musical fueron rápidamente acogidos por la prensa especializada como las nuevas promesas del viejo rock, resaltando sus armonías vocales y su virtuosismo instrumental.
Apenas dos años y medio después, en 2018, The Lemon Twigs se atrevieron a dar un giro teatral que desconcertó a sus seguidores. Tras el EP Brothers of Destruction (2017) lanzaron Go to School, una ópera rock conceptual protagonizada por Shane, un mono que va al instituto. Conjugando el musical y el pop-rock sinfónico, cortes como If You Give Enough o The Lesson dejaron constancia de su obsesión por los arreglos elaborados y las cuidadas armonías. También su patente magnetismo por la experimentación. Aunque la sorpresa fue notoria al principio, quienes se adentraron en el universo de Shane pudieron apreciar el coraje creativo que caracteriza a los hermanos.
Fieles a su visión, The Lemon Twigs conciben la música en formato de larga duración. Mientras la industria se rige por el lanzamiento de singles efectivos, los D’Addario abrazan la narrativa completa del álbum: «Queremos ofrecer algo con sustancia, en vez de subir fotos o cualquier cosa que se haga ahora», recalca Brian en Mondo Sonoro.
Su madre, actriz y psicóloga, y su padre, músico, enseñaron a los D’Addario a cantar, tocar la batería y la guitarra cuando tenían cinco años. Con estos antecedentes, Brian y Michael formaron su primera banda en primaria.
Una de las joyas de su último disco es My Golden Years. Inspirada en The Raspberries, la canción fue mutando en un ejercicio de arquitectura pop tan complejo como cautivador. Lejos de los cánones, la melodía prescinde de estribillos definidos y se articula a partir de dos puentes que sorprenden en su progresión.
En Songs for the General Public (2020), regresaron al pop-rock clásico más directo. El tercer capítulo de su trayectoria reveló que, a pesar de la ambición conceptual de su álbum anterior, aún mantenían el aprecio por la inmediatez melódica. Con claras referencias a grupos como Big Star y Queen, títulos como Live in Favor of Tomorrow y Moon animaban a cantar al unísono y a reconectar con el lado más desenfrenado y juguetón de la banda. Este trabajo consolidó, sin lugar a dudas, su reputación a nivel internacional.
En 2023, publicaron Everything Harmony, un testamento de fragilidad y belleza en el que dominaban la melancolía y la introspección, y que evocaba con frecuencia a los Everly Brothers o Simon & Garfunkel, pero siempre impregnado de la singularidad de los neoyorquinos D’Addario. Aunque este álbum es menos teatral y carece de un concepto de fondo, su atmósfera cohesionada logra envolver al oyente en una experiencia casi ensoñadora, donde cada canción se integra como parte de un todo.
Después de un año de espera, The Lemon Twigs presentaron en mayo de 2024 su último álbum, A Dream Is All We Know, que, según palabras del grupo en una entrevista en Efe Eme, es el contrapunto luminoso de Everything Harmony. Mientras aquel representaba un viaje hacia la fragilidad más íntima, este nuevo proyecto se ha transformado en una celebración de su libertad creativa, que navega entre la psicodelia y el pop orquestal. En este disco, encontramos melodías «más disfrutables e inteligentes», como My Golden Years donde se percibe esa atmósfera de portal onírico que fusiona una orfebrería melódica con matices de sunshine pop.
Además, la incorporación de Danny Ayala (bajo y teclados) y Reza Matin (batería) aporta nuevas dimensiones al sonido de la banda: aunque se mantiene fiel a la visión de los hermanos, se abre a un constante reinventarse.
La discografía de The Lemon Twigs es un testimonio de un viaje en continua evolución. Desde el barroquismo de su debut hasta la luminosidad expansiva de A Dream Is All We Know, utilizan la nostalgia como herramienta para revitalizar el pop y el rock. Su maestría melódica, el mimo al detalle y el enfoque cohesionado de sus álbumes los convierten en una excepcional rareza. Si bien no pretenden reinventar la rueda, su homenaje a lo clásico brilla con luz propia y deja espacio para nuevas interpretaciones.
Mientras que otras formaciones se desvanecen en la búsqueda de lo efímero, ellos persisten en abrazar el formato del álbum largo. Sus armonías recuerdan a las de los Bee Gees o Simon & Garfunkel, pero sin caer en la mera imitación. Cada paso que da la banda refuerza su compromiso con la melodía como camino para trascender, recordándonos que la buena música tiene el poder de transportarnos y perdurar en el tiempo.
Con un futuro lleno de posibilidades, The Lemon Twigs confirman que el pasado puede iluminar el presente si se aborda con creatividad. Y su viaje sonoro demuestra que los clásicos no tienen por qué quedarse enterrados entre el polvo de los viejos vinilos, sino que pueden seguir evolucionando en manos de aquellos que los reinventan con respeto y valentía.
Do Hollywood (2016)
Go To School (2018)
Songs for the General Public (2020)
Everything Harmony (2023)
A Dream Is All We Know (2024)
En consonancia con ese espíritu de servicio, Nuestro Tiempo es una revista gratuita. Su contenido está accesible en internet, y enviamos también la edición impresa a los donantes de la Universidad.
The following has evaluated to null or missing: ==> revista_number [in template "10136#10174#53349399" at line 91, column 33] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${revista_number} [in template "10136#10174#53349399" at line 91, column 31] ----
1<#-- Template: Articulos Relacionados 3 Columnas -->
2<#-- Obtener los servicios necesarios -->
3<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
4<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
5<#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") />
6<#assign assetDisplayPageFriendlyURLProvider = serviceLocator.findService("com.liferay.asset.display.page.portlet.AssetDisplayPageFriendlyURLProvider") />
7
8<#-- Obtener el artículo actual -->
9<#assign journalArticle = journalArticleLocalService.getArticle(getterUtil.getLong(groupId), .vars['reserved-article-id'].data) />
10<#assign groupId = themeDisplay.getScopeGroupId() />
11<#assign resourcePrimKey = journalArticle.getResourcePrimKey() />
12<#assign structureKey = journalArticle.getDDMStructureKey() />
13<#assign authorId = journalArticle.getUserId() />
14
15<#-- Buscar y mostrar artículos relacionados -->
16<#assign relatedArticles = journalArticleLocalService.getArticlesByStructureId(groupId, structureKey, 0, 1000, null) />
17
18 <#-- Ordenar los art�culos por fecha de modificaci�n y seleccionar los m�s recientes -->
19 <#assign relatedArticles = relatedArticles?sort_by("displayDate")?reverse />
20 <#-- Limitar a 3 si hay suficientes -->
21 <#if relatedArticles?size gt 3>
22 <#assign relatedArticles = relatedArticles[0..2] />
23 </#if>
24
25<div class="container">
26 <div class="row">
27 <#list relatedArticles as curArticle>
28 <#if curArticle.getResourcePrimKey() != resourcePrimKey>
29 <#assign viewURL = assetDisplayPageFriendlyURLProvider.getFriendlyURL("com.liferay.journal.model.JournalArticle", curArticle.getResourcePrimKey(), themeDisplay) />
30 <#if !viewURL?has_content>
31 <#assign viewURL = "/" />
32 </#if>
33 <#assign aArticleXML = saxReaderUtil.read(curArticle.getContentByLocale(locale)) />
34 <#assign autores = aArticleXML.selectNodes("//dynamic-element[@name='autor']/dynamic-content") />
35 <#assign imagenArticulo = aArticleXML.valueOf("//dynamic-element[@name='imagen']/dynamic-content/text()") />
36 <#assign detalle = aArticleXML.valueOf("//dynamic-element[@name='detalle']/dynamic-content") />
37
38 <#assign categoriesList = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", curArticle.getResourcePrimKey())/>
39 <#assign vocabularyTemaName = "Tema" />
40 <#assign vocabularyNRevistaName = "Nº de revista" />
41 <#assign vocabularyTopicName = "Topic" />
42 <#assign avoidTopic = "PRINCIPAL" />
43
44 <#-- Featured Image of the Article -->
45 <#assign featuredImage = curArticle.getArticleImageURL(themeDisplay)!""/>
46
47 <#if curArticle?index < 3>
48 <div class="col-md border-left <#if curArticle?index == 2> border-right</#if>">
49 <article class="article article-small">
50 <figure class="media">
51 <picture>
52 <#if featuredImage?has_content>
53 <img src="${featuredImage}" />
54 <#else>
55 <#if imagenArticulo?? && imagenArticulo?has_content>
56 <#attempt>
57 <#assign jsonObject = imagenArticulo?eval/>
58 <#assign entryUuid = jsonObject.uuid />
59 <#assign entryGroupId = getterUtil.getLong(jsonObject.groupId) />
60 <#assign entryAlt = jsonObject.alt />
61 <#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
62 <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
63 <#assign dlFileEntry = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
64 <#assign assetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) />
65 <#assign assetRenderer = assetEntry.assetRenderer />
66 <#assign imagen = assetRenderer.getURLDownload(themeDisplay) />
67 <img alt="${entryAlt}" data-fileentryid="${dlFileEntry.fileEntryId}" src="${imagen}" />
68 <#recover>
69 </#attempt>
70 </#if>
71 </#if>
72 </picture>
73 </figure>
74
75 <#if categoriesList?has_content>
76 <#list categoriesList as category>
77 <#assign categoryVocabulary = assetVocabularyLocalService.getAssetVocabulary(category.getVocabularyId()) />
78 <#if categoryVocabulary.getName() == vocabularyNRevistaName>
79 <#assign revista_number = category.getTitle(locale)/>
80 </#if>
81 </#list>
82 </#if>
83 <p class="kicker">
84 <#if categoriesList?has_content>
85 <#list categoriesList as category>
86 <#assign categoryVocabulary = assetVocabularyLocalService.getAssetVocabulary(category.getVocabularyId()) />
87 <#if categoryVocabulary.getName() == vocabularyTemaName>
88 <a title="${category.getTitle(locale)}">${category.getTitle(locale)}</a>
89 </#if>
90 </#list>
91 <a title="${revista_number}">${revista_number}</a>
92 <#list categoriesList as category>
93 <#assign categoryVocabulary = assetVocabularyLocalService.getAssetVocabulary(category.getVocabularyId()) />
94 <#if categoryVocabulary.getName() == vocabularyTopicName && category.getTitle(locale) != avoidTopic>
95 <a title="${category.getTitle(locale)}">${category.getTitle(locale)}</a>
96 </#if>
97 </#list>
98 </#if>
99 </p>
100
101 <#assign title = curArticle.getTitle(locale) />
102 <h2 class="title title-standard">
103 <a href="${viewURL}" title="${title}">${title}</a>
104 </h2>
105
106 <p class="meta">
107 <#assign fecha = dateUtil.getDate(curArticle.getDisplayDate(), "d 'de' MMMM 'de' yyyy", locale) />
108 <#if fecha?has_content>
109 <span>${fecha}</span>
110 </#if>
111
112 <#assign tiempo = "" />
113 <#if detalle?has_content>
114 <#assign content = detalle?trim />
115 <#if content != "">
116 <#assign contentCount = content?replace("<[^>]+>", "", "r")?word_list?size />
117 <#if contentCount gt 0>
118 <#assign minutesValue = (contentCount/200)?round />
119 <#if minutesValue == 0>
120 <#assign tiempo = "Unos segundos" />
121 <#elseif minutesValue == 1>
122 <#assign tiempo = minutesValue + " minuto" />
123 <#else>
124 <#assign tiempo = minutesValue + " minutos" />
125 </#if>
126 </#if>
127 </#if>
128 </#if>
129 <#if tiempo?? && tiempo != "">
130 <span><i class="fa fa-regular fa-clock"></i> ${tiempo}</span>
131 </#if>
132 </p>
133
134 <p class="author">
135 <#if autores?has_content>
136 <#list autores as autor>
137 <#assign aArticleXMLAutores = saxReaderUtil.read(autor.getParent().asXML()) />
138 <#assign autorJournalArticle = aArticleXMLAutores.valueOf("//dynamic-element[@name='autor']/dynamic-content") />
139 <#attempt>
140 <#assign jsonObject = autorJournalArticle?eval/>
141 <#assign articleClassPK = jsonObject.classPK />
142 <#assign articleGroupId = getterUtil.getLong(jsonObject.groupId) />
143 <#assign articleAutor = journalArticleLocalService.fetchLatestArticle(articleClassPK?number)>
144 <#assign aArticleXMLAutor = saxReaderUtil.read(articleAutor.getContentByLocale(locale)) />
145 <#assign nombre = aArticleXMLAutor.valueOf("//dynamic-element[@name='nombre']/dynamic-content/text()") />
146 <#assign apellidos = aArticleXMLAutor.valueOf("//dynamic-element[@name='apellidos']/dynamic-content/text()") />
147 <a title="${nombre} ${apellidos}">${nombre} ${apellidos}</a>
148 <#recover>
149 </#attempt>
150 </#list>
151 </#if>
152 </p>
153 </article>
154 </div>
155 </#if>
156 </#if>
157 </#list>
158 </div>
159</div>
160
161<style>
162/* default image size */
163.nuestro-tiempo .article.article-small .media img{
164 object-fit: contain;
165 height: 200px;
166}
167/* alternative
168.nuestro-tiempo .article.article-small .media img{
169 object-fit: cover;
170 height: 100%;
171}
172*/
173</style>