O que o PC Speaker é capaz

Conhecido agora como o "alto-falante do sistema" ou simplesmente "tweeter", o PC Speaker nasceu em 1981 com o primeiro computador pessoal da IBM . Herdeiro de várias gerações de grandes computadores para negócios sérios, desde o nascimento ele pretendia apenas transmitir os sinais mais simples do sistema e não conseguiu provar adequadamente a pontuação dos programas de entretenimento que dominam o mercado doméstico. Fortemente inferior aos chips de som de sistemas especializados de jogos, desaparecendo à sombra das placas de som avançadas que logo surgiram, foi apoiado por muitos desenvolvedores no princípio residual - como uma opção que produz pelo menos algum som na ausência de alternativas melhores. Com raras exceções, foram reproduzidas pelo alto-falante versões simplificadas e completamente unificadas de melodias, compostas originalmente para dispositivos muito mais poderosos.

O álbum de música System Beeps foi escrito para PC Speaker usando a mesma técnica básica de jogos antigos e, de acordo com a fórmula típica da criatividade retro-computador demoscene, pretende revelar por muitos anos o potencial inexplorado deste dispositivo de som mais simples. Na verdade, você pode ouvir o resultado e opinar sobre o sucesso deste evento no Bandcamp ou no vídeo abaixo, e o texto adicional é mais aprofundado no dispositivo do palestrante, no histórico do projeto e nas maneiras de obter um resultado semelhante para quem deseja saber mais.


Alto-falante do PC


Tecnicamente, um alto-falante é um pequeno alto-falante ou emissor piezo, diretamente controlado por um dos canais do temporizador do sistema 8253, dividindo a frequência do relógio de entrada de 1,19 MHz pelo valor de 16 bits definido pelo programa. Para obter som, é utilizado o modo de contagem, no qual o temporizador produz um meandro, ou seja, uma onda quadrada. Este é um pequeno, mas ainda um passo à frente, comparado ao som de computadores anteriores ou econômicos, como Apple II e ZX Spectrum , onde o alto-falante era conectado simplesmente a uma porta de E / S de bit único e o processador precisava lidar com a geração de som. O uso do canal do timer permite que o processador selecione simplesmente o tom desejado e continue fazendo outras coisas. No entanto, o processador pode sintetizar programaticamente sons de várias naturezas e polifonia verdadeira. O alto-falante do PC não pode parecer mais alto ou silencioso, mais suave ou mais brilhante. Tudo o que ele é capaz sem a intervenção constante do processador é chiar ou não chiar com um tom dado com o mesmo timbre inalterado.

Ao reproduzir efeitos sonoros ou música, o processador atualiza o estado do alto-falante - liga e desliga o som e altera seu tom - em alguns intervalos. Normalmente, essas alterações ocorrem na interrupção do canal zero do mesmo timer do sistema. Isso é padrão em 18,2 Hz, mas os jogos geralmente alteram esse valor para cima, na faixa de 30 a 200 Hz, dependendo do jogo.

A faixa efetiva de frequências disponíveis para o alto-falante é de aproximadamente 100..2000 hertz. Embora outras frequências possam ser configuradas, vários problemas começam fora do intervalo especificado. Em primeiro lugar, os próprios alto-falantes usados ​​não reproduzem bem essas frequências. Em segundo lugar, acima de 2000 Hz, começa um desvio perceptível de possíveis frequências em relação às frequências das notas e, quando a frequência do som cai abaixo da frequência da atualização do estado do alto-falante, as atualizações começam a funcionar mais tarde - o timer não atualiza o divisor de frequência até que o período de contagem com o divisor anterior termine .

Polifonia de uma voz


Como o alto-falante é capaz de reproduzir apenas um canal de som ou "voz", ou seja, apenas uma frequência de cada vez, e isso é muito pequeno para fins musicais, programadores e autores de música descobriram maneiras de obter polifonia real ou imaginária. Três abordagens principais podem ser distinguidas.

Na primeira abordagem, o alto-falante gera som como de costume, o music player atualiza a frequência do som pelo timer com uma certa frequência e quase não carrega o processador. Mas, ao mesmo tempo, dois ou três canais virtuais com partes diferentes são reproduzidos simultaneamente, e os valores da frequência e do som ativados / desativados são alternadamente transmitidos deles para o alto-falante real a cada atualização. Por exemplo, com dois canais na primeira atualização, o som é emitido pelo primeiro canal virtual e no próximo - pelo segundo. A polifonia é implementada de maneira semelhante nos jogos do Lotus III e do Xenon 2 . Como muitas vezes um canal virtual toca uma parte do baixo e outra melodia, e essas partes têm pausas, acontece alternando notas distantes ou notas alternadas e silêncio, o que leva a estalos constantes e desagradáveis ​​para o ouvido. Você pode reduzi-lo recusando pausas em partes, como no Golden Axe , que piora significativamente os meios expressivos (pausas na música são tão importantes quanto as notas) ou desativando a alternância de canal quando há uma pausa em um deles, que fornece um som mais nítido de notas únicas, como no Stunts .

A segunda abordagem pode ser observada nos jogos Lucas Art , nos quais tradicionalmente é dada mais atenção à qualidade das versões dos alto-falantes do acompanhamento musical. Como regra geral, eles soam principalmente uma melodia de uma voz com inserções raras de baixo e elementos rítmicos espaçados no tempo, interrompidos por sons muito curtos e bruscos da parte do segundo canal auxiliar, por exemplo, arpejo ou bateria. Em outras palavras, os canais não se alternam constantemente, mas apenas em momentos curtos, quando a segunda voz abafa a primeira. Exemplos podem ser ouvidos nos jogos Monkey Island , Loom , Indiana Jones e, talvez, a versão mais avançada do arranjo em Zak McKracken e no Alien Mindbenders . Isso cria uma forma mais convincente e agradável para a ilusão auditiva da polifonia, embora seja bastante limitada.

Na terceira abordagem, o alto-falante não gera som por si só, mas é usado como um codificador digital-analógico através do qual o som ou as digitalizações programadas pelo processador são reproduzidas. Esse processo requer recursos computacionais significativos, carregando quase completamente o 8086 normal, de modo que o método ganhou popularidade com a distribuição do 80386. A qualidade do som reproduzido dessa maneira é baixa e objetiva inferior até mesmo ao Covox caseiro mais simples de um punhado de resistores, mas naquela época era uma conquista impressionante, por um lado. dos quais, RealSound , até uma patente foi registrada e a tecnologia foi sublicenciada.

A transformação do alto-falante em um DAC pode ser feita simplesmente ligando / desligando o som com uma conta proibida, que fornece o DAC de 1 bit mais simples, ou usando o canal de áudio do temporizador para gerar pulsos curtos de diferentes comprimentos em uma frequência definida pelo temporizador do sistema (PWM), que o transforma em melhor DAC de 6 bits. A primeira opção pode ser ouvida na música multicanal nos jogos Fantasy World Dizzy e Hard Drivin ' , a segunda é mais frequentemente usada para tocar música baseada em amostras, por exemplo, no Pinball Dreams . Também foi usado em projetos divertidos do passado, como TEMU e VSB - emuladores de software do chip de som de três canais Tandy e a parte digital do Sound Blaster , permitindo que, na ausência desses dispositivos, o som pretendido seja emitido pelo alto-falante (requer 386SX e superior).

Álbum e história da criação


Inicialmente, eu não tinha um plano para fazer um álbum de música. Houve uma busca criativa por uma imagem audiovisual para um projeto de jogo com estilo para jogos pseudográficos da era XT, e para a imagem máxima autêntica, surgiu a idéia de escrever não apenas estilização, mas a música realmente possível no PC Speaker , a seguinte fórmula musical clássica de jogos de 8 bits - faixas em loop com duração de aproximadamente minutos. Não queria usar síntese digital de som ou software, pois o resultado dificilmente corresponderia ao espírito da época e não teria um caráter especial. Melodias de uma voz têm sido o assunto de meu interesse desde a época do ZX Spectrum e meu conhecimento dos jogos Ping Pong , Stardust , Score 3020 . E como havia esse caso, eu queria tentar escrever apenas uma música, mas obter um resultado incomum devido ao arranjo - um desafio atraente para o compositor.

O trabalho com música é ainda mais importante do que o jogo. No processo de queima da idéia, o plug- in VSTi PCSPE foi desenvolvido e publicado, vários esboços de melodias e versões de ensaios de faixas antigas foram feitos para desenvolver a técnica de trabalhar com arranjos de uma só voz e encontrar soluções comuns para o som. Mais tarde, ficou claro que o resultado ainda não corresponde à visão do projeto do jogo, e o projeto em si foi gradualmente para a mesa. Mas o material musical permaneceu, e o potencial ouvido sugeriu que seria bom organizá-lo rapidamente como uma pequena coleção separada de músicas para o MS-DOS , pelo menos como uma demonstração dos recursos do plug-in.

Não deu certo rapidamente, o assunto se arrastou, várias faixas cresceram em várias dezenas, uma coleção de melodias aleatórias evoluiu para um álbum temático, os planos mudaram, os prazos mudaram. Como resultado, a conclusão da ideia levou um ano e meio, de julho de 2017 a janeiro de 2019. Durante esse tempo, consegui criar o AONDEMO e escrever uma faixa para ele (o ferro de som da AON quase repete o PC Speaker ), além de participar do desenvolvimento de códigos de som e utilitários para o jogo Planet X3 , que também incluiu a primeira faixa escrita para a coleção como faixa-título.

A conclusão do projeto era constantemente adiada, mais e mais faixas eram adicionadas a ele até que todas as idéias e esboços iniciais estivessem completamente esgotados. Na forma final, o álbum incluiu 23 faixas, divididas em três grupos.

O lado A contém 16 faixas principais, mais ou menos conectadas por um tema e som comuns. Na maior parte, eles foram compostos especificamente para o álbum, a partir do zero ou com base em material antigo que funcionou bem para um arranjo de uma voz. O princípio da seleção nesse grupo foi original e teve mais sucesso, como me pareceu, o arranjo nas restrições selecionadas, em comparação com outras faixas.

O lado B incluiu 6 faixas, supostamente menos bem-sucedidas, que eram versões cover dos meus trabalhos antigos para outras plataformas, ou eram baseadas em material antigo mais ou menos elaborado, que inicialmente assumia formatos completamente diferentes - do módulo XM à música pop-punk. A faixa, já iluminada no Planeta X3 , também foi incluída aqui.

O lado X incluiu uma faixa da AONDEMO com modificações mínimas. Essa separação é feita como uma piada de humor.

O álbum em si é feito na forma de um programa de player para MS-DOS 3.3 e superior, que será executado no IBM PC XT com pelo menos 256 KB de RAM e um adaptador de vídeo CGA . Como a placa CGA original está sujeita à chamada "neve", um artefato visual ao tentar atualizar a tela enquanto o feixe se move ao longo da varredura, o programa é apresentado em duas versões - sbx.com sem o efeito de um analisador de espectro, mas também sem neve e sb.com com ela efeito Para uma renderização mais suave do analisador, é desejável ter um processador mais poderoso. Obviamente, computadores mais modernos também funcionarão, por exemplo, com o download do FreeDOS do USB , bem como emular o DosBox .

Componente musical


O álbum não usa truques de software, como sintetizar som pelo processador e usar o alto-falante como DAC. A tecnologia é a mais tradicional - onda quadrada estritamente monofônica gerada pelo timer do sistema, com atualização do pitch com uma frequência relativamente grande, mas não fora da frequência normal de 120 Hz, que é bastante capaz do XT clássico e deixa tempo de processador suficiente para executar outras tarefas além de tocar música.

Todo o segredo está em uma abordagem especial para escrever melodias e arranjos. Aqui, a experiência anterior em vários campos relacionados ajudou muito - a experiência de escrever uma melodia clássica para chips de som do passado, na qual você geralmente precisa combinar várias partes em um canal alternando e sobrepondo métodos; experiência no desenvolvimento de mecanismos de som para jogos em computadores antigos, onde efeitos sonoros tomam emprestado canais da música, abafando-a; bem como a experiência de compor músicas originais para a unidade. Como se viu mais tarde, de fato, desenvolvi a abordagem da música de alto-falante usada por Lucas Art , embora na época em que comecei, ouvisse apenas o tema de Monkey Island .

Um dos problemas interessantes que precisavam ser resolvidos quase no início do trabalho foram os instrumentos de bateria e percussão. No chiptune, eles geralmente são feitos usando um canal de ruído, mas não há possibilidade de perda de ruído no alto-falante a uma taxa de atualização da ordem de dezenas a centenas de hertz.

O bumbo e o timbre funcionam bem mesmo sem ruído, na forma de simples deslizamentos para baixo em diferentes velocidades e durações - o chute é mais rápido e mais curto a partir de uma nota baixa, os timbres são mais lentos e mais autênticos nas notas mais altas. Mas o principal instrumento de percussão, o pequeno tambor (de trabalho), na forma de um simples slide, parece pouco convincente e não corta a mistura carregada com outros elementos. Aqui, o truque funcionou, que é freqüentemente encontrado na simulação do tarola no SID e no AY-3-8910 - mudo de curto prazo no início do slide, criando o efeito de uma fração. Isso torna o som bem diferente de outros instrumentos de percussão e também melhora a visibilidade do tambor na mixagem. Isso se manifesta especialmente em conjunto com as ressonâncias características de um falante real.

Devido à falta de barulho, tive que abandonar qualquer inimigo. Para um som mais variado e interessante, os instrumentos de bateria diferem entre as faixas. Em algum lugar eles são mais longos, em algum lugar abrupto, soam mais alto ou mais baixo, às vezes elementos adicionais estão presentes.

No processo de trabalhar com música, foram desenvolvidas técnicas universais adequadas para escrever arranjos monofônicos para qualquer dispositivo monofônico que não possua controle de volume, seja um cartão de música, uma máquina CNC ou uma bobina de Tesla. Entre eles estão:

  • Uma característica da audição humana quando um som supostamente mais alto mascara sons mais silenciosos. Por exemplo, uma batida de tambor ou uma nota de uma melodia central - eles distraem a atenção e tornam imperceptível o desaparecimento de outras partes a curto prazo.
  • Um arranjo em que há pausas suficientes entre as notas. Isto é especialmente verdade nas partes introdutórias. Nesses momentos, os componentes são claramente audíveis separadamente e têm a oportunidade de serem lembrados, de modo que, durante o desenvolvimento da pista, quando o arranjo se torna mais denso, o cérebro continua a reconhecer a presença desses elementos, mesmo que eles se tornem quase inaudíveis na mistura.
  • Composição de melodias nas quais uma parte significativa das notas recai sobre uma parcela fraca, bem como o deslocamento do início das notas em relação à grade do medidor. Isso permite que as notas da melodia façam pausas no acompanhamento, reduzindo assim a sobreposição das partes. Em particular, isso permite que você ganhe um pouco de espaço para as notas das partes graves, que são importantes para obter uma participação forte. Isso dá às melodias uma forte síncope, cria uma sensação de desconforto, o que é benéfico para o seu interesse.
  • Arpejos comuns de sintonia com chips em velocidades diferentes, incluindo arpejos muito rápidos de duas notas a 120 Hz. Variações na velocidade permitem criar elementos de arranjo com sons diferentes, o que ajuda muito na ausência de meios expressivos de timbre - afinal, todas as notas têm o mesmo som de onda quadrada.
  • Pausas repetidas em sons estendidos, por exemplo, em um instrumento solo, no qual outros canais virtuais são ouvidos. Como regra, esses instrumentos começam com um som contínuo, depois aparecem pausas e sua frequência e duração aumentam gradualmente, o que é uma espécie de imitação da queda de volume.
  • Variações na duração das notas, incluindo notas muito curtas, para simular uma diferença de volume. É usado para enfatizar a ondulação nas partes graves, onde as notas que caem em uma batida forte têm uma duração mais longa e também para criar um efeito de eco quando uma parte com notas da mesma duração ecoa por si mesma, mas com notas de duração significativamente mais curta.



Componente técnico


Outro ponto chave no trabalho do álbum é o uso de ferramentas modernas que o tornam muito mais confortável e eficaz. Este é um estúdio digital moderno Reaper, que me é familiar (um programa semelhante ao FL Studio , Cubase e similares) e um conjunto de plug-ins VST desenvolvidos por você.



Essa abordagem é experimental, completamente não convencional para a criação de um "verdadeiro chiptune", ou seja, música destinada a ser tocada em um dispositivo real - geralmente para esse fim, são usados ​​programas especiais de rastreadores ou preenchimento manual de dados musicais. Obviamente, o mesmo resultado pode ser obtido por meios mais clássicos (o que foi feito para o Planeta X3 ), mas isso requer mais esforço e distração regular do processo criativo para pontos puramente técnicos.


Especialmente para criar música de alto-falante, o plug-in VSTi PCSPE foi desenvolvido. Ele emula o hardware do PC Speaker , permitindo ouvir imediatamente um resultado próximo ao real, e também implementa um sistema de instrumentos de sintonia de chip, semelhantes aos usados ​​nos rastreadores para vários chips de som. (), , MML ( PLAY BASIC ). , , , .

MIDI - . . ( ) . , 2, — 6, 8 — , , . .

O plugin possui uma função de exportação para uso posterior da música em programas reais. O princípio do log é usado: o plug-in sempre sabe qual frequência é emitida para o alto-falante emulado a cada momento e quanto tempo passa entre suas alterações. Quando você ativa a função de exportação e reproduz a faixa do início ao fim, esses dados são gravados em tempo real em um arquivo do formato selecionado. Além disso, para reproduzir música, basta coletar esses dados de um arquivo e enviá-los para um alto-falante real, com os atrasos necessários.

Arpejos típicos de sintonia de chip podem ser criados no PCSPE , , . . DAW .

VSTiChipArp , . MIDI - MIDI -, — MIDI - . , , - . , . , , .

PCSPE DosBox , . , , . , , .. «». NadIR — , .

Materiais


CC-BY , , Reaper. , , , . :

-
Reaper
PCSPE
ChipArp

Source: https://habr.com/ru/post/pt438448/


All Articles