Jump to content

port LPC1343 polysynth to MBHP_CORE_STM32F4?


tffshtt

Recommended Posts

In theory it is possible, but it's a lot of work and no success guarantee. You probably won't be able to simply take over performance hungry synth features which might be added by somebody else, therefore it's normally a more clever to spend +14EUR for a second core.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Hi tffshtt

 

i saw you posting a video of this on an imageboard about a week ago and i thought it looked pretty cool. I got myself a stm32f4 board and after a LOT of work (i know nothing of these things, sound equipment, MIDI signals and whatnot) i got it working and im having alot of fun making sounds on it through my pc!

 

Your video description lead me to this site and now im just reading through it all and trying to learn everything about building a midicontroller, its fascinating!

Now im thinking of buying a cheap midi-keyboard and maybe try to build some kind of control panel for it with the resources on this site.  :rolleyes:

 

I just wanted to say thanks, and thanks Rowan (i used your compiled hex file), and thanks thorsten for your work on it!  :rolleyes:

 

 

- Noa

   
Link to comment
Share on other sites

Right on Noa!

Happy to hear you got it working.  Have fun! 

Just so you know,  the tuning is off by a few notes in the build Rowan posted (48 kHz sampling rate).   As I recall, when a middle C is played, you get about an F.  The newer build (~35.1kHz ) that Thorsten posted is flat by around a quartertone (~50 cents).  In the studio I am using the newer build and fine tuning with pitch bend messages...works perfectly as a quick fix.

 

cheers!

Edited by tffshtt
Link to comment
Share on other sites

Hi!

 

I had the same pitch mismatch issue on the SD card sample player project. The pitch was approx a half note lower than it should be. It was due to the stm32F4 incorrect I2S PLL divider settings. Code part from my SD sample player fork for the 44.1kHz sample rate, in the SYNTH_Init func:

 

#if defined(MIOS32_FAMILY_STM32F4xx)
    RCC_PLLI2SCmd(DISABLE);
    RCC_PLLI2SConfig((uint32_t)271,(uint32_t)2); //I2S PLL dividers for 44100. Values from Stm32f407 RM0090 Reference manual. Chapter 28.4.4, Table 126.
    MIOS32_I2S_Init (0);

#endif.

 

Unfortunately I have no free STM32F4Discovery board at the moment to test the Goom fw, but I hope it's enough info to test it by someone else.

 

BR. Norbim

Link to comment
Share on other sites

@martindunne1:

Wow!

As far as I can see the 'attach files' button (click around on the grey bar which turns into a 'choose file' button) or the 'try our basic uploader' link should work.  Both of these are found directly under the window where you enter a reply to this forum. 

 

e.g. When I try to upload stuff to soundcloud I always need to use their 'oldskool uploader' for it to work so try the 'try our basic uploader' link here to see if that works.

 

What did you change?

Edited by tffshtt
Link to comment
Share on other sites

@martindunne1

great! 

Which version did you change? 

I have two stm boards, one is running the 48kHz version (first uploaded to SVN by Thorsten, hex file uploaded in this thread by rowan), the other is running the build adjusted back to the original ~35.1kHz version (the latest SVN version).  Sorry if this is confusing!

Link to comment
Share on other sites

@martindunne:

the 48kHz version project.hex is on the first page of this thread posted by Rowan...the tuning is off by a few notes

the 35.1Khz project.hex version is the latest version in the SVN repository.  This is basically the original version that Mark posted on his site..the tuning is off by about a quarter tone (~50 cents)

 

cheers!

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

Thanks to all for the effort to make this possible!

But I'm stuck with silent STM32F4. I've successfully flashed the bootloader and the Goom app, tried all the project.hex files from this thread. In MIOS Studio all seems fine. Ctrlr and other apps can see the MIOS32 MIDI device. I've set MIOS32 as MIDI input and output device but it doesn't produce any sound. Tried it on Linux and Win7 with the same result. 

Did I miss any important step in the setup procedure? Thanks for any tips!

EDIT: Problem just solved itself. I don't know what exactly I did but it works now. Perhaps I just had to unset the MIOS32 MIDI output in Ctrlr, set it to other port and then back to MIOS32 and now the board responds on all channels.

Edited by cube48
SOLVED
Link to comment
Share on other sites

  • 3 months later...

Guys, those of you who played around with port of Goom synth on STM32F4, do you also get snaps and clicks while hitting harder the keys?

I'm hearing a lot of clicks at certain patch settings. They sound like typical 'too fast' envelope clicks but playing around with envelope attack and release is not taking them out. Yet it still sounds like if the engine chokes for millisecond when rendering a fast change in the sound. Actually it's not bothering me as it's not sounding always unpleasant and it even gives unique character to the sound. I really like the dirty digital character of ported Goom synth. It's also possible to create a click-less patches so I wonder if it's just me/my board or is it normal.

Btw, Seq4 in conjunction with Goom synth is helluwa fun.

I'm about to finish the build of the "Morpheo" which is a dedicated control surface for Goom synth. It's touchscreen optimized Pure Data patch running on RPi 2 with 7" capacitive touchscreen.

It gives you a similar Goom editor like the Ctrlr panel including patch management (save/load, 4 banks by 16 patches now - can be easily expanded). You can switch between the 16 MIDI channels and the PD patch stores the sounds for each channel independently. So you can produce 4x16 sounds and load them to any of the 16 channels and they get stored automatically within the PD file.

In addition you can "morph" from one sound to another with morph slider (mapped to CC1 - ModWheel at default). Originally it was meant as a patch generation tool but it can be happily used as a performance feature. Hence the project name "Morpheo". I'm currently implementing additional envelopes for other parameters (including morph parameter) and want to incorporate LFO's. This PD patch generates MIDI CC's so you can record them into a DAW or a MIDI sequencer to be replayed. That way one can multi-track the MIDI automation for each channel.

Recently I've added the Axoloti board as an master FX unit. So with hard-panning of the Goom I'll get two independent FX 'busses'. Axoloti FX patch is far from being finished and there are no PD controls yet but it's already nice to have a delay and reverb on Goom synth.

I'll perhaps start a new thread when I get more stuff to share. For now just a few pictures.

https://vine.co/v/iZhvtjrPB3LiZhvtjrPB3L

morpheo_01.jpg

morpheo_02.jpg

morpheo_03.jpg

morpheo_04.jpg

Link to comment
Share on other sites

  • 2 weeks later...

Hello everyone and Happy New Year! Special THANKS to TK for well developed & documented MIDIbox project, it's very DIY friendly.

On 22.12.2015 at 5:44 PM, cube48 said:

Guys, those of you who played around with port of Goom synth on STM32F4, do you also get snaps and clicks while hitting harder the keys?

Yes, Goom is a little bit clicky sometimes, I've seen some "sharp signal edges" on oscilloscope too, but the more time I spend with it, the more workarounds and fixes I find. I like this little synth!

I'm developing my custom application to fit into my Eurorack modular synth and trying to get as much features from single STM32F4 core as I can. Although SEQ V4 is really powerful device with great big control surface, I've decided to integrate some basic sequencer into my application because I can have so much fun improving my programming skills & knowledge of MIOS32 environment in my very first MIDIbox project :) I run Liine Lemur on my Android tablet Asus Nexus 7 2013 LTE, connecting to a MIDI Target on my PC via Wi-Fi, the SEQ-GOOM template is still in very "alpha" status. I plan to program sequences using Lemur and upload them (using SysEx?) into my MIDIbox application to store on SD Card, probably in *.mid file format. Still not sure about hardware control panel design and features, but at least SCS will be implemented.

Also I want to generate some GATEs and CVs for percussion modules, but here seem to be a problem:

If I try to initialise Synth first then AOUT, the application hangs inside AOUT_IF_Init(). If I initialise AOUT first then Synth, it hangs later on AOUT_Update(). I have no problem running AOUT tutorial with my breadboarded MCP4822 DAC and read voltage changes as I press some keys in MIOS studio. Are AOUT access and CS43L22 audio DAC on STM32F4DISCOVERY mutual exclusive features, or there are some tricks to make them work together?

P.S. sorry for my bad English.

AVLG_MIDIbox_AOUT_test.jpg

GOOM-Lemur1.png

GOOM-Lemur2.png

GOOM-Lemur3.png

Link to comment
Share on other sites

  • 1 month later...

@cube48 @AVLG love the projects!

Keeping the volume under 86 all but eliminates the clicking (to my ear it sounds like some DAC wierdness but I'm no expert)...  In this video I filter the goom with the new stereo pheonix (shruthi).  You'll see user donpachi made me the LPC version in the metal box on the desk...totally awesome.  This synth is definitely one of my favorites.

 

  • Like 3
Link to comment
Share on other sites

Waiting for the Seq4 stuff to arrive, playing with this nice piece of software! Like Cube48, I don't get any sound out of it and unlike Cube48, my problem did not solve itself (yet) :disgusted:

Installed the bootloader - Installed the project.hex (tried multiple). Midi ports are recognized.

Connections as in attachement should be enough?

Cheers,

Kees 

WP_20160226_14_43_50_Rich_LI.jpg

Edited by Keeze
typo
Link to comment
Share on other sites

@Keeze, did you use any sort of "editor" to control the sound params? At default the channels are silent (all values at zero?). You have to "initialize" the patch that means pull the volume up (I think it's CC108), set the AMP ENV to audible values, open the filter etc.

Edited by cube48
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...