MATRIXSYNTH: Marcel Licence

Showing posts with label Marcel Licence. Show all posts
Showing posts with label Marcel Licence. Show all posts

Monday, April 01, 2024

Arduino VGM player on ESP32 (SN76489 chiptune) with a moving panorama stereo effect

video upload by Marcel Licence

"In this video you see the VGM player running on the ESP32.
All you hear comes directly from the PCB.
I made the 4 channels of the SN76489 emulation visible on the OLED screen.
In addition to that I tried to create a kind of moving panorama,
to generate a moving stereo separation.
The channels are floating around by changing the left/right volume
and the delay time changes too to simulate the changing distance.

The other features are the same as on the RP2040.

At the end of the video you will find a lot of music examples.

Used VGM files:
- Global Gladiators - 03 - Duelin-Dance.vgm
- Global Gladiators - 02 - Techno Tune.vgm
- Sonic The Hedgehog 2 - 03 - Act Start.vgm
- Sonic The Hedgehog 2 - 04 - Underground Zone.vgm
- Sonic The Hedgehog - 02 - Act Start.vgm
- Sonic The Hedgehog - 03 - Green Hill Zone.vgm
- Lemmings - 21 - Let's Go!.vgm
- Sonic The Hedgehog - 05 - Bridge Zone.vgm
- Sonic The Hedgehog - 06 - Chaos Emerald.vgm
- Sonic The Hedgehog - 08 - Bonus Zone.vgm
- Sonic The Hedgehog - 09 - Labyrinth Zone.vgm
- Sonic The Hedgehog - 10 - Act Complete.vgm
- Sonic The Hedgehog - 11 - Scrap Brain Zone.vgm
- Sonic The Hedgehog - 12 - Sky Base Zone.vgm
- Sonic The Hedgehog - 13 - Boss Theme.vgm
- Sonic The Hedgehog - 16 - Marble Zone (unused).vgm

Files were originally in .vgz format and I renamed them to .vgz, decompress them.
Finally, rename the uncompressed files back to .vgm before I could play them.


Projects can be found on GitHub:"

Sunday, March 17, 2024

Arduino VGM player with rough SN76489 emulation - sneak peak of a video game music chiptune project

video upload by Marcel Licence

"Similar to the previous project I wanted to implement the playback of a new file format.
In this project VGM files are played on different platforms (decompressed VGZ files).
To get any audio I've implemented a very rough emulation of the SN76489 sound chip.
It has three square wave outputs and a noise channel.
The noise channel does not completely work as intended yet.
You might hear some deviations to the expected audio of the video game music.
This project is implemented in Arduino.
After adding some more features I will make this project available soon.

Used VGM files:
- Sonic the Hedgehog 2 - 07 - Sky High Zone.vgm
- Global Gladiators - 02 - Techno Tune.vgz
- Global Gladiators - 03 - Duelin-Dance.vgz
- Global Gladiators - 04 - Dance Tune.vgz
- Lemmings - 01 - Title screen.vgm
- Lemmings - 02 - Can-Can.vgm
- Lemmings - 03 - Levels 2 & 19.vgm
- Lemmings - 04 - Levels 3 & 20.vgm
- Lemmings - 05 - Levels 4 & 21.vgm

Files were originally in .vgz format and I renamed them to .vgz, decompressed them
and finally renamed the uncompressed files back to .vgm before I could play them.


Projects can be found on GitHub:
Discord: (if the link doesn't work please check the description of the latest video)

Intro, Raspberry Pi Pico via PWM: (0:00)
ESP32 playback via audio codec: (2:37)
ESP8266 test output via PWM: (3:27)
ESP32-S2 using I2S DOUT alone: (4:17)"

Sunday, February 18, 2024

Arduino tracker on ESP32 developed from scratch - little sneak peak of a tracker/synthesizer project

video upload by Marcel Licence

"I have started to develop a tracker from scratch.
It runs on the ESP32 and also contains features from my previous projects.
The file format is quite simple.
All samples are integrated in the .mod file.
There are also patterns that are put together as a song.
I copied post effects from my old projects and added a feature to play the embedded sounds/samples.
Feel free to leave comments with ideas and suggestions to move the project forward.

Used tracker files:
- Patrick Phelan - Lotus3_Cd6-Shamrip.mod
- Patrick Phelan - Lotus3_Cd3-Lotus3.mod
- bodyblow.mod
- 2unlimitedmagic.mod


Projects can be found on GitHub:"

Sunday, December 17, 2023

Arduino sample synthesizer is now full of samples - loading SF2 and WAV samples on ESP32 & RP2040

video upload by Marcel Licence

"I've been working on improving the sampler project, especially how it loads sound samples.
Now, you can load samples from SF2 soundfonts, wav files, and a chosen directory.
This project works on ESP32 and RP2040, and more support is in the works.
I've also included the effects section from the last project.

Soundfonts do contain one big chunk of 16bit/24bit sample data, a list of data sets.
They have details about the range, tuning, and loop points of the samples.
There's also a list of instruments that can use different samples for various key and speed levels.
Lastly, there's a list of presets with additional settings.
I tried to make it easy to load specific parts of the soundfont, leaving out some options on purpose for flexibility.

You can also load wav files. These files might have extra information about the samples, like loop regions and tuning.
They are stored in an additional tag: "smpl".

In the future, I'm thinking of supporting different data formats (like 8-bit and stereo) and adding more file formats for loading samples.
I'm considering vgm and spc (Sega Mega Drive and Super Nintendo samples) and aif files containing sample info.

Sample sources:
SM64SF V2.sf2 -
Emu EMAX II Soundfonts -
Linn LM-1 -
Enigma Flute Sound – Emulator II Shakuhachi sample -
SC55 Piano_V2.sf2 -
Yoshi's Island (WK 1.05).sf2 -"

Wednesday, December 22, 2021

Polyphonic synthesizer goes monophonic (monophonic mode for arduino synthesizer project)

video upload by Marcel Licence

"This video shows only a little update for the DIY synthesizer:
A monophonic mode is now available which can be turned on and off on the fly.
In addition to that it supports portamento with a tweakable time."

See the Marcel Licence label below for more.

Saturday, November 20, 2021

ESP32 polyphonic synthesizer add-on - simple arpeggiator and virtual split (for Arduino)

video upload by Marcel Licence

"In this video you will find a short demonstration of the arpeggiator module and a virtual split point.
Both modules are still work in progress but also usable.
I would like to integrate them into existing projects to make them more accessible.

All you hear comes directly from a single ESP32 (with PCM5102A DAC).
The project is a modified basic synthesizer with the alpha juno oriented sound generation.

Key features:
- virtual split point listens to all midi channels
- an upper and lower area can be defined
- notes are forwarded to different MIDI channels
- 16 bit arpeggiator
- sequences can be predefined and part of the code
- sequences can be overwritten by playing the notes
- variable tempo - variable gate time

This may be also interesting for you: Mono stepper synth with arpeggio
The first try with the alpha juno like sound

Both and moreposted here]

Projects can be found on GitHub:"

Saturday, November 06, 2021

DIY synthesizer soundengine (using ESP32 Arduino) - Little demo of the Roland Alpha Juno like sound

video upload by Marcel Licence

"This video is only a short sound demo of a little sound engine I tried to implement.
I recommend using a stereo output (phones or speaker) for the best listening experience.
It is based on the Roland Alpha Juno synthesis but slightly modified.
The sound is some kind of pulse width modulated saw wave without chorus.
A LFO drives the pulse width for both channels independently creating the stereo effect."

Projects can be found on GitHub:

Additional demos:

Sunday, February 28, 2021

DIY Synthesizer with ESP32 (super/hyper saw, aliasing free oscillators)

video by Marcel Licence

"This video shows some impressions of using the ESP32 for a little synthesizer project.
All processing is done on one core with sampling rate of 48kHz.
I've connected a master keyboard via MIDI to a serial input.
The synth actually can play 6 voices together (also with 6 oscillators per voice in unison/detuned mode).
The oscillators are aliasing free (wave forms had been generated in advance to avoid fold back of frequencies above nyquist).
Rough ADSR for velocity and filter is implemented.
I am preparing a little arduino project for sharing. It will be available soon..."

You can find additional posts featuring the ESP32 here.

Switched On Make Synthesizer Evolution Vintage Synthesizers Creating Sound Fundlementals of Synthesizer Programming Kraftwerk

© Matrixsynth - All posts are presented here for informative, historical and educative purposes as applicable within fair use.
MATRIXSYNTH is supported by affiliate links that use cookies to track clickthroughs and sales. See the privacy policy for details.