diyelectromusic, to RaspberryPi
@diyelectromusic@mastodon.social avatar

I've written up how to get 8-channel sound (quad stereo) out of four GY-PCM5102 modules using the four-lane I2S support on a Raspberry Pi 5.

https://diyelectromusic.wordpress.com/2024/05/27/rpi-5-quad-stereo-sound-with-pcm5102a/

diyelectromusic,
@diyelectromusic@mastodon.social avatar

And hopefully I now have a test build of #MiniDexed that supports this too.

https://github.com/probonopd/MiniDexed/pull/657

diyelectromusic, to RaspberryPi
@diyelectromusic@mastodon.social avatar

I appear to have MiniDexed (and circle) supporting ST7789 displays now, which means I can use a Pimoroni Pirate Audio with MiniDexed!

If you only need USB MIDI this is about as simple an option as it will be possible to have.

It would be a particularly neat, self-contained Pi Zero USB Gadget...

#Pimoroni #MiniDexed #RaspberryPi

themagpi, to random
@themagpi@mastodon.social avatar

Good morning, folks! We hope you had an excellent weekend

Working on any Raspberry Pi or Pico projects? Send us a photo of it! It might end up in the mag...

diyelectromusic,
@diyelectromusic@mastodon.social avatar

@themagpi We've merged in preliminary Raspberry Pi 5 support to MiniDexed thanks to Rene's excellent Circle bare metal OS now supporting it. It's still considered experimental and doesn't currently do anything a Pi 3 or 4 can't do, but it does appear to work.

The photo is me testing PWM audio output on my Pi 5.

https://github.com/probonopd/MiniDexed

diyelectromusic, to random
@diyelectromusic@mastodon.social avatar

This is great new video about #MiniDexed with a particular focus on the performance presets.

https://www.youtube.com/watch?v=uFpr1-5iYFI

diyelectromusic, to RaspberryPi
@diyelectromusic@mastodon.social avatar

I've managed to get a build of MiniDexed working on a RPi 5 all thanks to Rene's excellent work on the circle bare metal environment for the Pi.

Early days, but the rate of development in circle is pretty astonishing!

https://github.com/probonopd/MiniDexed/pull/638

diyelectromusic, to random
@diyelectromusic@mastodon.social avatar

This is a great short demo of #MiniDexed performances in action by https://github.com/Banana71

https://www.youtube.com/watch?v=KS2k9vCg6cw

diyelectromusic, to RaspberryPi
@diyelectromusic@mastodon.social avatar

Ha! Neat. I've just realised I can enable MIDI THRU for my RPi 400 PC keyboard to my serial MIDI interface and turn it into a MIDI keyboard controller via MiniDexed :)

Post updated: https://diyelectromusic.wordpress.com/2023/12/18/rpi-400-midi-and-audio-pcb-build-guide/

#RaspberryPi #RPi400 #MiniDexed

poetaster, to Arduino
@poetaster@mastodon.gamedev.place avatar

Ergh. #MiniDexed and euclidean drumming swallowd my home work. #arduino drummer and bare metal pi (2011) ... Now where did i put the audio....

rcarmo, to RaspberryPi
@rcarmo@mastodon.social avatar
diyelectromusic, to SynthDIY
@diyelectromusic@mastodon.social avatar

I've been hacking about implementing performance banks for #MiniDexed.

I think most of it is done now, but if anyone fancies giving it a test run, then follow:

https://github.com/probonopd/MiniDexed/pull/581

#Synthdiy #MIDI

themagpi, to random
@themagpi@mastodon.social avatar

Good morning, folks! Happy Monday

It's the last of the year so one last time for 2023...

Working on any Raspberry Pi or Pico projects? Send us a photo and it might end up in the mag

diyelectromusic,
@diyelectromusic@mastodon.social avatar

@themagpi I've now got a #MiniDexed IO board for a Pi zero, which is great for using with the USB Gadget mode "DX7 on a dongle".

(I've a MIDI board on the way... watch this space!)

#MagPiMonday

https://diyelectromusic.wordpress.com/2023/12/02/rpi-zero-minidexed-io-board-pcb-design/

diyelectromusic.wordpress.com, to random

Here are the build notes for my RPi Zero MiniDexed IO Board PCB.

https://diyelectromusic.files.wordpress.com/2023/12/img_7492.jpg?w=1024Warning! I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage to expensive instruments!

If you are new to microcontrollers and single board computers, see the Getting Started pages.

Bill of Materials

https://diyelectromusic.files.wordpress.com/2023/12/img_7482.jpg?w=1024- RPi Zero MiniDexed IO Board PCB (GitHub link below)

  • SSD1306 OLED 128×32 I2C display (pinout: GND-VCC-SCL-SDA).
  • Optional: GY-PCM5102 I2S DAC module.
  • 2x 100nF ceramic capacitor.
  • 5x 10nF ceramic capacitor.
  • 1x Switched rotary encoder (PCB mount, see photos for footprint).
  • 2x miniature toggle switches (PCB mount, see photos for footprint).
  • 1x 4-way header socket.
  • 1x 2×20 GPIO header socket.

https://diyelectromusic.files.wordpress.com/2023/12/img_7481.jpg?w=1024### Build Steps

Taking a typical “low to high” soldering approach, this is the suggested order of assembly:

  • Disc capacitors.
  • Button switches.
  • GY-PCM5102 module (if used).
  • 4-way header for display.
  • GPIO header.
  • Rotary encoder.

Build Options:

  1. With DAC: As described below with a GY-PCM5102 module on the board. The display will have to be fitted in a 4-way header socket and raised above he PCM5102 once fitted.
  2. No DAC: It is possible to use a PWM audio add-on for the Zero and not bother with a DAC. More details here: Raspberry Pi Zero PWM Audio Interface.
  3. External I2S DAC: It is possible to use something like the Pimoroni Audio DAC SHIM between the Zero and the MiniDexed IO board. More details here: A DX7 USB Dongle.

Note: in the case where the SSD1306 is soldered directly to the board, e.g. if no PCM5102 is used, the 100nF ceramic capacitor for its supply pins will have to be bent over flat prior to mounting the display.

Here are some build photos.

https://diyelectromusic.files.wordpress.com/2023/12/img_7484.jpg?w=1024https://diyelectromusic.files.wordpress.com/2023/12/img_7485.jpg?w=1024Prior to soldering on the GY-PCM5102 module, the jumpers on the rear of the board may need to be configured.

https://diyelectromusic.files.wordpress.com/2023/12/img_7483.jpg?w=1024Only the 6-way connector is used for connection to the board, but it is recommended that at least a single additional header pin is used on the 9-way header to help physical stability of the final build.

https://diyelectromusic.files.wordpress.com/2023/12/img_7486.jpg?w=1024https://diyelectromusic.files.wordpress.com/2023/12/img_7487.jpg?w=1024https://diyelectromusic.files.wordpress.com/2023/12/img_7488.jpg?w=1024https://diyelectromusic.files.wordpress.com/2023/12/img_7489.jpg?w=1024This can be used with any Raspberry Pi, but my main aim was for something that could be used with a Pi Zero acting in USB Gadget Mode for example, with my DX7 USB Dongle as shown below.

https://diyelectromusic.files.wordpress.com/2023/12/img_7490.jpg?w=1024### Testing

I recommend performing the general tests described here: PCBs.

Once assembled, the correct MiniDexed configuration is required, as described below.

PCB Errata

There are the following issues with this PCB:

  • The 5 debouncing capacitors for the encoder and switches are listed on the board as “10p” but they should be “10n” – i.e. 10nF ceramic capacitors.

Enhancements:

  • Additional GPIO headers could be added for further expansions – e.g. more buttons.

Find it on GitHub here.

MiniDexed Configuration

The key elements of the minidexed.ini configuration required to support this board are as follows.

# If in USB Gadget mode - see <a href="https://diyelectromusic.wordpress.com/2023/11/22/a-dx7-usb-dongle/">A DX7 USB Dongle</a>.<br></br>USBGadget=1<br></br><br></br># Either pwm or i2s<br></br>SoundDevice=i2s<br></br><br></br>LCDEnabled=1<br></br>SSD1306LCDI2CAddress=0x3C<br></br>SSD1306LCDWidth=128<br></br>SSD1306LCDHeight=32<br></br>SSD1306LCDRotate=1<br></br>SSD1306LCDMirror=0<br></br>LCDColumns=20<br></br>LCDRows=2<br></br><br></br>ButtonPinPrev=0<br></br>ButtonActionPrev=<br></br>ButtonPinNext=0<br></br>ButtonActionNext=<br></br>ButtonPinBack=5<br></br>ButtonActionBack=click<br></br>ButtonPinSelect=11<br></br>ButtonActionSelect=click<br></br>ButtonPinHome=6<br></br>ButtonActionHome=click<br></br>ButtonPinShortcut=11<br></br><br></br>EncoderEnabled=1<br></br>EncoderPinClock=10<br></br>EncoderPinData=9

Closing Thoughts

Whilst it is somewhat irritating to have made the 10p/10n mistake yet again, I’m quite pleased with how these boards have come out.

I have a stackable TRS MIDI interface in the works too which should be able to work with this IO board too.

Kevin

https://diyelectromusic.wordpress.com/2023/12/02/rpi-zero-minidexed-io-board-pcb-build-guide/

image/jpeg
image/jpeg

diyelectromusic, to SynthDIY
@diyelectromusic@mastodon.social avatar

I've now got a simple #MiniDexed user interface (screen, encoder and buttons) for my DX7-USB-dongle based on a @Raspberry_Pi Zero.

Design notes, build guide and PCB on GitHub to follow...

#synthdiy #RaspberryPi

themagpi, to random
@themagpi@mastodon.social avatar

Good morning, folks! Welcome to Monday

Working on any Raspberry Pi or Pico projects? We'd love to see a photo! It will improve our Monday AND It might also end up in the magazine

diyelectromusic,
@diyelectromusic@mastodon.social avatar

@themagpi I glued together a few off-the-shelf components, combined with a software update to #MiniDexed, to create a DX7-synth-onna-stick...

https://diyelectromusic.wordpress.com/2023/11/22/a-dx7-usb-dongle/

#MagPiMonday

diyelectromusic.wordpress.com, to RaspberryPi

The amazing Rene Stange added USB Gadget (i.e. device) support to the Circle bare metal Raspberry Pi environment a while ago so I’ve now incorporated that into MiniDexed. This allows MiniDexed to be used as a USB device – i.e. it can just be plugged into a PC and used via USB MIDI directly, as long as your Raspberry Pi supports USB Gadget mode and you have some means of audio output.

This post looks at how to make a “USB dongle” that is basically a USB MIDI accessible DX7.

A quite note before I start however. Why would someone want to do this? There are several VST DX instruments for PCs if you want DX sounds in your DAW and Dexed itself gives you full access to a DX7 via a software interface.

So there is probably very little practical reason to do this. But personally, I just couldn’t resist the idea of having a plug-in DX7 on a USB stick!

https://diyelectromusic.files.wordpress.com/2023/11/img_7467.jpg?w=1024Warning! I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage to expensive instruments!

These are the key tutorials for the main concepts used in this project:

If you are new to microcontrollers and single board computers, see the Getting Started pages.

Parts list

  • Raspberry Pi Zero, Zero W or Zero W2.
  • I2S or alternative audio output for a Pi Zero.
  • USB “STEM”, “Zero Dongle” or other USB device connection (micro USB to USB A).

Note: the Pi Zero and Zero W will give access to a single MiniDexed tone generator. The Pi Zero W2, will support 8 tone generators.

Warning: When using a Raspberry Pi in USB Gadget mode, do not plug in its usual power supply! It should be USB “bus powered” only.

The Hardware

Whilst any Raspberry Pi that supports USB Gadget mode could be used with a suitable lead to power and link to MiniDexed, to make a USB “dongle” requires the use of a Pi Zero (any flavour) and a “dongle style” add on.

I’ve used the following:

It will also need a means of outputting audio from the Zero as MiniDexed only supports USB MIDI, not USB audio.

There are several options for audio out on a Pi Zero. By far the easiest is some kind of off-the-shelf I2S audio interface.

A really good, low-profile one ideal for use as a dongle is the Pimoroni Audio SHIM, which can be found here. It doesn’t even need soldering, it can push-fit over the Pi’s GPIO headers, but any I2S audio interface for the Pi can be used as long it doesn’t interfere with the USB plug for the “dongle”.

My ideal combination is the USB STEM and the Pimoroni Audio SHIM as it is both low-profile and has the USB plug at one end and the audio output at the other.

https://diyelectromusic.files.wordpress.com/2023/11/img_7469.jpg?w=1024https://diyelectromusic.files.wordpress.com/2023/11/img_7470.jpg?w=1024### MiniDexed Configuration

Hopefully by the time you read this, USB Gadget support in MiniDexed will be merged into the main code (it is PR567). Details of how to configure it can be found on the wiki here, but the key MiniDexed configuration (minidexed.ini) required for this configuration is as follows:

USBGadget=1SoundDevice=i2s

The rest of the configuration is largely ignored, but things like the LCD, buttons and encoder can simply be disabled (set to 0) as they are not required.

A Single DX7

As mentioned previously if using a Zero V1/W then a single tone generator is available. The MIDI channel it uses will be as defined in the default performance.ini file. It is set to OMNI by default. To change it, change:

MIDIChannel1=<MIDI channel 1 to 16>

The default MIDI configuration for MiniDexed assumes voice changes will be made with a combination of bank select Control Change and Program Change messages with each bank containing 32 voices. But the following configuration allows four banks to be spread across all 128 Program Change values:

ExpandPCAcrossBanks=1

When plugged into a PC it will come up as “MIDI Gadget” as a USB MIDI compatible device. Here it can be seen in MidiOx, being selected as the MIDI output.

https://diyelectromusic.files.wordpress.com/2023/11/midiox-midi-gadget.png?w=472This configuration assumes you’ve installed ROMS 1a, 1b, 2a and 2b at least (details here) in your sysex/voices directory on the SD card.

I have a MidiOx instrument file with all the voices for Roms 1a/1b/2a/2b/3a/3b/4a/4b selectable via Bank Select messages, and Roms 1a+1b+2a+2b configured for use as a single 128-voice bank via Program Change messages.

Find it on GitHub here. This needs to be copied to the “instr” directory of the MidiOx installation.

In MidiOx, View -> Instrument Panel, select “INS File: DX7ROMS.INS” and then choose one of the following for “instr”:

  • “YAMAHA DX7 ROMS” for the individually selectable 8 ROMs.
  • “YAMAHA DX7 VOICES” for the first four ROMs to be linked as a 128-voice single bank.

Both views (and voice selections) are shown below.

https://diyelectromusic.files.wordpress.com/2023/11/midiox-minidexed-roms2.png?w=974https://diyelectromusic.files.wordpress.com/2023/11/midiox-minidexed-roms.png?w=975#### An 8-DX7 Instrument

If using a Zero 2W then 8 tone generators are available. In that case there is a choice. It can be treated as eight independent tone generators, in which case the MIDI channels for each TG should be set independently.

The following configures TGs 1-8 for MIDI channels 1-8.

MIDIChannel1=1MIDIChannel2=2MIDIChannel3=3...MIDIChannel8=8

At this point, the MIDI interface is the same as before, but changing the MIDI channel will change the tone generator being used.

Alternatively, it is possible to now treat the 8-way TG MiniDexed as a single instrument with much more complex sounds.

If the following setting is enabled in minidexed.ini:

PerformanceSelectChannel=1

This will interpret Program Change messages on MIDI channel 1 as selecting “performances”. Each “performance” is a configuration of up to 8 tone generators with a range of voices and effets.

The full list of default “performances” can be sound by browsing the MiniDexed github repository here.

Once again I’ve added a mode in my MIDIOx instrument file to support performances:

https://diyelectromusic.files.wordpress.com/2023/11/midiox-minidexed-performance.png?w=968Warning: There is a proviso with this configuration.

At present, MiniDexed loads performances into consecutive “slots” meaning that the numbers in the MiniDexed repository do not relate to the “patch numbers” used over MIDI. The MIDIOx file supports the files in the repository at the time of writing. If new performances are added in some of the gaps (and there are gaps) in the numbering, then the names will be out of sync with what is installed.

Personally I think we need to change this and make the numbers relate to the MIDI program numbers. Watch this space!

Closing Thoughts

As mentioned in the introduction, with a good selection of software synths available that provide a DX7 on a computer for use with a DAW, there is limited use for a “DX7 on a USB stick”.

But I still think this is a pretty neat thing to be able to do, if nothing else, just for the fun of knowing that a $2000 synth from the 1980s can now be replicated with ~$20 worth of hardware that can be plugged into any PC and just “played”.

Kevin

https://diyelectromusic.wordpress.com/2023/11/22/a-dx7-usb-dongle/

image/jpeg
image/jpeg

diyelectromusic,
@diyelectromusic@mastodon.social avatar

@diyelectromusic.wordpress.com@diyelectromusic.wordpress.com This shows how to build a "DX7 USB Dongle" using #MiniDexed on a @Raspberry_Pi Zero.

Raspberry_Pi, to random
@Raspberry_Pi@raspberrypi.social avatar

It’s #MagPiMonday – show us what you’re making!

Here is a collection of some cool things other people have made:

https://www.raspberrypi.com/news/its-magpimonday-show-us-what-youre-making/

bornach,
@bornach@fosstodon.org avatar

@Raspberry_Pi
I've turned a discontinued #Pimoroni Speaker Phat into a #MiniDexed Phat in order to give a new lease of life to a slightly damaged Raspberry Pi 2 that I recovered from ewaste

#RaspberryPi #diysynth #FMsynth

diyelectromusic, (edited )
@diyelectromusic@mastodon.social avatar

@Raspberry_Pi I managed to replace a Pi 3A+ with, er... well, 8 Raspberry Pi V1s in a #MiniDexed setup...

No, I'm not sure why either :)

https://makertube.net/w/g8rw9XtF4Z377dsANRu5Yr

#MagPiMonday

bornach, to RaspberryPi
@bornach@fosstodon.org avatar

I might not have followed the assembly instructions very closely for this discontinued #Pimoroni Speaker pHAT

#RaspberryPi #MiniDexed

diyelectromusic, to random
@diyelectromusic@mastodon.social avatar

I must admit I'm now wondering what it would take to build one of these for #MiniDexed

Private
diyelectromusic,
@diyelectromusic@mastodon.social avatar

@Maker_of_Things @makershour A1 Hello Kevin here.

I've been getting back to some making again, having done some more coding for , played around with some bought kits from RaKit.

And on Saturday posted links to my classical performances in a series - most of these had never been posted here on the Fediverse before.

https://mastodon.social/@diyelectromusic/110875424282272949

diyelectromusic, to SynthDIY
@diyelectromusic@mastodon.social avatar

Here is the build guide for my latest PCB - a bit of a niche one this - running two MiniDexed instances on two @raspberry_pi s to give 16 tone generators available over MIDI.

The PCB itself was produced using #SeeedFusion

#MIDI #MiniDexed #Synthdiy

https://diyelectromusic.wordpress.com/2023/07/21/rpi-dual-minidexed-pcb-part-2/

diyelectromusic, to random
@diyelectromusic@mastodon.social avatar

I'm finally back up and running with #MiniDexed development again!

And so I'm not working it all out again from scratch (especially the use of GitHub) I've made a few notes here: https://diyelectromusic.wordpress.com/2023/07/21/rebuilding-my-ability-to-build-minidexed/

Private
diyelectromusic,
@diyelectromusic@mastodon.social avatar

A1 Hello #MakersHour, Kevin here. Having missed out yesterday its nice to get another chance today :)

I've been out a lot these past few weeks, but I have now rebuilt my Linux machine which means I can get back to some #MiniDexed coding - assuming I can remember how to do it!

@makershour

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines