;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Pedro Antunes

Emicida transforma "Amarelo" em laranja e faz festa no céu para Pixinguinha

Emicida prepara uma festa no céu na participação no projeto Colors - Montagem: Pedro Antunes
Emicida prepara uma festa no céu na participação no projeto Colors Imagem: Montagem: Pedro Antunes

Colunista do UOL

02/12/2021 14h14

Emicida fez uma festa no céu, com Pixinguinha, Leitieres Leite, Alá, Jesus e "até aquele do subsolo" em "São Pixinguinha", a música inédita do rapper apresentada no canal de YouTube alemão Colors, lançada nesta quinta-feira (2).

O single apresenta o neo-samba de Emicida em estado de graça. Leveza, saudade, respeito, homenagem e suingue, nesta que é a única música só do artista em 2021.

Neo-samba?

Quando saiu "AmarElo", o mais recente álbum do rapper (aquele com a música de mesmo nome que unia Pabllo Vittar, Majur e um verso icônico de Belchior, sabe?), Emicida iniciava um estudo musical ao propor um encontro entre o samba tradicional e o novo.

Fundia formatos, recriava fórmulas e encontrava, na voz da periferia e na cultura hip-hop, o neo-samba, esse é um híbrido resultado de um Brasil cada vez mais plural, mas ainda esburacado por questões de raça, gênero e desigualdade social.

"AmarElo" era o início de um projeto que colocou Emicida na história. O show no Theatro Municipal, em São Paulo, foi registrado em vídeo e estreou na Netflix.

Aliás, qualquer pessoa no mundo pode assistir também "É Tudo Pra Ontem", o documentário em que Leandro Roque de Oliveira se propõe a recontar a história do Brasil e reparar erros históricos da criação da identidade cultural brasileira.

Foi essa uma das perguntas que fiz para ele durante a participação também histórica do rapper no programa de entrevistas Roda Viva, da TV Cultura, no ano ado.

Do amarelo para o laranja

Dois anos se aram desde que Emicida soltou "AmarElo", no finalzinho daquele 2019. Desde então, vieram projetos na Netflix (a versão do show no Municipal chegou em 2021 nas plataformas de música) e feats. "São Pixinguinha" é, portanto, a única música de Emicida deste ano.

E a canção representa a maturação da ideia que se apresentou no álbum anterior. Não por acaso, o tom amarelo ganhou calor e se tornou laranja, como usado fundo do vídeo.

Com versos construídos sobre rima fixa, o rapper mostra que o que ele faz é outro de outro nível, outra arte; Emicida não só encaixa palavras, ele cria uma melodia fluída e intensa enquanto narra uma fictícia (e deliciosa) história de um show no céu. Lá, não há cisão religiosa ou coisa parecida.

Pixinguinha dá o nome à canção é transformado em santo - e a flauta doce que acompanha os versos lúdicos do rapper até arrepia. Emicida homenageia também Letieres Leite, o maestro que nos deixou recentemente, aos 61 anos.

Com a participação, o músico paulistano se junta a outros artistas brasileiros como Luedji Luna, Xênia França, Zeca Veloso e Rincon Sapiência, também foram escalados para uma performance no Colors.

Com curadoria prestigiada, o canal de YouTube alemão convida artistas do mundo todo para performances exclusivas. Do pop gringo de Billie Eilish ao neo-samba de Emicida.

"São Pixinguinha" convoca para um olhar para o céu, na busca das estrelas de quem veio antes da gente, para agradecer pelo caminho apontado. E propõe encerrar o turbulento 2021 em paz. Ufa, um pouco de doçura neste azedume vai bem.

Você pode reclamar comigo aqui, no Instagram (@poantunes), no Twitter (também @poantunes) ou no TikTok (@poantunes, evidentemente).