ribeiro220
-
Posts
16 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por ribeiro220
-
-
14 horas atrás, Guri Vonnilmam disse:
Não é bem assim Ribeiro. Não se desvalorize! O conceito prático sobre sinteze sonora é algo complexo e demanda muita dedicação de fato. Os conceitos envolvidos são realmente complexos.
Imagine uma base de tempo padrão, fixa à 22050hz. Essa base de tempo poderia estar num timer do pic18 por exemplo, sendo ativada na interrupção. Assim a cada 1÷22050 lhe dará um time total entre uma interrupção e outra uns 45us. Dentro desse time você inclui seus osciladores quantos der dentro desse time, lembre de deixar uma folga para o retorno e execução do main.
Eu fiz um bateria que toca 8 instrumentos simultaneamente com resolução de 16bits e sample de 22050hz o som é HI-FI. ...em um pic18f4520...como a memoria era pouca, reajustei as amostras ao minimo possível. ..e ainda deu para por controle de volume master:
Em um dsp da texas com core arm tipo a linha tms320...é possível gerar 384 canais de polifonia, isso da para gerar 9 drawbars lower e upper mais pedals bass com 4 vozes mono.
@Guri Vonnilmam DEUS O ABENÇOE MUITO!
-
@Guri Vonnilmam DEUS TE ABENÇOE meu amigo,mas estou batendo em ponta de faca e só decepcionando comigo mesmo.
Parece que a mente está fechada,informações tem de todos os lados e com certeza estão corretas,o problema é meu entendimento no assunto.
esse negócio de fazer varios osciladores internos trabalhando em conjunto como fosse uma orquestra não é pra qualquer um não.Vejo códigos prontos que só fala em gerar uma senóide,quando fala em polifonia,ai o calo aperta.
Ja tentei comprar projeto pronto de freelancer,mas não entendem de sinteses musicais,trabalham mais com automaçao.
sem falar dos efeitos posteriormente de sustain,vibrato,etc.
Estou igual a Moisés no egito,vou ver a terra de longe mas não vou chegar lá ou seja vejo brilhantes projetos mas só fica nisso.
DEUS TE ABENÇOE
Acho que conheço você de algum lugar!
veja isso
- 1
-
@aphawk Vou tentar amigo,não tenho muita experiencia em usar os timers mas vou dar uma boa estudada.Novidades eu posto aqui.Muito grato.
-
@aphawk Muito obrigado amigo.Vou tentar com interrupção do Timer do Pic e conseguindo,posto aqui.Gostaria de enviar _lhes o circuito pronto no Proteus pra escutar em os sons.Toca todas notas simultâneamente.polifonia de 12 notas.Muito obrigado e se puderem me ajudar eu sempre serei grato.Meu código é muito simples pois não sei como otimizar o mesmo.
-
Boa tarde a todos,vejam isso,graças a vocês e A DEUS fiz algo baseado no conceito do nosso amigo @xyko-2020 ,porém não usei base de tempo como o timer0 do Pic pois não consegui(fica pra próxima).Escrevi e compilei e no MikroC e simulei no Proteus.Não ficaram exatas as medidas mas tocando não dá pra perceber.
PIC16F628 - 20MHZ,gostaria de enviar o arquivo do proteus mas não consigo por aqui.
int c0 = 0x00; //Variável de contagem auxiliar int c1 =0x00; int c2 = 0x00; //Variável de contagem auxiliar int c3 =0x00; int c4 = 0x00; //Variável de contagem auxiliar int c5 =0x00; int c6 = 0x00; //Variável de contagem auxiliar int c7 =0x00; int c8 = 0x00; //Variável de contagem auxiliar int c9 =0x00; int c10 = 0x00; //Variável de contagem auxiliar int c11 =0x00; void main() // configura port.a e port.bcomo saidas digitais { TRISA.RA0 = 0X00; RA0_bit = 0x00; TRISA.RA1 = 0X00; RA1_bit = 0x00; TRISA.RA2 = 0X00; RA2_bit = 0x00; TRISA.RA3 = 0X00; RA3_bit = 0x00; TRISB.RB0 = 0x00; RB0_bit = 0x00; TRISB.RB1 = 0x00; RB1_bit = 0x00; TRISB.RB2 = 0x00; RB2_bit = 0x00; TRISB.RB3 = 0x00; RB3_bit = 0x00; TRISB.RB4 = 0x00; RB4_bit = 0x00; TRISB.RB5 = 0x00; RB5_bit = 0x00; TRISB.RB6 = 0x00; RB6_bit = 0x00; TRISB.RB7 = 0x00; RB7_bit = 0x00; while(1) { c0++; //incrementa contadores c1++; c2++; c3++; c4++; c5++; c6++; c7++; c8++; c9++; c10++; c11++; if(c0==65) // compara e se for igual executa { RA0_bit = ~RA0_bit; c0 = 0x00; } if(c1==61) { RA1_bit = ~RA1_bit; c1 = 0x00; } if(c2==58) { RA2_bit = ~RA2_bit; c2 = 0x00; } if(c3==55) { RA3_bit = ~RA3_bit; c3 = 0x00; } if(c4==52) { RB0_bit = ~RB0_bit; c4 = 0x00; } if(c5==49) { RB1_bit = ~RB1_bit; c5 = 0x00; } if(c6==46) { RB2_bit = ~RB2_bit; c6 = 0x00; } if(c7==43) { RB3_bit = ~RB3_bit; c7 = 0x00; } if(c8==41) { RB4_bit = ~RB4_bit; c8 = 0x00; } if(c9==39) { RB5_bit = ~RB5_bit; c9= 0x00; } if(c10==37) { RB6_bit = ~RB6_bit; c10 = 0x00; } if(c11==35) { RB7_bit = ~RB7_bit; c11 = 0x00; } } //end while } //end main
- 1
-
20 horas atrás, aphawk disse:
Se esse é o problema ... faça 12 osciladores de precisão com 12 Atmegas kkkkkkk DDS fica super preciso...
Paulo
@aphawk Não compensa,custo beneficio..Conheço um desenvolvedor que fez tudo dentro de um Arm STMF32-051,polifonia com varias notas simultaneas e leitura dos teclados ate 61 teclas!usou técnicas de wavetables ou pcm.Um excelente trabalho,pena que ele não desenvolve pra pessoa fisica .ele trabalha pra uma empresa de órgãos eletronicos(teclado).
adicionado 7 minutos depoisadicionado 14 minutos depois12 horas atrás, Isadora Ferraz disse:Qualquer coincidência é outra mera semelhança. No entanto parece que o garoto quer mais que os bips irritantes da onda quadrada. Neste caso, pouco (ou melhor, nada) posso somar mas não sem antes corroborar a Chicão que "suaviza e torna menos irritante"
... o som do circuito! . Quem tiver um mínimo de sinestesia técnica (inventei isso agora) pode até "ouvir"
adicionado 7 minutos depoisAh sim.. gostei do link do piano russo. . ... Até favoritei pra uso futuro..
abç
@Isadora Ferraz Boa noite,não quero os irritantes bips e sim a senoide,e seu circuito é mais ou menos isso que pretendo fazer mas na saida das notas tocadas juntas ou seja,no pré amplificador.Isso era muito usual nos circuitos antigos e dependendo do filtro voce consegue simular alguns instrumentos como flauta,oboé,piano,clarinete,...grato
adicionado 17 minutos depois14 horas atrás, xyko-2020 disse:adicionado 8 minutos depois
Acho que o problema da onda quadrada você pode resolver com isto.
Todas as saídas devem entrar num MIXER antes de ser amplificadas, senão as frequências mais baixas irão "encobrir" as mais altas.
Sim meu amigo,é isso mesmo .grato
- 2
-
12 minutos atrás, aphawk disse:
pessoalmente também usaria os 12 osciladores chaveador por CD4066 ....
Já montei com 12 osciladores com 40106 o problema são os capacitores que sofrem alterações com mudança s climáticas quente ou frio e também pela estafa.isso vai variar mesmo que levemente a frequência da nota musical.A nossa audição percebe facilmente.grato
- 2
-
@Isadora Ferraz, @aphawk, @xyko-2020 tenho muito em agradecer-lhes por essas preciosas informações,na realidade quero fazer algo parecido,
mas primeiro tenho que ter as 12 notas musicais e depois fazer os devidos tratamentos nos sons gerados.Não tão aperfeiçoado igual ao video,mas que seja um bom som.
- 1
-
@xyko-2020 12 pwm! isso é incrivel,seria uma ótima alternativa também,o link acima trabalha com saidas pwm.
Desculpe-me qual microcontrolador você usou ,se quiser mencionar é claro....
grato
- 1
-
@xyko-2020 Muito obrigado pela atenção,ja pensei em fazer quase isso com um PIC em programar 12 contadores e ir decrementando a cada ciclo de máquina e sinceramente não me atentei a um timer ser a base.Vou tentar e darei retorno aqui.
tem varios projetos na internet mas parece que nada funciona,achei um interessante mas ao compilar dá um mote de erros.Conversei com o dono do projeto é um Russo que respondeu me abandonado o projeto a anos.
Vejam abaixo o que esse cara fez. Muito obrigado
- 1
-
3 horas atrás, aphawk disse:
São duas coisas diferentes ....
Por DDS você consegue sim gerar a frequência que quiser. Uma de cada vez ... e muito precisamente.
Mas sua pergunta é gerar as 12 frequências simultâneamente ! Isso não tem como !
Mas se for trabalhar com apenas duetos de frequências, aí sim dá para fazer no DDS, fazendo a soma algébrica do valor de saída ANTES de enviar para a saída. Para ter uma boa performance até 20 KHz isso teria de ser feito em Assembly, ou caso use um Arm de clock bem alto ( uns 150 Mhz no mínimo ) talvez possa ser feito em C mesmo.Uma outra ideia é você utilizar 12 osciladores diferentes para gerar as frequências, e controlar as saídas deles , assim você tem todas as combinações possiveis... em um único volume...
Paulo
@aphawk Muito obrigado pela atenção mas como seria essa soma algébrica?outra pergunta a ideia de controlar 12 osciladores não entendi muito bem!Desde já agradeço-lhe
- 1
-
1 hora atrás, Isadora Ferraz disse:
Ao googlar arduino dds achei bem interessante aquele (caro) módulo dds
...
Quase sinto vontade comprar. Mas pode ser que não te atenda pois pelo que vi superficialmente gera 2 sinais simultâneos. Sobre a técnica dds, li isso rapidinho
https://www.embarcados.com.br/dds-sintese-digital-direta/
e também quase não entendi muito.
Sobre gerar várias frequencias, vejamos o que vislumbro sem mc
2 74hc14 ou do gênero, 6 portas cada, cada uma com uma freq diferente
Suas saídas somadas num ampl.
Obviamente com mc é mais desafiador. Sem pensar muito (e sem ler a teoria dds) vislumbro uma interrupt com uma dúzia de variáveis a controlar o momento da inversão de bits dos ports... Só posso falar isso... pode ser que ... ndv
Boa noite e obrigado pela atenção,o problema em gerar frequencias individuais como o oscilador CI 40106 esta no fato de serem totalmente independente,ou seja se um oscilador sair de frequencia,a nota desafina.Se tiver um oscilador único,mesmo que o oscilador saia um pouco da frequencia,todas as outras acompanharão...
- 1
-
Boa tarde a todos!
É possível gerar 12 notas simultaneamente em algum microcontrolador (STM32,PIC,ARDUINO,ATMEL..?
Vi uma possibilidade em ter vários osciladores via software com a técnica DDS mas não consegui entender o real funcionamento.
Muito Grato.
- 1
-
@Gabriel.Rocha estou com o mesmo problema,não consigo nem compilar o programa,ja conversei com o proprietário e ele protinficou em ajudar-me mas o projeto é de 2008 disse que não está mais trabalhando no mesmo.
Estava tentando gerar uma polifonia com pic pois trabalho com manutenção de orgãos eletrônicos de dificeis peças para reposição então pensava em fazer algo em substituição das mesmas e esse projeto ,com algumas modificações ,era excelente.
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Onda senoidal repicada
em Microcontroladores
Postado
@densyy Boa tarde,desculpe incomodar e sei que este tópico é antigo mas gostaria que se possível você me enviasse a planilha do excel para fazer senoides.DEUS TE ABENÇOE
Boa tarde,poderia me ajudar a fazer essa tabela,DEUS TE ABENÇOE @.if