OscPocketM - portable beat production tool for the M5Stack Core2



  • Welcome to the OscPocketM (OPM) - the portable beatmaker for the M5Stack Core 2!

    0_1631992428075_mtitle.jpg
    In your hands you will have 3 synthesizers and 1 drum machine that all can be sequenced and used to produce songs.

    The synthesizers have selectable waveform, a low pass filter that can be modulated, an adjustable envelope and an optional second detunable oscillator.

    The drum machine has seven sounds: kick, snare, open and closed hihat, clap, tom lo and tom hi. All sounds can be tweaked.

    All sounds can be balanced using the built in mixer.

    The synths have a piano roll step sequencer and the drum machine has dedicated 5 track step sequencer.

    Sequences can be chained using the song editor.

    There are also utility functions for saving and loading setups and sequences, as well as copying and clearing sequences and settings gate times.

    All software is running on the Core2 including sound generation using the excellent Mozzi library.

    Demo: YouTube

    Download: https://oscillator.se/opensource



  • I've got audio output using the DAC to work now so it is easy to output the sound to a speaker or mixer. The instructions are in the updated PDF manual.



  • Nice, thanks for sharing.



  • @ajb2k3 said in OscPocketM - portable beat production tool for the M5Stack Core2:

    Nice, thanks for sharing.

    Thanks you! :) I hope you find it useful and/or enjoyable!



  • Hi, I really like your idea. I tried to upload to my core2, but it ended up with compile error:
    code.ino: In function 'void UIHandle()':
    code:1657:3: error: 'Event' was not declared in this scope
    Event& e = M5.Buttons.event;
    ^
    code:1657:10: error: 'e' was not declared in this scope
    Event& e = M5.Buttons.event;
    ^
    code:1657:17: error: 'class M5Core2' has no member named 'Buttons'

    Can you please advise me what I should do to fix this?

    Thank you!



  • Never mind. I found out that my M5core2 library is too old. After updating to the latest version, it uploaded successfully.

    Thank you anyway!



  • @raychmond said in OscPocketM - portable beat production tool for the M5Stack Core2:

    Never mind. I found out that my M5core2 library is too old. After updating to the latest version, it uploaded successfully.

    Thank you anyway!

    Glad you got it running! Happy beat-making! :)



  • Hi Oscillator,
    I tried loading your code and got the below error. Would you be able to advise a solution please?

    In file included from c:\Users\User\OneDrive\Documents\Arduino\libraries\Mozzi-master/LowPassFilter.h:16:0,
    from C:\Users\User\OneDrive\Documents\M5\oscpocketm\code\code.ino:22:
    c:\Users\User\OneDrive\Documents\Arduino\libraries\Mozzi-master/ResonantFilter.h:71:6: error: multiple definition of 'enum filter_types'
    enum filter_types { LOWPASS, BANDPASS, HIGHPASS, NOTCH };
    ^
    In file included from C:\Users\User\OneDrive\Documents\M5\oscpocketm\code\code.ino:20:0:
    c:\Users\User\OneDrive\Documents\Arduino\libraries\Mozzi-master/StateVariable.h:53:6: note: previous definition here
    enum filter_types { LOWPASS, BANDPASS, HIGHPASS, NOTCH };
    ^

    exit status 1

    Compilation error: exit status 1



  • Hi @kombistack,

    it seems they have updated the filter functions (see https://github.com/sensorium/Mozzi/pull/165) and although they say that it should be backwards compatible, it obviously is not.

    I developed for Mozzi 1.1. I have put that version on my site (https://www.oscillator.se/opensource/#m5stack). Can you try it and report back?

    Thanks for using OscPocketM!