Versão 6.75.0
Data de lançamento: 2026-09-25
DpdoPlayer
Melhorias
- O DSD multicanal pode ser distribuído canal a canal por vários dispositivos: um único fluxo DSD é dividido por canais — esquerdo e direito num dispositivo cada, ou seis canais em três, conforme o modo escolhido; o número de dispositivos segue o modo selecionado. O empacotamento DoP passa a existir numa única implementação, garantida por testes de contrato byte a byte.
- As regras da saída DSD direta (native) ficam explícitas: o que o 1 bit consegue fazer — reordenar ou duplicar canais — continua a sair em direto; o que o 1 bit não consegue — somar, alterar o ganho, silenciar um canal inteiro — é recusado com o motivo indicado, em vez de degradar em silêncio; uma configuração que precise de soma passa automaticamente a decodificação PDM2PCM, e o log diz por quê.
- Quando o dispositivo não aceita a taxa do portador DoP, o portador desce de escalão conforme a medição: o portador é baixado até ao escalão que o dispositivo aceita de facto, medido e não presumido (conversão de taxa DSD no motor).
- O material multicanal dobrado em menos canais é normalizado de forma estática em toda a faixa: antes de reproduzir, o pico de todo o material é percorrido e uma única atenuação fixa é aplicada a toda a faixa (nem AGC nem limitador); depois de dobrado, já não corta.
- Novo interruptor de linha de comando
-rig-info: exporta o predefinido resolvido em JSON (o mesmo esquema que o-rigcarrega); a interface usa-o para levar o predefinido ao editor. - Nova edição macOS: um backend de saída CoreAudio nativo — saída do portador DoP, modo exclusivo (hog) com verificação por releitura, e a capacidade de DSD nativo é medida no dispositivo em vez de fixada; o ponto de entrada do reprodutor de linha de comando e o script de empacotamento DMG vêm com ela.
- Novo cliente iOS: o motor passa a correr dentro do processo da app (sem subprocesso) e a saída usa DoP por sessão de áudio; o desbloqueio de funcionalidades passa pela compra dentro da app na App Store (IAP); o manifesto de privacidade e as verificações do contrato de submissão vêm incluídos.
Correções
- Não passava para a faixa seguinte ao terminar uma: ao trocar de faixa numa sessão ALSA os dados eram gravados no estado SETUP, pelo que nada seguia a faixa terminada.
- O dispositivo ficava ocupado ao mudar de formato ou de taxa de amostragem: agora é libertado antes de reprogramar os parâmetros de hardware, e os formatos que aceitou ficam memorizados.
- O material multicanal num dispositivo com menos canais interrompia após a dobragem: o formato dobrado era tomado por erro como «o formato mudou»; agora a reprodução continua no formato dobrado.
- Leitura de capas completada: passam a ser lidos os blocos ID3 embutidos em contentores
.wave.aiff, as etiquetas ID3v2.3 e os tipos de capa escritos por outras ferramentas, bem como os ficheiros.wv/.apeque só levam ID3v2 e não APEv2.
Sem mudanças funcionais no motor nem no empacotador nesta versão.
Versão 6.74.23
Data de lançamento: 2026-09-24
DpdoPlayer
Melhorias
- O painel de reprodução mostra a capa do álbum: a procura é feita primeiro embutida (SACD ISO
/COVER.JPG; DSF/DFF ID3; FLAC bloco PICTURE) e depois como imagem na mesma pasta do áudio (cover.jpg,folder.jpgou um arquivo com o mesmo nome); a dica indica de onde veio a imagem. - Novo campo «Dados de áudio» no painel: taxa de amostragem / profundidade de bits / canais / DSD / DST / duração da própria fonte, não do formato enviado ao dispositivo.
- Duas barras de nível (esquerda/direita) no painel: mostram o pico do bloco que é realmente gravado no dispositivo; em 0 dBFS ficam vermelhas e permanecem marcadas por 1,5 s, então o clipping é visível de imediato (em pausa voltam ao mínimo).
- Novos botões de faixa anterior / seguinte: durante a reprodução trocam dentro da mesma sessão (o dispositivo não é fechado nem reaberto); na primeira ou na última faixa ficam desativados e avisam; sem reprodução apenas movem a seleção.
- Botões
−/+ao lado do controle de volume (±5 por toque, repetindo se mantido), enviados pelo mesmo caminho do controle.
Correções
- Ícones da interface unificados: pausa / anterior / seguinte agora usam a mesma família de símbolos de reproduzir e parar – os caracteres de controle de mídia anteriores eram desenhados pelo sistema como emoji colorido e em algumas fontes nem apareciam.
Versão 6.74.22
Data de lançamento: 2026-09-23
DpdoPlayer
Melhorias
- A faixa em reprodução é acompanhada na lista: ao reproduzir uma imagem SACD ISO / CUE como uma única sessão contínua, o destaque e o negrito seguem a faixa atual (antes ficavam sempre na primeira linha).
- «Verificar atualizações…» passou para junto da entrada de licença na barra de status: as três interfaces ficaram iguais e o antigo menu Ajuda foi removido (uma entrada escondida demais não existe).
- A lista de dispositivos mostra todos os endpoints, inclusive desativados e desconectados: cada linha traz o formato real e a família de endpoints «HQ» é assinalada, facilitando escolher o que pode ser bit-perfect.
-start/-endagora são relativos à faixa quando se usa-track:-track 2 -start 0 -end 5são os segundos 0–5 dessa faixa; fora do intervalo a reprodução é recusada em vez de devolver um trecho cortado.- Trocar de faixa na mesma sessão não fecha nem reabre mais o dispositivo de áudio (a troca de faixa dentro de um mesmo disco fica bem mais rápida e a saída DSD não é interrompida): se o formato de saída não muda, o dispositivo já aberto é reutilizado.
- A pausa agora funciona de verdade na saída DSD (DoP): durante a pausa o player continua enviando silêncio com marcadores DoP, e a reprodução retoma na mesma posição — sem sair do domínio DSD e sem pular adiante.
Correções
- Um chiado na primeira reprodução que some no segundo clique: o mecanismo começava antes de ter a configuração de saída final, então a primeira faixa usava o modo anterior; agora a configuração está sempre pronta antes da primeira reprodução.
- Placas tipo kX: ASIO não detectado: esse driver trava na própria inicialização; a detecção agora roda em processo separado, limitada a 4 segundos — um travamento afeta só esse trecho e o log diz em que passo parou.
- Não é possível abrir o dispositivo após trocar de faixa (
0x800401f0): o COM agora é inicializado por thread, em todos os pontos de chamada. - «Dispositivo em uso» ocasional após trocar de dispositivo ou esquema: a espera pelo fim da sessão anterior passou de 3 para 10 segundos com limite, e o orçamento de novas tentativas em exclusivo para cerca de 12 segundos.
- A redução de multicanal para estéreo é avisada com destaque na interface (com a regra de mixagem e o destino do LFE), em vez de ficar apenas no log.
- Nomear um dispositivo de saída e ouvir em outro: com dispositivo explícito, o caminho ASIO não assume mais a saída e o log informa a saída real.
- Não se força mais DoP em dispositivos sem caminho DSD (seria apenas ultrassom ou silêncio): passa a decodificar em PCM, com explicação.
- Atualização falhada ou cancelada não reinicia mais o programa (antes ficava no ciclo «reiniciar → perguntar de novo → cancelar»).
- Não aparece mais
%scru no aviso de atualização. - O aviso de reserva sobre o layout de setores do SACD ISO aparece uma única vez (antes, milhares de linhas, uma por setor).
- Corrigidos os estalos durante a reprodução: ao indicar um dispositivo de saída, um equipamento capaz de DSD (DAC USB com DoP=yes) era rebaixado de ASIO nativo para DoP. Agora só se muda o caminho quando o próprio endpoint indicado não tem via DSD; o equipamento compatível mantém o caminho nativo.
- O buffer exclusivo de DoP agora prefere valores grandes (a partir de 2 s, descendo; medido 80 ms -> 500 ms). Um buffer pequeno gera subalimentações periódicas, que é exatamente o que se ouve como estalos.
- Nos DAC USB da classe ComTrue/Fosi, o auto passa a usar DoP por padrão: a saída nativa ASIO não produzia som nesses aparelhos (antes o caminho DoP exigia uma variável de ambiente, então o ajuste padrão ficava em silêncio).
- Os dispositivos de áudio não são mais reenumerados nem sondados na inicialização e durante a reprodução (uma das causas do estalo na inicialização e do estalo ocasional durante a reprodução).
- Antes de tocar no volume do dispositivo ou trocar de faixa, o buffer de saída é preenchido com silêncio com marcadores DoP: o instante em que o DAC sai do domínio DSD cai sobre silêncio, reduzindo os estalos (em alguns DACs ainda pode ser audível um estalo leve ao alterar o volume durante a reprodução).
- A escolha explícita da saída native / ASIO não é mais revertida automaticamente para DoP: o caminho de saída escolhido é respeitado (no auto o player continua escolhendo o melhor caminho) e o log informa as consequências conhecidas desse caminho nesta máquina.
- Corrigido um estalo leve a cada ~0,9 s ao reproduzir algumas imagens SACD ISO antigas de produção própria: nessas imagens alguns setores declaram um comprimento de pacote 3 bytes menor do que o áudio realmente contido (uma sobra no fim do setor); o leitor descartava o setor inteiro como não-áudio. Agora lê exatamente os bytes declarados, portanto não se perde música (as imagens SACD comerciais continuam a ser lidas como antes).
- Corrigido: a reprodução parava após trocar de faixa em vez de avançar para a seguinte: ao trocar de faixa na mesma sessão, os restos da faixa anterior eram descartados mas o fluxo de saída era parado e nunca reiniciado; as escritas bloqueavam e a reprodução inteira era abortada (um aborto não é reportado como «terminado», por isso parecia que não avançava). Agora o fluxo é reiniciado logo após o descarte; a saída diferencial (vários dispositivos, fase normal/invertida) também foi corrigida (não encaminhava a «re-preparação» aos dispositivos secundários).
Versão 6.74.21
Data de lançamento: 2026-09-23
DpdoPlayer
Melhorias
- Modelo de sessão exclusiva: a reprodução reserva o dispositivo em modo exclusivo desde o início; ao trocar de faixa o mesmo dispositivo é mantido (reconfiguração no local quando a taxa é a mesma; mudança de taxa e DSD↔PCM tratados conforme as restrições do driver). Só é reaberto ao escolher outro dispositivo ou alterar o perfil de canais, e fechar o programa sempre libera a exclusividade.
- CUE / SACD ISO agora tocam numa única sessão: o disco inteiro abre o dispositivo uma vez e a troca de faixa não o reabre mais (antes cada faixa iniciava um novo processo e retomava o dispositivo em modo exclusivo).
- Todas as configurações do painel são lembradas: modo, disposição de canais, perfil de canais, profundidade de bits, modo DoP, chave e ganho do PDM2PCM, crossover e volume são restaurados na próxima abertura.
- As três interfaces agora verificam atualizações por conta própria: na inicialização é feita uma verificação silenciosa (só avisamos quando existe mesmo uma versão mais recente) e «Ajuda → Verificar atualizações…» faz isso a pedido; o download é verificado por SHA-256 e a atualização substitui os arquivos no local quando a pasta de instalação é gravável, recorrendo ao instalador apenas quando não é (instalação silenciosa no Windows, gestor de pacotes no Linux) e reinicia o programa automaticamente.
- Problemas de licença agora são diagnosticáveis de imediato: quando a verificação falha, o log lista todos os fatores de hardware da máquina (valores com hash, sem números de série em bruto) e a chave de estado anti-retrocesso, e a linha de comandos ganhou
-auth-diag; execute duas vezes e compare para ver qual fator muda.
Correções
- Trocar de faixa não derruba mais a sessão exclusiva: antes cada troca parava a reprodução (liberando o dispositivo) e reiniciava, de modo que a sessão exclusiva nunca chegava a valer; agora a troca acontece dentro da sessão e o dispositivo não é mais aberto e fechado repetidamente.
- Duplo clique troca de faixa, clique simples apenas seleciona: antes o duplo clique enviava dois comandos de reprodução.
A saída DSD direta não é mais interrompida se falhar ou se o dispositivo recusar essa profundidade de bits: o player passa a decodificação PDM2PCM no mesmo processo (caindo automaticamente para 16 bits quando o dispositivo recusa), sem perder a fila nem a sessão. A decisão de fallback DSD não passa mais para a faixa seguinte: quando o dispositivo não tem caminho DSD, o player muda para decodificação PDM2PCM no local; essa decisão permanecia durante toda a sessão, então ao trocar para uma faixa PCM (FLAC, por exemplo) ela era tratada como DSD e não tocava. Agora o modo de decodificação é redeterminado a cada faixa a partir das configurações da sessão.
Exibição de progresso e duração total corrigida: na última faixa ("reproduzir até o fim do arquivo") a duração vinha de um valor sentinela interno e mostrava 31 anos, com a barra saltando para 98%; agora tudo é calculado a partir do fim real do arquivo.
- O PCM de 24 bits não falha mais em dispositivos que só aceitam S16_LE/S32_LE: se o dispositivo recusa o contêiner de 24 bits, a reprodução reabre com um contêiner de 32 bits - as mesmas amostras deslocadas 8 bits e alinhadas em escala plena, ou seja, totalmente sem perdas (não é redução da profundidade de bits).
- Start continua a partir da última faixa reproduzida: antes sempre começava pela primeira; só volta à primeira quando esse registro não está mais na lista (lista substituída ou faixa removida).
- Corrigido «o certificado é válido mas a reprodução é recusada»: a chave do arquivo de estado anti-retrocesso era calculada a partir do conjunto de fatores de hardware disponíveis naquele momento; após uma atualização de firmware ou do sistema que alterasse esse conjunto, um arquivo de estado antigo era considerado «modificado» e a licença era recusada com
No valid '.DpdoPlayer.crt' found(o certificado estava perfeitamente válido). A chave já não depende desse conjunto variável, e um arquivo de estado só é tratado como adulterado quando todas as cópias falham na verificação.
Versão 6.74.20
Data de lançamento: 2026-09-21
DpdoPlayer
Melhorias
- Configurações de canais unificadas (mapeamento dispositivo↔canal + matriz de mixagem + ganho de mixagem): a interface permite escolher um predefinido, editar a matriz 8×8 e carregar/salvar um
*.json; a linha de comando-rigaceita um nome de predefinido ou esse mesmo arquivo — uma única configuração controla os dois. Uma configuração inválida (nome de canal desconhecido, ganho fora da faixa, comprimento que não corresponde ao dispositivo) recusa a reprodução, em vez de usar silenciosamente uma matriz errada. - Nova varredura medida (
-scan): passa todo o material pela configuração atual e informa o pico medido por canal, se há clipping e o ganho de mixagem que deixa exatamente em 0 dBFS. Os picos são apenas lidos — o áudio não é alterado. - A saída DSD direta agora suporta reordenação de canais: «qual DAC recebe qual canal» também funciona em native/DoP; uma configuração que precise de mixagem ou mudança de nível passa automaticamente para decodificação PDM2PCM, e tanto o log quanto a ajuda de reprodução explicam o motivo (reproduzir tem prioridade).
- Mais canais no dispositivo do que na fonte são preenchidos de forma simétrica: estéreo → 4 canais = L,R,L,R; → 5.1 deixa o central e o LFE em silêncio (central fantasma) em vez de copiar a última faixa.
O ganho de saída PDM2PCM agora é +6 dB por padrão (mesma sonoridade do PCM);
-pdm2pcm-gain 0desativa.Buffer de reprodução 200 ms → 2000 ms (igual no Windows exclusivo e no Linux): um buffer maior absorve as dezenas de milissegundos em que a thread de alimentação é preemptada; o valor realmente concedido aparece no log ao abrir o fluxo.
- Lembra a última faixa reproduzida: ao abrir a lista, essa faixa é selecionada e trazida à vista (se foi apagada, o programa informa em vez de saltar para outra).
- A varredura antes da reprodução agora mostra progresso: fontes DSD/multicanal são varridas antes de tocar; agora informa a cada segundo a porcentagem e os segundos decorridos, com barra de progresso na interface -- acabou a impressão de «parece travado».
- O mesmo arquivo não é mais varrido de novo: o resultado fica em cache por arquivo (chave: caminho, tamanho, data de modificação e configuração de canais atual), então a segunda reprodução começa quase imediatamente. O cache não altera a saída.
- modo pairs multi-dispositivo: cada dispositivo recebe um par de canais da fonte, sem alteração (sem inversão) -- uma fonte de 4 canais para 2 DACs, 8 canais para 4, sem dividir em vários comandos.
- passthrough IEC 61937 (
-passthrough): o fluxo DTS é entregue ao receptor/decodificador como quadros IEC 61937 em vez de ser decodificado. Volume, matriz e normalização não participam desta via (alterar um único bit corrompe o fluxo), e o registo de reprodução diz isso. Requer um recetor compatível. - Nomes de modos multi-dispositivo unificados: diferencial / BTL / crossover / pairs são todos escolhidos com
-mode, e o registo mostra quais canais da fonte cada dispositivo recebe realmente. - Formatos sem perdas (APE / WavPack / TTA / ALAC) agora em fluxo, quadro a quadro: álbuns longos deixam de ser decodificados inteiros na memória (medido: um arquivo de 300 segundos cai de cerca de 220–320 MB para cerca de 15 MB) e a reprodução não espera mais o pré-carregamento.
- A decodificação PDM2PCM (DSD -> PCM) agora é multi-núcleo: material multicanal fica cerca de duas vezes mais rápido, com saída idêntica byte a byte (série e paralelo dão o mesmo resultado).
- Nova opção «restaurar o volume do dispositivo após a reprodução» (
-restore-vol, ourestore_vol=1noplayer.conf): se o volume do dispositivo foi alterado, ele volta ao valor anterior quando a reprodução termina. Desativada por padrão.Correções
- O downmix multicanal não descarta mais o central/surround em silêncio: se o dispositivo não aceita todos os canais, eles são dobrados por função conforme BS.775 (LFE excluído) e o clipping é contado e informado no log.
- Fones Bluetooth e outras saídas do mixer do sistema agora reproduzem no Linux: o áudio Bluetooth fica atrás do mixer do sistema e o player só listava placas de som -- o fone não aparecia, logo não podia ser escolhido (nem tocado). Agora a lista inclui a saída do sistema e cada ponto de saída. Uma saída suspensa é reativada antes da reprodução (a taxa era de cerca de 1/13 do tempo real, o que parecia travamento); o
-volagora define o volume dessa saída e não mexe em outra placa. - Os presets de masterização passam a acompanhar os instaladores: o instalador do Windows, o deb/tgz do Linux e a pasta portátil trazem os 6 presets (antes faltavam nos pacotes).
- DSD com vários dispositivos (diferencial/BTL) não trava mais no meio da reprodução: a capacidade DSD de cada DAC é verificada antes de tocar; se algum não puder, todo o conjunto passa a decodificação PDM2PCM e o registro indica qual (antes abria em DSD e era abortado após um tempo limite de escrita).
- Quando o dispositivo expõe vários controles de volume de reprodução, agora todos são ajustados ao valor alvo: antes apenas um era ajustado e outro ficava no valor baixo próprio do dispositivo (medido: o segundo controle de um Fosi DS1 ficava 20 dB abaixo) ⇒ o Linux soava bem mais baixo que o Windows. Com a opção de restauração, cada controle volta exatamente ao valor anterior.
- Duas correções de exatidão byte a byte: a saída multicanal (>2 canais) não traz mais erro de escala de ±1 LSB (agora idêntica byte a byte à fonte); uma faixa curta com limite de tempo não reporta mais falha falsa — o código de saída reflete o resultado real.
Esta versão inclui melhorias de desempenho no motor (reprodução em fluxo de formatos sem perdas, decodificação PDM2PCM multi-núcleo); o empacotador (DpdoPackSACD) não tem mudanças funcionais.
Versão 6.74.19
Data de lançamento: 2026-09-21
DpdoPlayer
Novos recursos
Reprodução DTS / DTS-WAV: o reprodutor agora abre diretamente arquivos
.dtse contêineres DTS-in-WAV (núcleo DTS 2.0–5.1, 44,1 / 48 kHz). Em uma saída estéreo a fonte é reduzida por função de canal (central e surround dobrados a −3 dB, LFE excluído); em saída multicanal cada canal vai para o seu dispositivo. Progresso, troca de faixa sem intervalos e modo diferencial multi-dispositivo reutilizam o mesmo caminho de DSD / PCM.A linha de «formatos suportados» da ajuda e do seletor de arquivos agora corresponde ao que o reprodutor abre de fato: SACD ISO, CUE e AIFF incluídos, MP3 / AAC / OGG removidos (nunca suportados). Ao arrastar uma pasta, agora é informado quantos arquivos de áudio não têm decodificador, em vez de ignorá-los em silêncio.
Sem mudanças funcionais no motor nem no empacotador nesta versão.
Versão 6.74.18
Data de lançamento: 2026-09-20
DpdoEngine / DpdoPackSACD / DpdoPlayer
Melhorias
- A saída de linha de comando e os registos do motor estão agora integralmente em inglês (ajuda, erros e relatórios com o mesmo critério); a saída em chinês no Windows já não sai corrompida; as quatro interfaces gráficas (leitor / empacotador / ferramentas de áudio / registo de licença) são bilingues e seguem o idioma da interface, ou DPDO_LANG=zh|en.
- Unificação de nomes: o que antes se chamava DSD->PCM passa a chamar-se PDM2PCM (coerente com o nome do projeto PCM2PDM); a opção é -pdm2pcm-gain e a variável de ambiente DPDO_PDM2PCM_GAIN (os nomes antigos já não são aceites).
- Leitura de imagens SACD ISO: quando o disco realmente não tem títulos por faixa, os nomes são preenchidos como «álbum - artista - número da faixa» em vez do nome do ficheiro.
Corrigido
- DpdoEngine --log (fir / ns / freq / all) bloqueava ou falhava e produzia um ficheiro vazio - corrigido.
- O instalador do Windows passou a permitir escolher componentes (leitor / empacotador / ferramentas de linha de comando, todos marcados por omissão).
Licenciamento
Melhorias
- Reforço do sistema de licenças.
Registro de alterações
Versão 6.74.16
Data de lançamento: 2026-09-15
DpdoPlayer
Corrigido
- alimentar um endpoint onboard com DoP só produzia chiado — a capacidade de DoP agora é decidida por evidência do próprio dispositivo: conseguir abrir 176400 não significa conseguir decodificar DoP (codecs onboard não têm caminho DSD no hardware). Em endpoints considerados incapazes,
-dop forceé recusado e a reprodução passa automaticamente para DSD→PCM; uma chave de depuração permite forçar de verdade - o chiado/estalo ao encerrar: o drain do WASAPI agora espera uma condição limitada e interrompível em vez de girar ou estimar um atraso (antes os dados em buffer eram descartados, o que causava o estalo); o drain do ASIO e o anel de escrita também não giram mais
- «abre mas não aceita dados»: o PCM exclusivo não espera mais por evento do dispositivo; se o primeiro fluxo exclusivo após um período ocioso for aceito mas nunca consumir nada, o player descarta, abre outro e continua a reprodução (o critério é a ocupação do buffer, não o relógio de áudio)
- parar não fazia nada até fechar a GUI: o recuo automático reinicia a reprodução num processo filho, enquanto o comando de parar vai ao stdin do pai e era engolido por ele — agora o filho tem o seu próprio pipe de comandos e o pai apenas encaminha; se parar já foi pressionado, não reinicia. Medido com o mesmo material: encerramento 82 s → 0,15 s
Melhorias
- GUI: a lista de dispositivos mostra sufixos de capacidade (⟨DoP 2x⟩/⟨DoP 1x⟩/⟨DoP não confirmado⟩/⟨só PCM⟩) e uma linha de «o que vai acontecer de fato»; uma entrada «marcar como decodificador DSD» permite marcar um dispositivo não confirmado. O Linux agora usa a mesma avaliação e a mesma lista
-dsd-capsdo Windows
Versão 6.74.15
Data de lançamento: 2026-09-14
DpdoPlayer
Corrigido
- fim do giro infinito no drain do ALSA após a reprodução (o processo nunca terminava); ao não conseguir escrever, sem repetições silenciosas infinitas (essa reprodução é encerrada e reportada); a ordem de bits DSD é decidida pelo conteúdo, não pela extensão
.iso
DpdoEngine
Corrigido
- os títulos de faixa/disco dos ISO SACD não ficam mais vazios; problemas de quadros DST são relatados uma vez com resumo final (sem descartes silenciosos nem spam por quadro); arquivos grandes usam offsets de 64 bits (não abandona o seek após 2 GB); uma verificação de memória física livre antes de alocar buffers; a GUI do motor mostra a causa das falhas e sonda a página Sobre de forma assíncrona
Versão 6.74.14
Data de lançamento: 2026-09-14
DpdoEngine
Corrigido
- três correções do leitor (leitura fora dos limites em WSD / base de 48 kHz e multicanal em SACD / comprimento de dados DSF); a causa real de nomes chineses/japoneses/coreanos não abrirem no Windows (a sonda de informações de mídia usava fopen estreito)
Melhorias
- a compilação cruzada para Windows agora inclui libFLAC / libmysofa / OpenCL (gravação FLAC, HRIR e aceleração por GPU iguais nas duas plataformas); guardas de valor unificadas em opções numéricas (não engole mais o nome do arquivo de saída); travamentos da pré-visualização da GUI do motor e encerramento de subprocessos corrigidos
Versão 6.74.13
Data de lançamento: 2026-09-13
DpdoEngine
Corrigido
--surroundnão tinha efeito algum; um argumento posicional opcional engolia o nome do arquivo de saída; falhas de--hrtf-loaderam silenciosas
Melhorias
- páginas dedicadas a áudio espacial, surround e tom (HRTF · surround · tom · DSRE)
Versão 6.74.12
Data de lançamento: 2026-09-13
DpdoEngine
Melhorias
- seletor de modulador com quatro opções e chave
--polyindependente; novo modo--reverse(DSD→PCM); as saídas DST e DXD são mutuamente exclusivas (combiná-las falha) - processamento em lote: pasta de saída + modelo de nomes + formato de saída; formulário de metadados; parâmetros por faixa; sinalizadores de relatório/análise;
--stopgain-alpha(atenuação na banda de rejeição); nova página Sobre/Diagnóstico
Versão 6.74.11
Data de lançamento: 2026-09-13
DpdoPlayer
Corrigido
- fechar ou encerrar à força a GUI faz o player realmente sair do modo exclusivo DSD do DAC (sem processo segurando o dispositivo)
Versão 6.74.10
Data de lançamento: 2026-09-12
DpdoPlayer
Corrigido
- nome da janela/aplicativo alinhado à GUI do motor — nome correto na barra de tarefas
Melhorias
- o controle de volume acompanha o volume do sistema (do endpoint) em vez de iniciar em 100
Versão 6.74.9
Data de lançamento: 2026-09-12
DpdoPlayer
Corrigido
-dop autovolta por padrão à saída nativa; o DoP passa a ser opt-in explícito- corrigida a causa raiz do crash do callback ASIO (autorreferência antes de pronta) + o DSD nativo realmente libera o fluxo exclusivo ao terminar; a troca de faixa envia stop primeiro para encerrar limpo (sem matar o processo)
Versão 6.74.8
Data de lançamento: 2026-09-12
DpdoPlayer
Corrigido
- Windows: corrigida a causa raiz dos caminhos com caracteres chinês/japonês/coreano; o DoP exclusivo passa a preferir o contêiner 24 bits packed (contêineres de 32 bits ficam mudos em certos DAC); o PCM exclusivo prefere exclusivo na mesma taxa e só cai para compartilhado com aviso
Melhorias
-volunificado como volume de hardware do dispositivo (removida a atenuação por software no host) — idêntico no Linux e WindowsVersão 6.74.7
Data de lançamento: 2026-09-12
DpdoPlayer
Corrigido
-volnão tinha efeito no Windows — os dois backends de saída apenas guardavam o valor sem aplicá-lo; agora ajusta o volume do dispositivo (DAC), e o host nunca aplica ganho por software ao fluxo DSD (sem perdas); sem-volo volume do dispositivo não é tocado
Melhorias
- Uma linha de diagnóstico somente leitura na inicialização (volume atual do endpoint) para conferir se
-volrealmente age
Versão 6.74.6
Data de lançamento: 2026-09-12
DpdoPackSACD
Corrigido
- O identificador de volume ISO 9660 agora segue a convenção dos discos reais (
DISC1) — antes eraSACD ISO; o rótulo UDF continua seguindo--album
Versão 6.74.5
Data de lançamento: 2026-09-12
Geral
Melhorias
- O número de versão do instalador agora vem da versão do código como fonte única — antes era fixo no script de empacotamento, então um instalador reempacotado carregava um número desatualizado
Versão 6.74.4
Data de lançamento: 2026-09-12
DpdoPlayer
Corrigido
- A posição de início em DSD (
-start/-end) só era alcançável descartando até o limite do bloco em DFF / WSD — desvio medido de cerca de 0,7 ms (30 amostras); agora DSF, DFF e WSD posicionam diretamente, com precisão de amostra - As primeiras 31 quadros faltavam após cada início ou salto — a conversão de DSD para PCM emitia amostras antes de o transitório do filtro estar preenchido, deixando uma lacuna de cerca de 0,7 ms no começo; agora os quadros pulados seguem o preenchimento real do filtro
- Os valores explícitos de
-doperam ignorados (Windows) —-dop native/-dop asio/-dop autoeram engolidos pelo ramo-dopsimples colocado à frente e rebaixados silenciosamente para DoP/WASAPI; agora os valores explícitos têm efeito
Melhorias
- Consulta de capacidades do driver ASIO 2.3 (Windows) — o player pergunta ao driver se ele pode emitir DSD nativo, quantas amostras tem seu buffer interno e se informa quedas, imprimindo uma linha de diagnóstico só quando o ASIO está realmente em uso; conforme o SDK do ASIO, o host não altera prioridades de thread (isso é atribuição do driver)
DpdoPackSACD
Corrigido
- Identificadores de volume UDF fora da norma escondiam o nome do disco de ferramentas de terceiros — com nome de álbum não ASCII o comprimento da string era gravado em caracteres (a norma exige bytes) e o descritor de volume primário ficava com o número 1 (a norma exige 0); agora igual aos discos reais, e o udftools / 7-Zip lê o nome corretamente
Geral
Melhorias
- Suíte de regressão ampliada para 30 verificações — incluindo "posição de início em DSD (DSF/DFF/WSD/48k)" e "conformidade do identificador de volume UDF", esta última julgada por implementação independente (udftools), e não pelo nosso próprio código
- Zero avisos de compilação no Linux e no Windows — os alvos do player também passam pelo portão de avisos
Versão 6.74.3
Data de lançamento: 2026-09-12
DpdoPackSACD
Corrigido
- As imagens SACD ISO geradas só podiam ser lidas por este programa — o cabeçalho do setor de áudio agora é gravado com os campos de bits do Scarlet Book (informação de quadro de 3 bytes, blocos de áudio fixados em 2016 bytes, pacotes de preenchimento adicionados); ferramentas de terceiros interpretam como um disco real
DpdoPlayer
Corrigido
- Ruído em escala máxima, ou nenhum som, ao reproduzir discos SACD reais — pacotes que não são de áudio dentro de cada setor eram emendados ao fluxo como áudio, e o caminho DSD para PCM invertia a ordem dos bits uma segunda vez; agora cada setor é validado pela identidade de 2048 bytes e só os pacotes de áudio são usados
- Ruído sobre a música em discos SACD comprimidos em DST — a ordem dos bits era invertida duas vezes; corrigido
-start/-enderam ignorados em silêncio em DSF comuns — sem alternativa quando o seek falhava, as opções não tinham efeito; agora funcionam- Recuo silencioso quando um dispositivo estava ocupado — o player agora informa o motivo da ocupação em vez de trocar de dispositivo em silêncio
-start/-endnão conseguiam apontar para uma faixa dentro de um CUE / SACD ISO — deslocamentos de início funcionam com sequências de faixas (faixa N), e o Windows fica alinhado ao Linux- Trocas repetidas de modo com vários dispositivos em modo diferencial / crossover — uma pré-verificação de DSD roda antes da reprodução para evitar alternâncias, e o crossover permanece no domínio PCM
Geral
Melhorias
- Contrato de opções alinhado entre plataformas (9 → 27 verificações) — opções desconhecidas não são mais atribuídas todas a "somente Windows", e qualquer diferença de forma entre as plataformas reprova a regressão na hora
Versão 6.74.2
Data de lançamento: 2026-09-12
DpdoPlayer
Corrigido
- A duração total ficava pulando — no Windows a duração total era recalculada a cada atualização (segundos reproduzidos × 100 ÷ porcentagem); dividir dois valores de fontes diferentes fazia o número pular. Agora a duração total vem do motor por faixa (muda apenas ao trocar de faixa) e o tempo reproduzido segue o Linux (duração × progresso).
Melhorias
- A regressão passa a 27 verificações — incluídos o protocolo de progresso com contrato de opções entre plataformas e o smoke sem tela da GUI: desvio de opções, GUI que não inicia ou traduções perdidas falham na hora.
Versão 6.74.1
Data de lançamento: 2026-09-12
DpdoPlayer
Novo
- Validação de licença — verifica
.DpdoPlayer.crtna inicialização (vinculado ao HWID da máquina); sem licença válida a reprodução é recusada e o HWID é exibido; licença revogada fica registrada localmente, portanto também é recusada sem conexão - Barra de status de licença na GUI — mostra de relance licenciado, não licenciado, revogado ou certificado de outra máquina; sem licença exibe o HWID com cópia em um clique
DpdoPackSACD
Corrigido
- O CUE não abria no Windows (nenhuma faixa utilizável) — nomes de arquivo em chinês e caminhos de rede UNC agora são abertos com caracteres largos; fins de linha CRLF não entram mais nos nomes
- Script de compilação obsoleto —
build.shagora encaminha para o CMake raiz em vez de manter sua própria lista de fontes, inevitavelmente obsoleta
Licenciamento
- As ferramentas de emissão suportam o produto player — o ToolID do certificado do player foi adicionado,
.DpdoPlayer.crtjá pode ser emitido
Geral
Corrigido
- Diferencial, BTL e crossover digital do Windows falhava em silêncio — a saída não é mais tomada pelo ASIO
- Semântica de linha de comando alinhada entre plataformas — 7 diferenças corrigidas (incluindo o critério DSD do Linux)
- Use-after-free concorrente em ponteiros do backend, acesso fora dos limites da thread de controle — primeiro passo das correções do modelo de threads
- Travamento na segunda reprodução, GUI esquecia a seleção de DAC — corrigido
- Progresso e duração por faixa do SACD ISO — semântica da contagem de amostras do leitor corrigida
- Contrato de blocos DST, blocos curtos fora dos limites, falso fim de arquivo — corrigido
Versão 6.74
Data de lançamento: 2026-09-12
- Versão de marcação (conteúdo integrado na 6.74.1)
Versão 6.73.1
Data de lançamento: 2026-09-09
DpdoPlayer
Novo
- A versão Windows agora produz som — backend WASAPI real com MinGW mais o front-end de reprodução libPlayer
Corrigido
- Caminhos não ANSI (coreano, japonês, DBCS) — linha de comando com caracteres largos, abertura de arquivos com caracteres largos, log em UTF-8
- Conversão de formato de saída — não há mais desalinhamento quando o formato de mixagem do WASAPI em modo compartilhado difere do formato do arquivo
- Limitação de reprodução — se a decodificação for muito mais rápida que o tempo real, a gravação segue o ritmo de consumo do dispositivo
- Corrida da thread principal — não consulta mais antes de a thread de reprodução iniciar, evitando falso fim
Aplicativos de desktop
- As duas GUIs Qt (DpdoAudioTools, DpdoPackSACD GUI) passam a integrar o instalador do Windows
- A antiga interface GTK3 é aposentada e o Qt assume integralmente; a linha de GUI do motor passa a se chamar DpdoAudioTools
Versão 6.73
Data de lançamento: 2026-09-09
Novo
- DpdoAudioTools (GUI de conversão Qt6) — edição de bandas de EQ com curva de resposta, presets de masterização e gerenciador de presets, pré-visualização de forma de onda e espectro, página de gravação (CD e DSD)
- DpdoPlayer GUI (interface de reprodução Qt6) — lista de reprodução, seleção de vários dispositivos e de modo, progresso e volume, log
Corrigido
- A cadeia de compilação das GUIs Qt liga libstdc++/libgcc dinamicamente; curva de EQ não aparecia — corrigido
Versão 6.72.1
Data de lançamento: 2026-09-07
DpdoPackSACD GUI
Novo
- Interface gráfica para o empacotador (Linux e compilação cruzada para Windows) — os artefatos vão direto para release/linux e release/windows
- Chinês e inglês conforme o idioma do sistema — traduções embutidas no executável
Corrigido
- Correções da auditoria de interface (sobreposição de layout, conteúdo oculto ao reduzir a janela)
Versão 6.72
Data de lançamento: 2026-09-07
- Versão de organização técnica: todos os avisos do compilador eliminados, código redundante e renomeações de diretórios, changelog e números de versão do site sincronizados; sem novidades visíveis
Versão 6.71
Data de lançamento: 2026-09-02
- Versão de fechamento de estabilidade: corrigida a corrida de ocupação do dispositivo; as demais funções foram publicadas na entrada 6.70.0
Versão 6.70.0
Data: 2026-09-01
DpdoEngine
Correções
- Preenchimento final do gravador DSF/DFF — na saída DSD16/32, os blocos residuais do final (silêncio 0x69) são preenchidos automaticamente e o cabeçalho alinhado por blocos, eliminando truncamentos e artefatos finais
DpdoPlayer
Novos recursos
- Reprodução de Korg WSD — reproduz arquivos
.wsdgerados pelo DpdoEngine 6.68.1+ (detecta a assinatura1bit, analisa as áreas General/DataSpec, saída nativa WSD em toda a cadeia) - Reprodução com decodificação em tempo real DSD → PCM (
-pcm [rate]) — reproduz DSD mesmo em DAC sem suporte nativo: Pdm2Pcm decodifica em tempo real para PCM; rate 0 = automático (DSD/64 ou DSD/32); combinado com-pcm-bits 16|24|32(padrão 24-bit + modelagem de ruído) melhora significativamente a audição - Suporte à leitura WSD (lado do mecanismo) — DSDReader/Pdm2Pcm agora decodificam DSF / DFF / WSD
Correções
- 12 correções de auditoria —
-devsem argumento não lê mais fora de argv; lógica de reprodução DoP DSD128+ corrigida (DSD64→Solution1, DSD128/256→Solution2); arquivos >256MB passam automaticamente para streaming (proteção OOM); bloqueio para a corrida entre threads do mixer; verificações de limites nos cabeçalhos DSF/DFF; removida a correspondência amplapkill -f alsa; o modo BTL agora avisa e volta para STANDARD; tempo limite de 5 s em espera ativa CoreAudio, etc. - Correção de intercalação/ordem de bits DoP DSD128 — a saída do Solution2 agora usa ordem intercalada ALSA (antes L/R invertidos); o Solution2 respeita
is_MSB(DFF não é mais invertido por engano); a detecção DSD64 usadsd_sampling_frequency_base(corrige o falso positivo de 3072000 Hz da família 48k) - Removidos todos os catch(...) silenciosos — os 11
catch(...)agora imprimeme.what(); erros não são mais engolidos - Consistência dos backends — AlsaBackend 24-bit unificado para S24_3LE, coincidindo com a saída do PlayerEngine; o fallback de redução de frequência WASAPI agora registra um aviso
Ferramentas
Novos recursos
- Modo de verificação deep-spectrum do thdn (
--deep) — comprimento FFT coerente + remoção de tom LSQ twofold + média de Welch + estatística do piso de ruído; aritmética de precisão DD, FFT de comprimento arbitrário de Bluestein, janela Blackman-Harris de 7 termos; validado de forma cruzada com offt_app.pyde referência (DSD64 2k–15k mediana −194,2 dB)
Versão 6.69.0
Data: 2026-08-31
DpdoEngine
Novos recursos
- Modelador de ruído de alta ordem SOS-EF (
--sos-ef) — topologia SOS em cascata + realimentação de erro exata, eliminando a explosão de coeficientes do NS13/NS15; ruído na banda de aproximadamente −143 dBFS (DSD64) na ordem 15, com suporte a qualquer ordem ímpar (3–31), projeto automático + estabilização pelo critério de Lee - Saída no formato WSD — suporte à saída direta de arquivos Korg WSD (
.wsd); cabeçalho fixo + área de texto + DSD entrelaçado por canal (MSB-first), compatível com AudioGate / ffmpeg / Audacity
Correções
- Normalização da profundidade de bits de leitura no wav/flac — bug de amplificação de material de 16 bits ×2 e de 24 bits ×256 (divisor errôneo na conversão s32), que afetava a qualidade de conversão de todas as entradas de 16/24 bits
- Auditoria de estabilidade CIFB — corrigido o risco do fallback 0.79, diagnóstico em tempo de compilação adicionado
Versão 6.68.1
Data: 2026-08-26
DpdoEngine
Novos recursos
- Saída no formato WSD — suporte à saída direta de arquivos Korg WSD (
.wsd); cabeçalho fixo + área de texto + DSD entrelaçado por canal (MSB-first), compatível com AudioGate / ffmpeg / Audacity - Modelador de ruído de alta ordem SOS-EF (
--sos-ef) — topologia SOS em cascata + realimentação de erro exata, eliminando a explosão de coeficientes do NS13/NS15; ruído na banda de aproximadamente -143 dBFS (DSD64) na ordem 15, com suporte a qualquer ordem ímpar (3–31), projeto automático + estabilização pelo critério de Lee
Correções
- Normalização de profundidade de bits na leitura wav/flac — bug de amplificação de material de 16 bits ×2 e de 24 bits ×256 (divisor incorreto na conversão s32), afetando a qualidade da conversão de todas as entradas de 16/24 bits
Versão 6.68.0
Data: 2026-08-07
DpdoEngine
Alterações
- Dpdo DSP — módulos DSP integrados unificados sob o nome Dpdo DSP; conteúdo sincronizado nos 10 idiomas
- Correção de linkagem estática — GetLogicalProcessorInformationEx agora linkado estaticamente; removido o aviso de cast na carga dinâmica
Site
- Site multilíngue (9 subdomínios de idioma) e melhorias de SEO/GEO
Versão 6.67.0
Data: 2026-08-04
DpdoEngine
Novos recursos
- Gravação em streaming (gravar e converter) — conversão em tempo real durante a gravação; nenhuma segunda passada de conversão necessária
- Precisão dupla completa de 64 bits — pipeline DSP atualizado para precisão dupla em toda a cadeia (nível industrial/audiófilo/competição)
Melhorias
- Auditoria profunda de código — três rodadas de auditoria corrigidas (detecção de estouro de buffer circular, defesa OOM, etc.)
- Gates de qualidade nível competição — builds -Wall -Wextra sem avisos
- Otimizações de desempenho — FIR/modelagem de ruído compartilham pool de threads (sem tempestades de criação), coeficientes transpostos alinhados 32B, detecção de picos serializada, caminho rápido SoftLimiter
- Alinhamento de parâmetros do DpdoAudioTools — totalmente alinhado com DpdoEngine
Versão 6.66.6
Data: 2026-08-04
DpdoEngine
Alterações
- Migração do parsing de argumentos para CLI11 — todos os parâmetros passados separadamente como
--param value; corrigidos 3 bugs de «engolir» argumentos (incl. --eq / --eq-precut) - Testes unitários da cadeia de efeitos — adicionados à linha de build
- Correção de ponteiro selvagem no GUI — botões de atalho do create_main_window empacotados antes da criação de vbox
Versão 6.66.0
Data: 2024-12-30
DpdoEngine
Novos recursos
- Modelagem de ruído IIR de ordem 11 — além de 3/5/7/9
- Renderização HRTF — áudio espacial 3D para fones
- Saída DXD — 352,8 kHz/24 bits
- Modelagem psicoacústica (
--psy) - Parâmetros adaptativos (
--adaptive) - Aceleração OpenCL
- Limitador de antecipação (
--lal) - Filtro anti-clipping (
--apo) - Expansor estéreo
- Presets de masterização — Classical/Pop/Jazz
- DSP Dpdo — graves, agudos, EQ, crossfeed
- 8 tipos de dither — TPDF, POW-R, Lipshitz…
- Normalização LUFS — ITU-R BS.1770
- ReplayGain
- Compressão DST
- Gravação DSD nativa
- Modo pipe (
--pipe) - Estatísticas (
--stats) - Espectrograma (
--spectrogram) - Conversão inversa (
--reverse) - Presets de usuário (
--preset-*) - Relatórios de análise (
--pdfrp,--noise-profiling) - Metadados — conjunto completo
- Correção auto-pan
- Equalizador
- Saturação harmônica — 5 tipos
Melhorias
- Série E em precisão dupla
- Multithreading otimizado
- Arquivos > 4 GB
- Estabilidade DST
Correções
- Estabilidade nos limites do shaper
- Alinhamento de metadados DFF
- Enumeração de dispositivos OpenCL
DpdoPackSACD
- Criação SACD ISO completa
- Metadados: álbum, artista, capa, gênero, ano, gravadora, compositor, regente
- Importação CUE
- Dpdo DSD Disc (DVD-R/RW)
- Código de barras (EAN/UPC) e ISRC
- SACD multicanal
DpdoPlayer
- Reprodução DSD nativa (DSF/DFF)
- Seleção de dispositivo (
-dev) - Distribuição de canais (
-layout) - Modos: standard, differential, BTL
- DoP: auto/force/native
- Volume (
-vol) - Streaming de baixa latência (
-stream) - Entrada pipe
Problemas conhecidos
- IIR de ordem 11 lento em CPUs antigas — OpenCL recomendado
- Arquivos DST a descomprimir em DSF em alguns players de terceiros
- macOS: configuração manual do nome para alguns USB DAC