MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
Projeto pessoal e sem fins comerciais para narração de histórias em âmbito familiar.
Translation pending
MediaJavaScript · HTMLGitHub @MarceloNecoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Um site simples e bonito para contar histórias de dormir, feito para funcionar no celular.Read the full README ↗
Um site simples e bonito para contar histórias de dormir, feito para funcionar no celular.
contador-de-historiasindex.html, historias.json, capa.jpg, fundo-historia.jpg e README.md.https://SEU-USUARIO.github.io/contador-de-historias/
Abra esse endereço no celular:
Pronto: vira um app com ícone, em tela cheia.
capa.jpg — a capa larga no topo da tela Início, em qualquer aparelho.fundo-historia.jpg — o cenário nas laterais, só em tela de 1080px ou mais (computador). No celular e no tablet ele nem carrega, para não gastar dados.No computador, a aba Acervo usa a tela toda, em 2 ou 3 colunas de cartões; o texto da história continua numa coluna estreita (cerca de 70 letras por linha), que é o tamanho que menos cansa a leitura.
Para trocar qualquer uma: suba outra imagem com o mesmo nome por cima. Se o arquivo não existir, o site simplesmente não mostra nada ali — nada quebra.
Em Configurações, a primeira seção permite informar os primeiros nomes de quem vai ouvir e se é uma menina, um menino, duas ou mais meninas, dois ou mais meninos, ou um grupo misto.
Com isso:
Com Configurações → 🛡️ Não mandar os nomes para a IA ligado (vem ligado), antes de pedir uma história o site troca cada nome por um código ([NOME1], [NOME2]…). A IA escreve com os códigos e o próprio celular coloca os nomes de volta. Dá para acrescentar outros nomes em Outros nomes para proteger (irmãos, pets, escola).
Atenção: a voz de internet precisa receber o texto para ler — inclusive os nomes. Para nada sair do aparelho, use a voz do celular.
Deixando tudo em branco, o topo mostra apenas "BOA NOITE! QUE TAL UMA HISTÓRIA?" e nada de nome aparece em lugar nenhum. Essa informação fica só no aparelho — não vai para o repositório.
🔈 Ouvir o cumprimento — o botão fala, com a voz escolhida, a frase "Olá Lara e Julia, vamos ouvir uma historinha?". Sem nomes, usa o coletivo ("Olá meninas…"); sem nada informado, vira "Olá, vamos ouvir uma historinha?".
Com o botão Falar o cumprimento antes da história ligado, essa frase é dita antes de cada leitura. O áudio dela é gerado uma única vez e reaproveitado em todas as histórias — não consome cota de novo.
Tudo se configura na aba Configurações, dentro do próprio site. Dá para trocar quando quiser.
| Opção | Custo | Qualidade | Precisa de chave? |
|---|---|---|---|
| Gemini ⭐ | grátis na cota do Google | natural, com entonação de verdade | sim (grátis) |
| Voz do celular | grátis | boa, mas robótica | não |
| ElevenLabs | pago | a melhor que existe | sim |
| OpenAI | barato | muito boa | sim |
Onde pegar cada chave:
aistudio.google.com/apikey → Create API key → Create project. As chaves novas começam com AQ. (as antigas começavam com AIza); as duas funcionam.Se aparecer "o Google está lotado" (erro 503): não é nada seu. O site já espera e tenta de novo sozinho (três vezes, com pausas crescentes) e, se continuar lotado, tenta um modelo reserva. Se mesmo assim falhar, espere um minuto e toque em gerar de novo. Numa geração de vários capítulos, os que já saíram ficam guardados e Tentar de novo continua do capítulo seguinte.
Se aparecer "este modelo não está mais disponível": o Google aposenta modelos de tempos em tempos. Vá em Configurações → IA que escreve as histórias e toque em 🔄 Ver os modelos que a minha chave aceita — o site pergunta ao Google quais existem hoje e preenche a lista. Escolha um e pronto. A mesma chave serve para a voz e para escrever as histórias. São 30 vozes, e no campo "Como ela deve ler" você escreve em português o que quiser — tipo "sussurre nas partes de suspense".
elevenlabs.io → conta → Profile → API Key. Depois, no site, toque em Carregar minhas vozes e escolha a que preferir.platform.openai.com → adicione créditos → API keys → Create new secret key.As chaves ficam salvas só no navegador do seu celular. Elas não vão para o GitHub e ninguém mais as vê. Como o repositório é público, nunca escreva uma chave dentro dos arquivos.
Dica: com a voz do celular, se a tela apagar o Android às vezes interrompe a leitura. Com ElevenLabs ou OpenAI é áudio de verdade, então continua tocando normalmente.
Vem desligado. Em Configurações → 🎤 Comandos de voz, ligue Mostrar o botão 🎤. Aparece um 🎤 no topo e outro nos controles do leitor. Toque e fale:
tocar / continuar · pausar · voltar / repetir · avançar / pular · próximo capítulo · capítulo anterior · do início · mais rápido · mais devagar · favorita · já lida · fechar · história da noite · acervo · criar uma história sobre … · ler a história do …
Também na aba Configurações:
aistudio.google.com/apikey.console.anthropic.com. Pago por uso, centavos por história.A aba Criar tem estas entradas, todas com sugestões sorteáveis:
| Entrada | O que faz |
|---|---|
| Para quem é | 2–5, 6–9, 10+ ou "as duas juntas" — muda vocabulário e complexidade |
| Quantos capítulos | 1 (história única) até 6. Com 2 ou mais, a IA escreve os capítulos em sequência, cada um lendo o anterior, e salva tudo como uma série |
| Duração | Curtinha (~3 min), Média (~6 min), Longa (~10 min) ou escolhida em minutos (2 a 25). Com vários capítulos, vale para cada capítulo |
| Desfecho | Final feliz, reviravolta, lição sem moralismo, engraçado, fecha em círculo, reencontro, revelação na última frase, ou final aberto |
| Tema | O enredo em uma frase |
| Personagens | Quem aparece na história |
| Onde acontece | O cenário |
| Clima | Engraçada, misteriosa, emocionante, com reviravolta, calminha… — pode marcar várias ao mesmo tempo |
| Parecida com… | Inspiração: pega o espírito de uma obra conhecida, sem copiar nada dela |
| No estilo de uma história que já temos | A IA lê uma das suas histórias e imita o jeito de contar — ritmo, humor, tamanho das frases — com enredo novo |
| Pedido especial | Qualquer instrução livre |
A IA escreve e aparece a tela de aprovar / ouvir antes / editar / pedir outra. Só o que você aprovar é guardado.
Vozes de IA geram o áudio antes de tocar — quanto maior o trecho, mais demora. O site resolve isso em três camadas:
O botão que resolve tudo: abra a história e toque em ⬇️ Baixar a voz desta história, logo abaixo dos controles. Ele gera a história inteira com barra de progresso e guarda no aparelho. A partir daí:
O botão mostra o estado: "Baixar a voz (9 trechos)", "Continuar baixando (5 de 9 prontos)" ou "✅ Áudio guardado". Se parar no meio (cota, internet), o que já baixou fica salvo e o botão continua de onde parou.
No computador, abra o site pelo Microsoft Edge e escolha a voz do celular: o Edge traz vozes brasileiras neurais (Francisca, Thalita, Antonio — aparecem com ⭐ na lista), grátis, sem chave e sem espera nenhuma. É a melhor relação qualidade/velocidade para ouvir no PC.
No Android o caminho é outro: o navegador só enxerga o mecanismo padrão escolhido nas Configurações do celular, e só dá para usar as vozes que ele entrega. Então a melhoria vem de instalar um mecanismo melhor e escolhê-lo como padrão:
| Mecanismo | Custo | Offline | Como |
|---|---|---|---|
| SherpaTTS (modelos Piper) | grátis, código aberto | sim | instalar pela loja F-Droid, baixar um modelo pt_BR (ex.: pt_BR-faber-medium) e escolher SherpaTTS como Mecanismo preferido |
| Google (Speech Recognition & Synthesis) | grátis | depende da voz | Play Store → atualizar → Instalar dados de voz → Português (Brasil) |
| Samsung | grátis, já vem | sim | Instalar dados de voz → Português (Brasil) |
| Acapela TTS Voices | pago por voz | sim | Play Store, com prévia antes de comprar |
Depois de trocar o mecanismo, feche o navegador de vez (Configurações → Aplicativos → Chrome/Edge → Forçar parada) — ele guarda a lista de vozes antiga até ser fechado. Aí, no site: Configurações → 📱 Voz do celular → 🔄 Recarregar vozes.
Se a voz nova não aparecer na lista mesmo assim, escolha 🔧 Padrão do aparelho: o site pede "português do Brasil" sem apontar voz nenhuma, e o Android responde com o mecanismo padrão — que agora é o novo. O botão ❓ Instalei uma voz e ela não aparece repete esse passo a passo dentro do site.
Para diagnosticar fora do app existe a página TESTE-VOZ-contador-de-historias.html (abra pelo mesmo endereço do site, trocando index.html pelo nome dela): ela lista tudo o que o navegador enxerga, com mecanismo e idioma de cada voz, e fala com a voz escolhida.
Importante: as vozes "Naturais" do Edge de computador não existem no Android — a Microsoft não as libera para sites no celular. Mesmo com o melhor mecanismo, a voz do aparelho fica abaixo do Gemini; ela é o plano B para quando não há internet ou cota.
Histórias longas, contadas capítulo por capítulo, ficam agrupadas: no acervo aparece um cartão só com o nome da série e quantos capítulos tem. Ao tocar, abre a lista em ordem, com ✓ nos que já foram ouvidos e um botão Continuar do capítulo X.
Se uma história ficou pela metade, ela aparece numa seção Continuar ouvindo no topo da tela Início, com barrinha de progresso e a porcentagem. Toque e o play retoma exatamente do ponto — mesmo que você tenha trocado de voz no meio do caminho.
Mais abaixo, Ouvidas recentemente lista as que já foram até o fim.
Tudo isso fica salvo neste aparelho, junto com as histórias.
Dentro do texto da história, um marcador sozinho numa linha aciona o som:
[som:chuva]
Ambientes (tocam ao fundo e somem devagar): chuva, vento, mar, floresta, fogueira, noite.
Momentos (tocam uma vez): trovao, magia, sino, passos, coracao, explosao, tiro, galope.
Bichos (tocam uma vez): latido (cachorro), miado (gato), mugido (vaca), rugido (leão), chiado (cobra), coruja, galo, sapo, elefante.
E fim, que desliga tudo.
Todos são criados pelo próprio site, com síntese de som — não existe nenhum arquivo de áudio no repositório. Por isso os bichos soam estilizados, meio de desenho animado, e não como gravação real. Em Configurações → Efeitos sonoros dá para ouvir os 24 antes de usar.
Os seis primeiros são ambientes — ficam tocando baixinho ao fundo até outro entrar. Os outros tocam uma vez só. A IA já coloca esses marcadores sozinha nas histórias que gera.
As histórias ficam no navegador do aparelho. Para levar para outro:
As chaves ficam guardadas em cada aparelho separadamente — é exatamente isso que impede que elas vazem pelo GitHub. Então, num celular novo, elas não aparecem sozinhas.
Para não digitar tudo de novo: Configurações → 📱 Levar minha configuração para outro aparelho → Copiar o link. Abra esse link uma vez no outro aparelho, confirme, e pronto. O link carrega as chaves, então mande só para você mesmo (o mais prático é o menu do Chrome → Enviar para seus dispositivos). O token do GitHub nunca vai junto.
Jeito simples (recomendado)
historias.json.historias.json → ícone do lápis → apague o conteúdo → cole o conteúdo novo → Commit changes.
(Ou: Add file → Upload files → arraste o arquivo novo por cima.)Jeito automático (avançado)
Configurações → Sincronizar direto com o GitHub. Você cola o nome do repositório e um token fine-grained com permissão Contents: Read and write só nesse repositório, e aí um botão envia o acervo direto. O token fica salvo apenas no seu celular.
| Arquivo | O que é |
|---|---|
index.html | O site inteiro — tudo está aqui dentro. |
historias.json | As histórias que aparecem para todo mundo que abre o site. |
capa.jpg | A imagem grande da tela Início (aparece em todos os aparelhos). |
sw.js | Faz o site abrir sem internet e virar app. Vem do pacote das diretrizes; a cada versão nova o número VERSAO dentro dele sobe (agora v13), para os aparelhos buscarem os arquivos novos. |
icone-180.png | O ícone que aparece quando o site é adicionado à tela inicial do iPhone. (O ícone da aba já vai dentro do index.html.) |
ARQUITETURA.md | O mapa do código: o que cada parte faz, o que não se toca, onde mudar o quê. É o que qualquer IA deve ler antes de mexer. |
TESTE-VOZ-contador-de-historias.html | Página de teste das vozes do aparelho, independente do app. |
fundo-historia.jpg | O cenário que preenche as laterais no computador. Ignorado no celular. |
README.md | Este guia. |
Em Configurações → Sobre ficam:
O site é um projeto pessoal, sem finalidade econômica, sem coleta de dados e sem publicidade. Está marcado com noindex, ou seja, pedindo aos buscadores que não o incluam em resultados de pesquisa.
Feito com carinho, para duas leitoras de 4 e 8 anos. 💜