Colegas, tenho uma novidade incrível para quem gosta de música e sintetizadores! 

Encontrei um projeto opensource de um sintetizador usando o RaspBerry Pi, com qualidade de som fenomenal. 

Você vai precisar de:

- um Raspberry Pi 3 ou 4 (acho que o Zero funciona) 

- placa I2S de audio

- display

- chave rotatória (rotary encoder) 

- GPIO expander

Link do projeto:

https://github.com/probonopd/MiniDexed

Vou montar um. Quem quiser me acompanhar, fique à vontade para perguntas. 

Para tocar os instrumentos no Raspberry Pi, vai precisar de teclado MIDI (com interface USB). 

Tenho estudado sobre sintetizadores, MIDI desde a muitos anos. A teoria eu sei muito, mas não tinha verba para desembolsar em um sintetizador. Apesar de não saber tocar um...

Dá uma olhadinha nesse vídeos :

Exibições: 714

Responder esta

Respostas a este tópico

Informações sobre os pinos do Chip PCM5102A

9.3.4.1 Interpolation Filter
The PCM510xA provides two types of interpolation filter. Users can select which filter to use by using the FLT pin.

Table 3. Digital Interpolation Filter Options
FLT Pin Description
0    =    FIR normal x8/x4/x2/x1 interpolation filters
1     =   IIR low-latency x8/x4/x2/x1 interpolation filters


The normal x8 / x4 / x2 / x1(bypass) interpolation filter is programmed for sample rates from 8 kHz to 384 kHz.

9.4.1.2 44.1kHz De-emphasis

De-emphasis control for 44.1-kHz sampling rate(1): Off (Low) / On (High)

9.3.2.2 PCM Audio Data Formats  (Pin FMT) 
The PCM510xA supports industry-standard audio data formats, including standard I2S and left-justified. Data
formats are selected using the FMT (pin 16), Low for I2S, and High for Left-justified. All formats require binary
twos-complement, MSB-first audio data; up to 32-bit audio data is accepted.

9.3.3 XSMT Pin (Soft Mute / Soft Un-Mute)
An external digital host controls the PCM510xA soft mute function by driving the XSMT pin with a specific
minimum rise time (tr) and fall time (tf) for soft mute and soft un-mute. The PCM510xA requires tr and tf times of
less than 20ns. In the majority of applications, this is no problem, however, traces with high capacitance may
have issues.
When the XSMT pin is shifted from high to low (3.3 V to 0 V), a soft digital attenuation ramp begins. –1-dB
attenuation is then applied every sample time from 0 dBFS to –∞. The soft attenuation ramp takes 104 samples.
When the XSMT pin is shifted from low to high (0 V to 3.3 V), a soft digital “un-mute” is started. 1-dB gain steps
are applied every sample time from –∞ to 0 dBFS. The un-mute takes 104 samples.
In systems where XSMT is not required, it can be directly connected to AVDD.

Oi Murta,

Eu sou músico e professor de música e me interesso por tudo que mexe com música e tecnologia.

Ainda estou estudando o Dexed, e quem sabe montarei um também.

Não sei se você sabe, mas o Raymond Kurzweil, criou um programa de computador para compor músicas, isso com 15 anos de idade.

https://cdm.link/2020/03/ray-kurzweil-ai-music-1965/

A IBM absorveu muita das idéias dele sobre computação.

Ele é um cientista com vários PHDs, e prevê a idéia da "singularidade": A união da tecnologia com a biologia. 

Algo bastante controverso, mas fascinante.

Vou acompanhar suas peripécias por aqui.

Bom dia.

Conheço sim o Raymond Kurzweil.

Já li muito sobre ele e já vi videos no Youtube. 

Tenho vários diagramas dos sintetizadores dele. 

Mas ele vendeu essa empresa para os chineses. 

Acompanhe o blog, porque vai ser muito legal! 

How Stevie Wonder And Ray Kurzweil Changed Music

Boa noite,

Ontem consegui fazer alguns testes com o módulo GY-PCM5102. Incrível a fidelidade do som. 

Monitorei as duas saídas de audio (stereo) do DAC PCM5102. 

Essa foi a montagem do Módulo conectado ao meu Raspberry Pi Zero (modelo antigo sem Wifi) .

https://www.raspberrypi.com/products/raspberry-pi-zero/

Rasp Pi Zero Specifications

  • 1GHz single-core CPU
  • 512MB RAM
  • Mini HDMI® port
  • Micro USB OTG port
  • Micro USB power
  • HAT-compatible 40-pin header
  • Composite video and reset headers
  • CSI camera connector (v1.3 only)

Essa é a pinagem do Raspberry Pi Zero. 

Gravei o Sistema Operacional em um micro SD Card Ultra 32GB Classe 10. Consulte os SD cards indicados. 

Usei o Raspberry Pi Imager para gravar a imagem do Sistema Operacional. 

https://www.raspberrypi.com/software/

Testei com esse sistema operacional. Apesar de ser o que ocupa maior espaço, é o mais garantido de tudo funcionar. OBS: esse sistema é lento. 

https://www.raspberrypi.com/software/operating-systems/

https://www.raspberrypi.com/documentation/computers/os.html

Raspberry Pi OS with desktop and recommended software

  • Release date: May 3rd 2023
  • System: 32-bit
  • Kernel version: 6.1
  • Debian version: 11 (bullseye)
  • Size: 2,701MB

Para ter acesso a um teclado e mouse sem fio usei esse Kit:

MK220 WIRELESS KEYBOARD AND MOUSE COMBO

https://www.logitech.com/pt-br/products/combos/mk220-compact-keyboa...

Adaptador Wireless Asus USB-N10 para acessar a rede. Pois esse Rasp Pi não possui WIFI. 

Um HUB USB 4 portas para conectar os dispositivos USB. Para conectar o hub USB, usei um cabo conversor USB Mini para USB B. 

Um cabo HDMI para ligar no monitor HDMI. OBS: o cabo de um lado possui um conector mini-HDMI e do outro HDMI normal. Ou pode usar um conversor também. 

Como fonte de alimentação, usei o carregador Phillips DLP4317CW  - 5V / 3A 

(acho que uma carregador Smartphone 5V / 2A deverá funcionar) 

Fiz a montagem sobre um Protoboard. Fixei o Raspberry Pi Zero com suportes de bronze (com parafusos). 

Montagem - Raspberry Pi Zero + PCM5102

Clique na imagem para aumentá-la. 

Como os pinos do Raspberry Pi usam 3,3V, são também compatíveis com o Módulo GY-PCM5102. 

Quando o pino I2S -SCK é conectado ao terra (GND), o chip PCM5102 gera o Master Clock internamente. 

A alimentação do modulo é 5V, mas internamente existem dois reguladores de 3,3V. Um regulador para a parte digital e o outro para a parte analógica. 

Se precisar de conexão com a Internet, precisará fazer essa configuração (usando o Asus USB N10):

https://forums.raspberrypi.com/viewtopic.php?p=2116390#p2116146

Para criar um usuario supervisor

sudo passwd 

Para configurar o Sistema Operacional com a saída de audio PCM5102, use esse procedimento: 

https://www.hifiberry.com/docs/software/configuring-linux-3-18-x/

Usei o editor nano para configurar os arquivos. 

sudo nano /boot/config.txt 

desabilite essa linha com #

# dtparam=audio=on

Desabilite o audio nessa linha

dtoverlay=vc4-kms-v3d,noaudio

Acrescente essas linhas

dtoverlay=hifiberry-dac

force_eeprom_read=0

Crie esse arquivo, com as linhas abaixo: 

 sudo nano /etc/asound.conf

pcm.!default {

     type hw card 0 }

ctl.!default {

     type hw card 0 }

Dê um reboot no Raspberry Pi para ativar as configurações. 

Para testar a seleção do adaptador de áudio PCM5102 , dê o comando aplay: 

pi@raspberrypi ~ $ aplay -l
**** List of PLAYBACK Hardware Devices **** card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0

Para Testar o audio : 

aplay arquivo.wav 

Baixe esses arquivos de audio (.wav)  para testes :

Baixe no seu PC, descompacte e depois copie as pastas para o seu Rasp Pi (com um pendrive). 

https://www.soundonsound.com/techniques/sos-audio-test-files-downloads

Package icon sos-0523-audio-test-files-44-1k.zip

Package icon sos-0523-audio-test-files-48k.zip

Package icon sos-0523-audio-test-files-96k.zip

Use uma caixa de som stereo para computador para amplificar a saída de aúdio do modulo PCM5102. 

Bom divertimento! 

Algumas formas de ondas capaturadas no meu Osciloscópio Tektronix TBS1062, na saída stéreo do Módulo PCM5102. As formas de ondas são perfeitas!  Alta-fidelidade!

Nesses exemplos são arquivos WAV, rate 44100 Hz, Signed  24 Bit, Little Endian, Stereo. 

https://www.soundonsound.com/techniques/sos-audio-test-files-downloads

4_stereo tone 1kHz -18dBFS 44k.wav

14_Intermodulation 11kHz_12kHz -12dBFS 44k.wav

5_stereo tone 1kHz -12dBFS 44k.wav

Analisando os sinais da interface I2S com o analisador lógico de 8 bits (Chines).

Arquivo de teste:  4_stereo tone 1kHz -18dBFS 44k.wav

Usando o programa >

https://www.saleae.com/pt/downloads/

Percebi que o bloco (word)  de dados possui 16 bits e não 24 bits, como o arquivo é especificado. 

Não entendi isso....

Canal 0 = I2S - BCK (bit clock) => 1,412 MHz 

Canal 1 = I2S - DIN (dados)

Canal 2 = I2S - LCK (left-right channel clock) => 44100 Hz 

pelas definições do PCM5102:

Formato I2S

All formats require binary twos-complement, MSB-first audio data; up to 32-bit audio data is accepted.

clique na imagem para aumentá-la.

Configuração do decodificador I2S no programa do analisador lógico: 

Sobre o Master Clock da Interface I2S. 

Nas minhas leituras, aprendi que quando o Master Clock é usado, a fidelidade é superior, pois não existe a possiblidade de glitches (ruídos digiais). Desde que todos os outros dois clocks (Bit clock e LR clock) estejam sincronizados com o Master clock. 

No caso desse teste, eu não usei o Master Clock. Pois, quando o pino do Master Clock (SCK) é aterrado, o chip gera esse clock a partir de um PLL interno, baseando-se nos outros dois clocks da interface. 

"The device has an internal PLL that is used to take either SCK or BCK and create the higher rate clocks required by the interpolating processor and the DAC clock. This allows the device to operate with or without an external SCK."

Para confirmar isso, vejam que interessante! 

Canal 0 = I2S - BCK (bit clock) => 1,412 MHz 

Canal 1 = I2S - DIN (dados)

Canal 2 = I2S - LCK (left-right channel clock) => 44100 Hz 

Deduzi que o Master Clock (interno) deve ser 5,648 MHz. Pois :

           4 x BCK (1,412 MHz) = 5,648 MHz

           ou será esse cálculo? 

           128 x fs (44100 Hz) = 5,6448 Mz 

           (fs = frequencia de sample) 

Conferindo na tabela do Datasheet do PCM5102 : 

Achei essa outra tabela, sobre os clocks:

Acho que eu medi incorretamente o BCK. Dever ser 1,4112 MHz 

Corrigindo - Medi a frequencia do Bit Clock (BCK) com o scope e foi :

         1,4112 MHz ! 

Sobre o formato do arquivo WAVE : 

https://docs.fileformat.com/audio/wav/

Usando o o programa FREE HEX EDITOR NEO, para analisar o arquivo:

4_stereo tone 1kHz -18dBFS 44k.wav

Bytes 17 a 20 = 10 00 00 00 ( Length of format data as listed above) 

 

0x10 = 16 bits (confirmado) 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço