“Algo tão errado nunca pareceu tão certo.”
The Kiss of Shame, lançado na Audio Engineering Society Convention 2014 em Los Angeles, foi um plugin DAW pioneiro que aproveitou princípios comerciais de design UX/UI para moldar seus algoritmos de emulação de fita magnética + circuitos.
Para se diferenciar no competitivo mercado de plug-ins de áudio profissional, The Kiss of Shame introduziu recursos inovadores, incluindo uma GUI interativa pronta para multitoque e simulação de degradação de fita analógica para efeitos de áudio distintos.
O Kiss of Shame foi o primeiro (e talvez o único) plug-in de emulação de fita / circuito analógico do mundo que modela realisticamente os efeitos da instabilidade de partículas magnéticas, perda de lubrificante, deformação do substrato, deriva, vibração de raspagem, impressão e expansão / contração da bobina em um conjunto de ferramentas de processamento FX para design de som e produção musical.
Foi também o primeiro a aproveitar o aprendizado de máquina para dar conta das vastas não-linearidades inerentes à fita magnética e aos circuitos analógicos. Por último, mas não menos importante, é a única emulação de fita analógica que possui bobinas totalmente interativas que suportam toque e podem gravar automação de flange em tempo real, semelhante a um deck de fita analógico real.
Assista a um breve vídeo de demonstração
The Kiss of Shame não foi completamente concluído e nunca foi lançado. O código-fonte foi gentilmente doado à comunidade de código aberto por seu proprietário em 2024.
O objetivo deste projeto de código aberto é:
NOTA: O código-fonte doado não contém todos os recursos da descrição. Notavelmente, há apenas um tipo de fita e um ambiente (Furacão Sandy), e a função de impressão está faltando. Em sua forma atual, o plug-in só funciona bem com uma taxa de amostragem de 44.100 Hz. Dito isto, ainda é um plug-in divertido com uma interface de usuário interessante e há muito o que aprender com o código-fonte!
OBSERVAÇÃO:
‼️ Este é atualmente um trabalho em andamento. Pode haver problemas com o plug-in. Use por sua conta e risco!‼️
A versão Mac do plug-in é assinada e autenticada.
Se a versão AU do plug-in não estiver visível em sua DAW, abra Applications/Utilities/Terminal . Digite o seguinte e pressione a tecla Enter:
killall -9 AudioComponentRegistrar
Em seguida, reinicie sua DAW. Agora o plug-in deve estar visível. Caso contrário, reinicie o seu computador.
Escolha entre dois tipos distintos de fita:
S-111 – Um formato de bobina superior, popular entre os anos 50 e 70, foi a fita de referência preferida de muitos engenheiros. The Kiss of Shame apresenta sua primeira emulação digital, trazendo este formato lendário para o mundo digital.
A-456 – Este formato clássico de alto rendimento e baixo ruído é um recurso de gravação usado em inúmeras produções. Embora existam muitas emulações de software, nenhuma delas as recria dessa maneira. Táticas exclusivas de recreação digital foram empregadas para capturar sua essência.
NOTA: O botão de seleção do tipo de fita atualmente não tem efeito.
De resistido a meteorológico :
Idade - Este botão permite ao usuário legislar a quantidade de tempo hipotético que o tipo de fita selecionado foi submetido ao "Ambiente" escolhido para manipular a gravidade dos efeitos correspondentes.
Ambiente – Escolha entre diversas condições de armazenamento simuladas para infligir as ramificações sonoras de fatores como instabilidade de partículas magnéticas, oxidação, perda de lubrificante, expansão/contração do pacote de fita, "síndrome do vinagre" e muito mais no material de origem. Os usuários podem até escolher a configuração “Furacão Sandy” para acessar o processamento modelado a partir de fita imersa e depois recuperada das águas da enchente da tempestade.
NOTA: Somente o ambiente Hurricane Sandy é implementado.
Um obstáculo do mundo real:
Shame – The Kiss of Shame recria todo o espectro desses fatores como Drift, Wow, Flutter e Scrape-Flutter, que o usuário pode transmitir com o botão central. Ele pode levar o sinal da sua fonte de levemente colorido a totalmente mutilado.
Print-Through – Também conhecida como “bleed-through”, esta emulação captura as flutuações mecânicas de velocidade presentes em gravações analógicas. Embora tenham representado desafios para engenheiros no passado, eles se tornaram uma marca registrada dos discos clássicos.
NOTA: O recurso de impressão não está implementado.
Estenda a mão e toque na fita:
The Kiss of Shame é o primeiro plug-in de fita a apresentar rolos animados e interativos que podem ser manipulados com um simples clique ou toque. Isso permite que os usuários acessem flanges de fita analógica autêntica em tempo real, sem a necessidade de dois decks de fita físicos e em uma fração do tempo. Todos os parâmetros, incluindo os movimentos dos rolos, são totalmente automatizáveis e, para otimização do espaço da tela, os rolos são dobráveis e totalmente personalizáveis.
DICA: Para flangear, arraste nas bobinas. Para recolher os rolos, clique duas vezes em qualquer lugar da IU.
Breves instruções:
Atualmente testado apenas com:
Para configurar compilações do CMake, certifique-se de ter o CMake e o Ninja instalados. O Ninja é configurado para tempos de compilação rápidos por padrão, mas se você não quiser usá-lo, omita '-G Ninja' do script de configuração abaixo e especifique manualmente o número de trabalhos. Verifique a documentação do CMake sobre como fazer isso
Configure seu projeto (busca o JUCE, configura o projeto JUCE):
cmake -B "build" -G Ninja
Construa seu projeto:
cmake --build "build" --config Release --target all --
Substitua '--config Release' por '--config Debug' para compilações de depuração.
As compilações são copiadas automaticamente em pastas sensíveis para sua plataforma de destino (por exemplo: C:Program Files (x86)Common Files/VST3/
para Windows), facilitando a abertura deste plugin em seu DAW durante o desenvolvimento. As compilações também estarão localizadas em build/TheKissOfShame_artefacts/(Release or Debug)
.
A compilação AAX não está habilitada, mas pode ser habilitada adicionando AAX
à definição FORMATS
em juce_add_plugin
em /CMakeLists.txt
. Para compilar para AAX, você precisa especificar o local do SDK AAX com juce_set_aax_sdk_path(" ... ")
. Isso ainda não foi testado.
Adicionei comentários ao código para explicar o que ele faz, mas para uma explicação completa, confira minha postagem no blog.
O código original foi escrito usando JUCE 3.1. Exigia que o usuário copiasse uma pasta com arquivos de imagem e som para /Users/Shared/KissOfShame
. Os parâmetros não foram expostos ao DAW e seriam redefinidos quando o editor fosse reaberto.
As seguintes alterações foram feitas neste repositório:
Bugs que encontrei (ou introduzi hehe):
beginGesture
ser chamado duas vezes. Não é um problema enorme, mas também não é ótimo.Outras coisas que podem/devem ser melhoradas no código (voluntários são bem-vindos!):
prepareToPlay()
e reset()
às classes DSP. O método de redefinição deve limpar o estado antigo.audioGraphProcessingBuffer = audioBuffer
, que pode alocar (pelo menos na primeira vez).Envelope
e EnvelopeDips
) podem acompanhar o ponto anterior e o próximo, para que não precisemos percorrer todos os pontos a cada intervalo de tempo.audioProcessor.curPositionInfo
usa uma API obsoleta.rand()
e srand()
. Substitua por juce::Random
.Talvez:
targetDepth = depth * depth * 1000.0f
.)Copyright (C) 2014-2015 Eros Marcello
Desenvolvedores originais:
Eros Marcello — Fundador, Arquiteto Chefe de Produto
Brian Hansen — Engenharia DSP/Desenvolvimento de Algoritmos
Yannick Bonnefoy – GUI
Atualizações e melhorias feitas por Matthijs Hollemans e colaboradores.
Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation, seja a versão 3 da Licença ou (a seu critério) qualquer versão posterior.
Parte do código neste repositório (a classe Granulate
) foi retirada do The Synthesis ToolKit in C++ (STK) por Perry R. Cook e Gary P. Scavone.
JUCE tem direitos autorais © Raw Material Software.
VST® é uma marca comercial da Steinberg Media Technologies GmbH, registrada na Europa e em outros países.