Página 1 de 3

sintetizador midi.

MensagemEnviado: 19 Mai 2008 08:47
por fabim
Pessoal.
Estou com uma idéia louca a um certo tempo.

no inicio minha idéia seria utilizar 15 unidades de um PIC18F de 18 pinos cada um com um algoritmo para gerar sons diferentes de instrumentos de bateria, cada um deles controlaria um DAC de 12 bits que passaria por um potenciometro digital controlado por um cabeção, dispois iria pra um mixer, dispois saida.

Levando em consideração as documentações encontradas na net sobre sintetizadores, ou seja neca de pitibiriba.

Pensemos no seguinte. um amigo meu montou um sintetizador usando uma main board de pentium 133mhz, uma flash card de 512M, e um ruwindows OEM, feito apenas para entender os comandos midis e gerar os sons em uma sound blaster Edo 5W RMS com 24 bits.

O som ficou maravilhosamente lindo, num da pra acreditar que é midi na qualidade que ficou.

Bom a idéia, . Quais as possibilidades de fazer o mesmo mais com uma placa dedicada, que sintetize audio instrumental, simultaneamente recebendo e interpretando os comandos?
Porque.! uma coisa é gerar sons monofonicos!! tipo.
C da um tápa no prato e num fuça em mais nadegas, ele fica preso no algoritmo gerando o som até o final, aí outra coisa.
É vc dar uma pancado no surto, depois no prato. Num da pra sintetizar simultâneo, ao iniciar um o outro antigo é interrompido.!!

Alguem conhece algo sobre, tem idéia na pratica de como possivelmente deve funcionar ?

Fabim

MensagemEnviado: 19 Mai 2008 12:54
por proex
O que vc quer chama-se Polifonia (muitos sons tocando ao mesmo tempo)

Com um PIC 18F ja consegui até 12 notas tocando simultaneamente. (Dá pra fazer excelentes sons de buzinas com o bichim).

Com um ARM entao, acredito que vc consiga polifonia de 64 notas simultaneas tranquilamente.

Vc tem que usar Wave Tables para isso. Só nao perde tempo com resoluçao de 12 bits. Isso é coisa de amador. Ehehehhehhehe.

Tuxa logo 24 bits ou no minimo, 16bits, deixa de ser preguiçoso!!!!!!

MensagemEnviado: 19 Mai 2008 15:47
por tcpipchip
Simultaneamente
No PIC ? Simultaneamente ?
Voce mixou antes ne ?

MensagemEnviado: 19 Mai 2008 15:54
por Msconfig
tcpipchip escreveu:Simultaneamente
No PIC ? Simultaneamente ?
Voce mixou antes ne ?



É só somar as tabelas...

MensagemEnviado: 19 Mai 2008 16:01
por fabim
cûma ?
Num tendi. leia o meu post novamente. A não ser que esteja se reverindo ao pirex, falei com ele e realmente é posivel.
Mass 12 mips em 8 bits via SPI impossivel.

Como ele disse teria que ser um carinha barrudo com acesso a memoria externa, onde a mesma tira os waves mapeados, aí sim.

ou plaquinhas dedicadas tipo.
PIC16F876 a 5 mips, DAC 12 bits por exemplo, SD card pra cada um ja mapeado com os waves, e um circuitinho simpres com sensor Piezoeletrico para disparar o play.
Por exemplo cada plaquinha seria para um som, tipo surdo exemplo.
Quando acontecer a interrupção ele le o adc mensura o nivel entre 1 e 16 por exemplo da um case no endereço para essa pancada dentro do cartão e play e vai até terminar o audio mono.
pode montar um mini mixer digital usando potenciometro da micoxipe onde o cabeção controlaria o volume master e os slaves.
Fica lindo perfeito e caro pra burro.

mais se tiver um carinha barrutão com algumas dezenas de mipis em pelo menos 16 bits para os calculos e com acesso a flash externa da tranquilo.

Fabim

MensagemEnviado: 19 Mai 2008 16:05
por tcpipchip
Voce leu as 3 ultimas CIRCUITS ELETRONICS MAGAZINE ?

MensagemEnviado: 19 Mai 2008 16:06
por fabim
hehe..
Não compro infelizmente revistas a mais de 10 anos.
CIRCUITS ELETRONICS MAGAZINE
Nem em sonho. Prusque tem algo interessante ?

Fabim

MensagemEnviado: 19 Mai 2008 16:32
por proex
Tem chips prontos pra isso. A Atmel tem a linha chamada Dream. Esses chips ja possuem internamente os sons gravados com resoluçao de 16 bits e entrada midi. Inclusive sons de bateria.

Vc manda (via midi) o endereço do som que quer reproduzir, com o parametro de volume e outros, o bicho vai lá na memoria e tum, reproduz a Wave Table tomaticamente.

Além disso tem efeitos de Reverber, Chorus, Equalizaçao entre outros.

Tem também,........ah vêja lá, deixa de ser preguiçoso. :lol: :lol: :lol:

MensagemEnviado: 19 Mai 2008 18:29
por fabim
proex e seus chips incontraveis e incompraveis e impossiveis ao meros brasileiros..rsrs cala boca batista.

ou intô.. ki 6 acham de a jente se unir pra colocar essa porqueira em prática. Como o pirex disse, um projeto complexo desses com certeza vai contar muitos pontos para os iniciantes aprenderem sobre essa poderoza arquitetura intendivel. Cisc disfarçado de Risc.rsrs

E aí votos para sim ou não?

Fabim

MensagemEnviado: 19 Mai 2008 18:39
por mastk
To dentro, tenho um LPC2138 parado...

Meu projeto de 68K tá indo bem, estou com 256KBytes de RAM e posso colocar mais 1Mbytes de Flash (Tá nos meus planos)...

Que pretende usar? PIC, ARM, AVR?

MensagemEnviado: 19 Mai 2008 19:06
por xultz
Só um pequeno detalhe.
Se usar a wave table, não vai estar sintetizando o som, vai estar sampleando. O aparelho vai ser um sampler, e não um sintetizador.
Isso pode parecer bobagem, mas não é. Por exemplo, quando você samplear a nota de piano, quando subir umas 8 notas ou diminuir, vai achar o som lindo. Mas quando subir umas duas ou três oitavas, o som vai ficar um lixo. A sintetização envolve em gerar alguns tonos puros senoidais, avacalhar eles com filtros, envelopes, e fazer essa salada toda parecer o instrumento original. É claro que nunca via ficar igual, mas ele fica mais uniforme ao longo das oitavas.
Já no caso do sampler, para o som ficar legalzudo é recomendado um sampler a cada 3 notas, apesar que 1 sampler por oitava fica razoável. O problema é memória prá tudo isso.
Outro detalhe que pega é quanto à intensidade da nota (velocity). Uma nota num piano pressionada com meia intensidade tem um timbre diferente de uma pressionada com toda intensidade. Isso numa bateria, então, faz uma diferença enorme. Eu já vi drum kits com 5 samples por instrumento, uma para cada intensidade.

Eu não quero desestimular, mesmo porque não é impossível sintetizar sons em firmware, mas se você pega uma placa de som daquelas bem baratinhas vai ver que o som sintetizado dum midi é horrendo. Daí pega uma Sound Blaster e o som sintetizado é lindo. A diferença são anos, anos e mais anos de algoritmos de sintetização que foram sendo aprimorados.

Mexer com música é uma enxeção de saco mesmo.

MensagemEnviado: 20 Mai 2008 00:18
por tcpipchip
Xultz
Um dos meus hobbies eh fazer musica eletronica, usando muito vocoders...
Voce pode me explicar o conceito de envelope ? Eu sei que eh OFF TOPIC...

MensagemEnviado: 20 Mai 2008 00:35
por proex
Eu e um amigo estamos fazendo um Vocoder com dsp. Depois eu coloco o resultado aqui.

xultz, vc esta certissimo, é um trabalhao danado. Mas pra quem gosta dessa área, é um aprendizado bem legal. O problema é que o Fabim ta querendo fazer tudo isso com PIC.

Vamos rezar pra que Deus o ilumine e tire ele desse caminho.

MensagemEnviado: 20 Mai 2008 08:02
por fabim
a boizão né assim também não.
c ja me tirou de idéia e disse que o 2138 na chincha dos 60mhz com memo externa da pra fazer. E tu mesmo disse pra eu meter o pau na minha idéia com a LPC que ser ao melhor caminho pra aprender.

Intão ta pessoalico, como o xultz disse pra quem gosta e quer sofrer e aprender com isso, metemoles os paulios.

1° interface LPC2148 com memo paralela externa, primeiro pensemos nisso que vai ser o mais mala de tudo dispois nózi pegamos nas wavetables que são o mais simples da historia.

Arguma ideóta, alguem sabe como usar uma memo paralela de uns 8 mega externa ao lpc ?

Fabim

MensagemEnviado: 20 Mai 2008 10:29
por mastk
8 mega é power hein, tenho uma memoria SDRAM de desse tamanho, parece que é de facil uso, tem auto e self refresh e custa pouco, paguei R$21,00 +/-...

Mas um SD card não seria mais simples? ou memorias SPIs

O lance de envelope já ouvir falar, mas não peguei não, como seria TCPIP? acho que não off-topic...