Offline
france

Version 0.69 : midi sync in and out smile

Sorry this one is not chiptune related... But the sequencer is smile
https://www.youtube.com/watch?v=tN8VHY0nYbA

Offline
france

double post

Last edited by yoyz2k (Jul 16, 2016 4:47 pm)

Offline
yoyz2k wrote:

Version 0.69 : midi sync in and out smile

great! is there a manual?

Offline
france

Hi cyberic,

there is a manual, it is the readme file.
And here is a windows build, with the manual included :
https://www.dropbox.com/s/c2meqwys3p7s2 … 7.zip?dl=0

Lots of tricks are not included in the manual, because it is... outdated. Feel free to ask, and I will update it.

Last edited by yoyz2k (Jul 17, 2016 6:04 pm)

Offline
sweden
yoyz2k wrote:

Version 0.69 : midi sync in and out smile

Sorry this one is not chiptune related... But the sequencer is smile
https://www.youtube.com/watch?v=tN8VHY0nYbA

So nice!

Offline
france

@nordloef Thank you smile

Offline
france

Add the 0.72 version :

- add a midi delta option in the [BPM] menu to move the sync signal in time, it is a kind of "midi delay" but doesn't work exactly the same way, so on windows you should be able to b master and slave midi sync without issue. Was not a problem on Linux, but windows midi is a different world ;

- add a 'osc scale' which allow to change oscillator one or oscillator two pitch to make basic chord with two note, implemented on most of the synth engine

- rework a bit BPSynth on opendingoo to allow to remove some bad FixedPoint behaviour, now it sound better

- fix first buffer audio generation of pbsynth which lead to an audio glitch on windows platform


The download link contain a psp, opendingux and windows binary. For linux you should build it yourself, it is not too complicated if you are using linux wink

https://www.dropbox.com/s/p8e9pywlssnt0 … 6.zip?dl=0


Johann

Offline
France

hello,

thank you for the new version.

I've compiled it on the pocketchip, it worked but this (arm, like raspberry pi) tiny device has a resolution of 480x272, which is quite small
http://docs.getchip.com/pocketchip.html#touchscreen

I've tried to change the resolution in the IO.cpp file:

// Set 640x480 video mode
    if ( (mScreen=SDL_SetVideoMode(480,272,video_bpp,videoflags)) == NULL ) {
        fprintf(stderr, "Couldn't set %ix%i video mode: %s\n",480,272,SDL_GetError());

but it remains 640x480.

do you think there is a solution that might work? (i.e. would the content of the window still fit it?)

Last edited by garvalf (Aug 30, 2016 7:06 am)

Offline
france

What you are seeking is SCREENMULT which is define by platform as '1' or '2' in Master.h.
If define at 1, it will be  : 320x240
if define at 2, it will be : 640x480
You may use the 'raspi1' makefile which only compile the picosynth, picodrum, pbsynth, opl2 synthengine. I think other engine will be too fpu for the pocketchip.
And last thing, try removing the -DDEBUGPRINTF from the makefile, it will be useless.

If it works fine tell me and take one photo, I think this hardware is cool and it may handle midi wink

Johann

Offline
france

@garvalf :  giti pull the "master" I've add a "pocketchip" makefile for RtMidi, RtAudio, and PatternPlayer.
It is in 320x240, tell me if it works for you wink

Johann

Offline
France

that's very kind of you. It should compile. I'll try this and i tell you. Since the pocketchip has similar power to a pi2, it should be ok.

(and be assured I'll post a picture)

Last edited by garvalf (Aug 30, 2016 3:17 pm)

Offline
france

Great smile

Offline
France

It works well!

I haven't tried all the sound engines, but so far the sound was clean.
What I had forgotten is there is only a right control key, so I couldn't start picoloop. Instead of recompiling, I've just made a little script to change the keymap:

xmodmap -e 'keycode 105 = Control_L'

Now I'm recompiling it, and I'll share the binary on the PocketChip forum soon, I think many people like tools such as picoloop (there is SunVox builtin the console).

Here are some screenshots:

Offline
france

Whaoo, look great smile

You say the sound is clean,  is it as clean as a psp, dingoo ?
What I mean, do you feel the dac is ok and it is possible to record stuff. Because today, it seem to be the only linux handled available on the market with a usb otg port, so midi sync smile

If you have a usb midi adapter and a midi device, you can try to midi sync in  smile
The first screen allow you to choose :
-  midi sync in port ( if there is a usb midi cable plugged )
- sync method ( midi in in this case )

Thank you for this pics wink

Offline
France

I've create the topic (with binaries for pocketchip) there: https://bbs.nextthing.co/t/picoloop-mus … tchip/9131

A few remarks:

- I've increased the window size so it will fill the screen. There is no side effect it seems. (see my pull request)
- the main interface is a bit tiny but I don't think it'll be easy to modify this. It's quite OK though.
- what is more problematic are the tiny fonts, for the notes. With blue fonts on blue background, it's not easily readable. On a desktop PC with LCD screen it's not a problem. But still, it's still possible to read it (if you find the right screen angle)
- when I change a value (like mac engine, notes and such), the keypress repeat is quite too fast, so it's a bit difficult to select an option without trying several times. When modifying attack and such, it's ok. I have the same behavior on desktop pc.
- I couldn't get OPL2 to work, but I think I didn't choose the right settings. I've managed on the desktop, I'll try to save a bank this way and try it one the pocket chip
- with the new midi sync and such, there are some new dependencies (not in the docs):
on debian/buntu/mint etc:

apt-get install libjack-dev
apt-get libsdl-image1.2-dev

- You should add the tuto for compiling on raspberry pi (and now on pocketchip), in the readme. I wasn't aware the code was raspberry pi friendly. Or at least tell people to check for they plateform in the makefiles and adapt the compilation.


So for me:

make -f Makefile.RtAudio_pocketchip clean
make -f Makefile.RtMidi_pocketchip clean
make -f Makefile.PatternPlayer_pocketchip_RtAudio clean
make -f Makefile.RtAudio_pocketchip
make -f Makefile.RtMidi_pocketchip
make -f Makefile.PatternPlayer_pocketchip_RtAudio

I don't have any psp or dingoo, so I can't tell about the sound. At the moment I'm only using a shitty headphone so I can't tell either. If I manage to make something cool, I'll make a recording. By "clean", I mean the CHIP's CPU is enough for getting music without any cut in the sound. The CPU load is quite low (below 1 with the top command)

I have some midi device, but I don't use them for sync, you mean I can play some music and start a picoloop sequence whenever I want?

For the CHIP, there are two flavors, one with the screen, and one you can connect on your TV. Obviously the screen will be too small for the later. Would it be possible to change the screen size on the fly? (like some SDL program can do, for example MilkyTracker or SchismTracker can go full screen)


Merci et à bientôt smile

Last edited by garvalf (Aug 30, 2016 9:26 pm)

Offline
france

Super retour, j'aime ça wink

- The font stuff could be improved, I will look at this. The screen seem to be the same size as psp, so the two can benefit from a lift.

- for the "mac" menu which is too fast, it is linked to the speed of the cpu and the refresh rate which is fast. So to fix it, you have to change the value of KEY_REPEAT_INTERVAL_LONG in Master.h define by platform. You can have a look at PatternPlayer.cpp and seek  void handle_key_mac() which handle this.
it is small function to read and you will understand how it works.

- I will pull your commit wink

- for the midi sync, you need a usb otg cable and a midi gears or pc. In slave sync, Picoloop receive midi clock. In Master mode, picoloop send midi clock. You can also use a gameboy with arduinoboy to be the master in the midi chain. Picoloop can be the main sequencer or slave. And if I'm right it should works right on pocketchip. But today, only midi sync in out is implemented. No recording of midi note or midi cc. One day I will work on a full midi implementation, but today, midi sync is enough for me.

- for the loadavg of cpu, if top show 1%, then maybe it will be able to handle more beefy synthengine like cursynth, this last one run on raspberry 2, so maybe it will run smoothly on chip.

- for the screen size, there is two different thing for me. The desktop version should one day be able to be resize, but today it is not possible. The "handled" version should be fixed to fullscreen. And in this case, for me it is two different platform : the handled and the desktop version.

- Great this post on the pocketchip forum.

- I think I know why you don't have sound on the opl2 engine. There is two AR/DS screen in the A/R menu then a "T Amp" which is on Y the gate time and in X the amplification of the channel.  you have to raise the gate time. put all in middle to keep simple and the sound will flow.
Then you can change from AM to FM in the " VCO" menu.

Great work see you soon wink