• Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   13-02-2016

      Prezados membros do Clube do Hardware,

      Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:
        Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas ao formulário abaixo:    Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
Entre para seguir isso  
Seguidores 0
malucocarneiro

Como fazer pra sair som numa porta paralela?

13 posts neste tópico

Olá galera!! Alguem poderia me ajudar a fazer um programinha que faça sair som na porta paralela do pc? Eu preciso fazer o som ficar com 8 bits e sair pela porta!! Tb uma configuração para fazer um conversor digital/analogico e depois liga-lo a um amplificador e um alto-falante!!

Por favor, deem dicas de pelo menos onde eu posso encontrar algo que explique isto!!

Muito obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra sair som, basta espetar um DAC0808 + um amplificadorzinho na porta paralela...

Agora, a parte de software é + complicada... talvez você encontre drivers prontos, alguma coisa parecida..

tente no google "parallel port" DAC dve achar bastante coisa...

tenta aqui também www.beyondlogic.org

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhada aqui:

Rogercom.com

Já criei um sonzinho usando rede R2R, mas pode usar o DAC800. Um bom amplificador legal (2W) pode ser feito usando o TBA820M, facilmente encontrado.

Pegue o datasheet em Mouser.com!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que eu tenho que "criar" um programa! Tenho que mostrar o código fonte e o processo que eu fiz até a porta paralela!! Se alguem sabe como fazer esse programinha (o mais simples possivel) eu agradeço, se não valeu tb!!!

Brigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se souber usar o VB dá pra fazer assim:

Terá q peguar o arquivo Win95io.dll na net se não tiver;

No VB, declare a dll como vbOut;

Então mande abrir o arquivo wav, no VB (em modo binário fica mais rápido);

Enquanto abre o arquivo faça o VB ir enviando o bit através do próprio loop do arquivo. :zoio:

+- Assim:

Open Arquivo For Binary As #1

While Not EOF(1)

' DoEvents

Get #1, , som

vbOut 888, som

Wend

Close #1

Use o DoEvents para impedir q o pc "trave" enquanto roda o loop, mas fica mais lento a 'rotação' da música. Pode usar LOF(1) ao EOF(1)..

Agora é só ir ajustando B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

0LA, eu andei analizando o código e estive pensando......

no arquivo wav, existem dados que fazem parte das propriedades da musica, tipo kbps,Hz etc...

se o programinha sair enviando td q encontra pela frente , o som nun vai sai errado???

eu programo em vb ha uns 3, 4 anos... e me interessei pelo assunto

você poderia me dar + detalhes pois sempre tive o interesse de faze

um programinha q sai som pela porta paralela

t+

:D

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente, essa informações ficam no início do arquivo, mas são poucos bytes. O que pode ocorrer é um 'toc' inicio da música.

Lembrando que o arquivo deve ser mono de 8 bits. Mas até que é um sonzinho legal. Seria interessante programar em C porque o VB é um pouco lento, mas não sei.. Consegui tocar arquivos de 44Khz :D muito bom.

O problema do código fica em como enviar os dados para o porta-paralela no tempo certo, pois dependendo da velocidade ela fica mais rapida e mais lenta. Usei um looping como atraso, mais é um método bem gambiarra.. hehe.

Se alguém conseguir algum avanço me dê um toque!! :rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

É.. Parece que é mais difícil que eu pensei!!! Não conheço nada de VB, até ja um pouquinho de pascal e matlab somente!!

"O problema do código fica em como enviar os dados para o porta-paralela no tempo certo"---> como eu faço pra controlar esse tempo??

Muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim

(MAS TEM QUE SER EM DOS PURO, HEIM!!!)

Se tiver dificuldades com Pascal, sugiro usar C, não é tão complicado assim...

1 - grave um arquivo em WAV - 8 bits - 11025kHz - Mono (a freqüência pode mudar, mas assim é mais fácil. SEMPRE MONO e SEMPRE 8 bits)

2 - faça um looping fazendo alguma coisa demorada (colculando um cosseno) dez mil vezes e meça o tempo que demorou.

3 - A partir desse tempo calcule um atraso para colocar no laço principal do programa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postado Originalmente por tabgal@22 nov 2004, 10:39

Assim

(MAS TEM QUE SER EM DOS PURO, HEIM!!!)

Se tiver dificuldades com Pascal, sugiro usar C, não é tão complicado assim...

1 - grave um arquivo em WAV - 8 bits - 11025kHz - Mono (a freqüência pode mudar, mas assim é mais fácil. SEMPRE MONO e SEMPRE 8 bits)

2 - faça um looping fazendo alguma coisa demorada (colculando um cosseno) dez mil vezes e meça o tempo que demorou.

3 - A partir desse tempo calcule um atraso  para colocar no laço principal do programa

você sabe onde eu encontro alguma coisa que explique algo sobre esse assunto usando a linguagem c??

Valeu!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Suponho que em C seja mais complicado por ser de nível mais alto, porém o desempenho é melhor. Também a interface gráfica é pior para construir.

Eu fiz um projeto para a facul e não é difícil, só parece.

No VB pois a dll win95io faz quase tudo. Ela pega um byte (8 bits) e manda para a parelela. você deve pegar um byte do arquivo e manda para a paralela pela dll.

Para você fazer um atraso eu uso um looping simples, como comentado, porém deve haver um jeito mais apropriado :unsure: , não sei.

Uma visão geral dum arquivo wave:

Quando alguém grava um wav, um ADC (Analogic-Digital Conversor) irá pegar a intensidade do som a cada intevalo de tempo muito pequeno e transformar num número de 0 a 255 (no caso de som 8 bits) proporcional a esta intensidade.

Esse número é gravado em seqüência num arquivo (o .wav) mas na forma de caracter, ou seja, o arquivo não contém o número mas sim o caracter equivalente na tabela ASCII. Por exemplo, 64 equivale ao 'a', 65 ao 'b'...

O que o programa que tocará tem que fazer é pegar esse caracter, transformar de volta ao valor original (0-255) e mandar para a porta paralela (PP), ou seja o caminho inverso.

Para enviar este valor para a PP você deve transformar em binário antes. Mas a dll win95io.dll já faz isso.

Dependendo do estado dos bits na PP você terá uma tensão total, obtida através de um DAC (Digital-Anologic Conversor) que pode ser uma rede R2R ou mesmo o CI DAC0800, que após amplificada e ligado ao um alto-falante é um som!

Há livros que discorrem este assunto de forma excelente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiquei interessado na parada também, estava querendo fazer um projeto com um HD e microcontrolador para ler MP3 gravada nele. :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar agora
Entre para seguir isso  
Seguidores 0