;(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

Zélia Duncan, 40 anos de carreira: "Aprendi o peso de dizer o que pensava"

Bruno Calixto

Colaboração para Nossa

25/04/2021 04h00

"Vida em branco. Você não precisa de artistas?!" A bandeira levantada nas redes sociais por Zélia Duncan, em forma de poema (leia na íntegra abaixo), é um recado claro da cantora e compositora aos apoiadores de políticos que atacam a classe artística.

Provocações como "a mamata acabou" levaram Zélia a tomar partido diretamente com o público, através de uma série de postagens em vídeo, com #zoionozoio na legenda. Numa delas, dispara: "Vai me chamar de sapatão? Para mim é um orgulho", pano de fundo de uma conversa sincera entre ela e Teresa Cristina no projeto "Botequim da Teresa".

As pessoas que atacam o feminismo gostam de dizer que ele é feito por mulheres feias e amargas. É só mais um machismo dizer isso", diz Zélia

Zélia Duncan foi a convidada especial do "Botequim da Teresa" - Roberto Setton - Roberto Setton
Zélia Duncan foi a convidada especial do "Botequim da Teresa"
Imagem: Roberto Setton

Provocada pela anfitriã Teresa a retornar ao ado glorioso de "Catedral", música com a qual estourou em todo o Brasil, em 1994, Zélia ressalta que foi ali que aprendeu sobre responsabilidade.

As pessoas cruzavam meu caminho e diziam: 'você fez isso pra mim'. Quando você faz uma música, e a pessoa canta, você está doando este trabalho para ela. Compor me deu a noção de responsabilidade de dizer o que eu pensava"

A cantora e compositora, que completa 40 anos de carreira, diz ainda: "Enquanto mulher, lésbica e cantora, ter esta responsabilidade tem um peso a mais; não quero falar uma coisa e fazer outra".

Aos 56 anos, a escorpiana natural de Niterói — e radicada em São Paulo — afirma que pretende continuar arriscando e tentando fazer diferente. Como define Teresa Cristina, ao se lembrar do disco "Eu me transformo em outras" (2004) e de um amigo em comum com Zélia, as músicas da convidada soam como "mensagem dentro de uma garrafa, que a gente nunca sabe aonde vai chegar".

40 anos de carreira e um disco novo de inéditas

Zélia Duncan celebra quatro décadas de palcos em 2021 - Roberto Setton - Roberto Setton
Zélia Duncan celebra quatro décadas de palcos em 2021
Imagem: Roberto Setton

Em fevereiro, Zélia lançou, nas plataformas digitais, o álbum "Minha voz fica", em homenagem a Alzira E. São 12 canções da mato-grossense, radicada há décadas em São Paulo, interpretadas ao lado do violonista Pedro Franco.

Mas este é só o começo da festa. Zélia ainda pretende lançar um disco de inéditas, entre maio e junho, junto com o cantor, compositor e guitarrista pernambucano Juliano Holanda.

O primeiro show da cantora foi em 1981, na Sala Funarte, em Brasília, após ter vencido um concurso em que os participantes se inscreviam enviando uma fita k7. O prêmio era justamente cantar acompanhada por músicos profissionais. Embora tenha se tornado um nome conhecido nacionalmente em 1994, com o estouro da canção "Catedral", ela já estava na estrada faz tempo.

Quando comecei a cantar, minha mãe ia comigo aos botecos porque era menor de idade. Naquela época, eu só queria gravar um disco"

'Vida em branco (poema do #zoionozoio)'

"Você não precisa de artistas?! Então me devolve os momentos bons.
Os versos roubados de nós.
As cores do seu caminho.
Arranca o rádio do seu carro.
Destrói a caixa de som.
Joga fora os instrumentos.
E todos aqueles quadros.
Deixa as paredes em branco.
Assim como a sua cabeça.
Seu céu de cimento.
Silêncio cheio de ódio.
Armas para dormir.
Nenhuma canção pra ninar.
E suas crianças em guarda, esperando a hora incerta para mandar ou receber rajadas.

Você não precisa de artistas?!
Então fecha os olhos.
Mora no breu.
Esquece o que a arte te deu.
Finge que não te deu nada.
Nem um som, nem uma cor, nem uma flor na sua blusa.
Nem Van Gogh, nem Tom Jobim, nem um Gonzaga, nem Diadorim.
Você vai rimar com números.
Vai dormir com raiva e acordar sem sonhos, sem nada.
E esse vazio no seu peito não tem refrão pra dar jeito, não tem balé para bailar.

Você não precisa de artistas?! Então, nos perca de vista.
Nos deixe de fora desse seu mundo perverso, sem graça, sem alma."

Samba, série e Teresa

O "Botequim da Teresa" vai ao ar todas as sextas-feiras, às 10 horas, no YouTube de Nossa (inscreva-se já para receber os lembretes), no site, no UOL Play e no Facebook de Nossa.

O programa é uma coprodução de Nossa, MOV, a plataforma de vídeo do UOL, e da 2291 Conteúdo. Ele foi gravado em janeiro seguindo todos os cuidados necessários recomendados pelas autoridades de saúde durante a gravação do programa, como testagem dos convidados e da equipe, uso de máscara, álcool em gel e distanciamento social. Metade dos convidados foi recebida de forma presencial e a outra metade no formato remoto.