Voltar para a lista de artigos Artigos
10 minutos de leitura

Crie seu próprio Spotify com SQL (por que não?)

Todo mundo está exibindo seu Spotify Wrapped nas mídias sociais, mas e se você pudesse fazer o seu próprio e ver tudo o que o Spotify deixa de fora? Com um pouco de SQL, você pode analisar seus hábitos de escuta, ver suas principais faixas e até mesmo descobrir quanto tempo você passou ouvindo aquela música que o deixa culpado. É fácil, divertido e uma ótima maneira de exercitar suas habilidades em SQL. Neste artigo, mostrarei a você como fazer isso.

Você sabe como o Spotify Wrapped é lançado todos os anos, e todo mundo publica suas principais faixas, artistas e estatísticas de audição? É divertido, mas vamos ser honestos - às vezes você quer mais do que apenas o que o Spotify decide mostrar. Por exemplo, quanto tempo de sua vida você desperdiçou ouvindo aquela música que lhe dava prazer? Ou quem realmente era seu artista principal se o Spotify não tivesse incluído podcasts?

Se você sempre quis ser um nerd com seus próprios dados de música, tenho uma coisa legal para você: crie seu próprio Spotify Wrapped usando SQL. Não é tão complicado quanto parece. Você terá controle total sobre os insights, direito de se gabar e um motivo legítimo para praticar SQL enquanto cria gráficos por diversão.

Etapa 1: Faça o download de seus dados do Spotify

Muito bem, a primeira coisa que você precisa fazer é obter seus dados de escuta do Spotify. É surpreendentemente fácil - o Spotify é legalmente obrigado a lhe dar acesso a todos os dados pessoais que coletou, e o processo é bastante simples.

Veja o que você deve fazer:

  • Vá para a página de privacidade do Spotify. Você precisará fazer login, caso ainda não o tenha feito. É aqui que o Spotify mantém todas as ferramentas para gerenciar e acessar seus dados.
  • Depois de entrar, vá até a seção "Download Your Data" (Baixar seus dados). Clique nela, e o Spotify pedirá que você confirme a solicitação. Isso não é instantâneo - o Spotify leva algum tempo para organizar tudo (1 a 2 dias, na minha experiência). Eles lhe enviarão um e-mail quando os dados estiverem prontos, portanto, não fique atualizando sua caixa de entrada como eu fiz.
  • Quando o e-mail chegar, baixe o arquivo ZIP que eles fornecem. Dentro desse ZIP, você encontrará vários arquivos, mas o que nos interessa é StreamingHistory.json. Esse arquivo é a mina de ouro - ele tem um registro detalhado de todas as faixas que você tocou, quando as tocou e por quanto tempo. Basicamente, é sua vida no Spotify em forma de dados.

Um aviso: a primeira vez que olhei o arquivo StreamingHistory.json, senti como se estivesse invadindo meu próprio gosto musical. Ele não é bonito à primeira vista - apenas linhas de texto com registros de data e hora, nomes de artistas e títulos de faixas - mas, acredite, ele é muito poderoso quando você o coloca para trabalhar com SQL.

Portanto, pegue esse arquivo e vamos começar a transformar seus hábitos de escuta em algo muito mais legal do que o Spotify Wrapped.

Etapa 2: Prepare seus dados para o SQL

A questão é a seguinte: o Spotify fornece seus dados como um arquivo JSON. Se não estiver familiarizado, JSON (JavaScript Object Notation) é apenas uma forma de armazenar dados em um formato de texto que as máquinas adoram, mas que não é exatamente amigável para o ser humano. Ele funciona muito bem para os desenvolvedores, mas o SQL precisa dos dados em um formato de tabela, como uma planilha. Portanto, a primeira etapa aqui é converter StreamingHistory.json em um arquivo CSV.

Não se preocupe; isso é mais fácil do que parece. Você não precisa de ferramentas sofisticadas nem de conhecimento de programação - Excel, Planilhas Google ou até mesmo um conversor on-line básico resolverão o problema. Veja como:

Se estiver usando o Excel ou o Google Sheets:

  • Abra o Excel (ou o Sheets) e procure a opção de importar um arquivo. No Excel, você irá para Dados -> Obter dados -> Do arquivo -> JSON. No Planilhas Google, o processo é um pouco mais manual, portanto, talvez você precise primeiro de um conversor on-line.
  • Carregue seu arquivo StreamingHistory.json. O Excel analisará o JSON e o transformará em linhas e colunas.

Se você quiser uma solução on-line rápida:

Use uma ferramenta como json-csv.com ou similar. Esses sites permitem que você carregue seu arquivo JSON e o converta em um CSV em segundos. Faça o download do arquivo resultante e pronto.

O que há no CSV?

Depois de convertido, o arquivo CSV terá a aparência de uma planilha pequena e organizada com quatro colunas principais:

Column Name Description
endTime When you listened to the track (timestamp).
artistName The name of the artist.
trackName The title of the song you listened to.
msPlayed How long you played the song (in milliseconds).

Por exemplo:

endTime artistName trackName msPlayed
2024-06-05 12:00 Metallica Enter Sandman 325000
2024-06-05 12:05 Korn Freak on a Leash 244000

Pense nisso como seus dados brutos - a espinha dorsal de sua análise. endTime permite rastrear exatamente quando você tocou uma música, enquanto msPlayed informa quanto tempo você ouviu. Depois de ter o arquivo CSV pronto, você pode carregá-lo diretamente no SQL e começar a consultar seus hábitos de escuta como um profissional.

Etapa 3: Carregar dados no PostgreSQL (pgAdmin)

Agora que seus dados do Spotify estão prontos como um arquivo CSV, é hora de carregá-los no PostgreSQL usando o pgAdmin. É aqui que transformamos seu histórico de audição bruto em uma tabela compatível com SQL. Não se preocupe, eu o orientarei em todo o processo.

1. Criar a tabela no pgAdmin

Primeiro, você precisa de uma tabela para armazenar os dados. Abra o pgAdmin e conecte-se ao seu banco de dados PostgreSQL. Uma vez conectado:

  1. Abra uma nova janela de consulta(clique com o botão direito do mouse em seu banco de dados -> Ferramenta de consulta).
  2. Execute o seguinte script SQL para criar uma tabela:
CREATE TABLE streaming_history (
    endTime TIMESTAMP,
    artistName VARCHAR(255),
    trackName VARCHAR(255),
    msPlayed INT
);
    

Clique no botão Executar (o ícone do raio), e sua tabela será criada.

Carregar dados no PostgreSQL

2. Importar o arquivo CSV para a tabela

Agora vamos carregar o arquivo CSV na tabela que você acabou de criar:

  • No menu do lado esquerdo do pgAdmin, expanda seu banco de dados -> Schemas -> Tables (Esquemas -> Tabelas).
  • Localize sua tabela (streaming_history) e clique com o botão direito do mouse nela.
  • Selecione Importar/Exportar no menu.

Uma nova janela será exibida. Veja o que fazer:

  • Nome do arquivo: Navegue até o local do seu arquivo CSV.
  • Format (Formato): Selecione CSV.
  • Delimitador: Defina-o como vírgula (,).
  • Header (Cabeçalho): Certifique-se de que essa opção esteja marcada se o CSV tiver nomes de colunas na primeira linha.

Clique em OK para iniciar o processo de importação.

Importar arquivo CSV para sua tabela

3. Verificar os dados

Para ter certeza de que tudo foi carregado corretamente, você pode executar uma consulta SQL simples para verificar sua tabela:

SELECT * FROM streaming_history LIMIT 10;
    

Isso exibirá as primeiras 10 linhas da tabela. Se você vir as faixas, os nomes dos artistas e os tempos de reprodução organizados em colunas, está tudo certo!

Etapa 4: Analisar sua lista de reprodução com consultas SQL

Você tem seus dados no PostgreSQL e agora é hora de liberar o poder do SQL. Com apenas algumas consultas, você pode obter insights que nem mesmo o Spotify Wrapped mostra. Pegue um café (ou coloque sua lista de reprodução favorita) e vamos lá.

As 5 faixas mais tocadas

Quer ver quais músicas você tocou demais? Essa consulta resume o tempo que você passou em cada faixa e as classifica em ordem decrescente.

SELECT trackName, artistName, SUM(msPlayed) / 60000 AS totalMinutes
FROM streaming_history
GROUP BY trackName, artistName
ORDER BY totalMinutes DESC
LIMIT 5;

O que ela faz:

  • Agrupa seus dados por nome de faixa e artista.
  • Soma o tempo total de reprodução (em milissegundos) e o converte em minutos.
  • Classifica as faixas por total de minutos, mostrando as 5 primeiras.

Você finalmente verá se aquela música que você jura que "só ouviu uma vez" está realmente dominando o seu ano.

Tempo total de audição

Já se perguntou quantas horas de sua vida você gastou ouvindo música este ano? Veja aqui como descobrir:

SELECT SUM(msPlayed) / 3600000 AS totalHours
FROM streaming_history;

O que ele faz:

  • Soma o tempo total (milissegundos) que você passou ouvindo as faixas.
  • Converte esse valor em horas.

Você pode rir, chorar ou questionar suas escolhas de vida quando vir esse número. De qualquer forma, é uma estatística divertida de se conhecer.

Tendências mensais de audição

Deseja ver como seus hábitos musicais mudaram ao longo dos meses? Essa consulta detalha isso:

SELECT DATE_TRUNC('month', endTime) AS month, SUM(msPlayed) / 3600000 AS hours
FROM streaming_history
GROUP BY month
ORDER BY month;

O que ela faz:

  • Agrupa seus dados de audição por mês usando DATE_TRUNC.
  • Soma o tempo total de reprodução e o converte em horas.
  • Classifica os dados em ordem cronológica para que você possa ver as tendências.

Você perceberá se ouve mais durante as viagens de carro no verão, a hibernação no inverno ou aqueles prazos estressantes.

Etapa 5: Visualize seus dados no Power BI

Agora que você já tem suas percepções do SQL, é hora de transformar esses resultados em visuais atraentes com o Power BI. Veja como:

Conecte o Power BI ao PostgreSQL

  • Abra o Power BI.
  • Vá para Home -> Obter dados -> Banco de dados PostgreSQL.
  • Digite o nome de seu servidor e as credenciais do banco de dados.
  • Carregue a tabela streaming_history no Power BI.
Visualize seus dados no PowerBI

Crie seus recursos visuais Use estas sugestões para dar vida aos seus dados:

  • Faixas superiores: Gráfico de barras
    • Eixo X: Nome da faixa
    • Eixo Y: Total de minutos ouvidos
  • Principais artistas: Gráfico de pizza
    • Mostra a proporção do tempo gasto com cada artista.
  • Tendências mensais de escuta: Gráfico de linhas
    • Eixo X: Meses
    • Eixo Y: Total de horas ouvidas
  • Tempo total de escuta: Visualização de cartão
    • Mostra o tempo total de escuta em horas como um número grande e em negrito.
  • Estilo como o Spotify
    • Use temas escuros com cores brilhantes (verdes, roxos, amarelos) para dar aquele toque do Spotify.
    • Adicione títulos como "Top 5 NuMetal Tracks" ou "Monthly Listening Habits" para dar personalidade.

Seu painel terá uma aparência elegante, profissional e pronta para ser compartilhada. Aqui estão minhas 10 principais faixas de 2024!

Minhas 10 principais trilhas

Etapa 6: compartilhar e flexibilizar

Quando seu painel do Power BI estiver pronto, você terá o direito de exibi-lo. Veja como:

  • Exporte-o: Salve o painel como um PDF ou uma imagem.
  • Compartilhe-o: Publique-o nas mídias sociais, envie-o para os amigos ou imprima-o, se quiser fazer como antigamente.
  • Gabar-se um pouco: Deixe que todos saibam que você não está apenas ouvindo rock - você está analisando-o como um profissional.

Imagine-se divulgando estatísticas como "Passei 120 horas ouvindo Metallica este ano" ou "Duality do Slipknot foi minha música número 1 com 15 execuções".Respeito instantâneo.

Considerações finais

Criar seu próprio Spotify Wrapped não é apenas divertido - é uma mistura de seu amor pela música e alguns ajustes práticos nos dados. Com o SQL, você pode descobrir insights que o Spotify não mostra, como quais faixas você tocou repetidamente ou como seus hábitos musicais mudaram ao longo do ano.

Neste artigo, você aprendeu a:

  • Usar o SQL para extrair suas principais faixas, principais artistas e tendências de escuta.
  • Executar consultas simples, mas poderosas, como GROUP BY, SUM() e DATE_TRUNC.
  • Transformar todos esses dados em visuais limpos, no estilo do Spotify, com o Power BI.

Aqui está a parte legal: as técnicas SQL que você usou - classificar dados, agrupá-los e calcular totais - são apenas o começo. Se você quiser saber mais e se sentir realmente confortável trabalhando com dados, confira a faixa SQL de A a Z em LearnSQL.com.br. Ele o guiará passo a passo por tudo o que você precisa saber, e você poderá trabalhar com dados reais como este.

SQL de A a Z

Com o SQL, você pode analisar qualquer coisa - sua música, seus dados de trabalho ou até mesmo projetos paralelos. É uma ferramenta que continua sendo útil.

Portanto, pegue seus dados, escreva mais algumas consultas e veja o quanto o rock e o metal impulsionaram seu ano. E, ei, se você descobrir algo inusitado - como tocar "Espresso" 200 vezes ou Ariana Grande estar em 80% da sua lista de reprodução - todos nós já passamos por isso, sem julgamento. Agora vamos ver quem realmente dominou sua lista de reprodução!