Two new Midi scripts: Humanize and CreateBassline

MusE is a DAW for Linux with both MIDI and Audio editing. https://muse-sequencer.github.io

Moderators: MattKingUSA, khz, spamatica

Post Reply
User avatar
oscillator
Established Member
Posts: 1127
Joined: Sat Jan 17, 2015 6:07 pm
Location: SWEDEN
Has thanked: 725 times
Been thanked: 296 times
Contact:

Two new Midi scripts: Humanize and CreateBassline

Post by oscillator »

Spent some time learning git and creating two scripts:

Humanize: Lets you "humanize" midi data by randomly altering position and velocity. You can control the range of the randomization in the popup dialog (both positive and negative ranges).

CreateBassline: Creates a "line" of notes that fills the part. You can select note, the grid/position of the notes and the length of the notes ("gate time"). Useful for synth buffs like me! :) It keeps old notes, so you can create gated chords etc.

Humanize is in master now (thank you @kybos), CreateBassline (hopefully :) ) on its way there!

BTW I wrote some explanations for the already existing scripts, maybe something for the wiki?

Constant Length: Set note length (dialog)
Constant Velocity For Note: Set fixed velocity for specified note (dialog)
CreateBassline: Creates a sequence of notes of a specified pitch, quantization and gate length (dialog)
Delay2048: old - removed
DoNothing: writes input to output w/o transform
Humanize: Humanize notes by randomizing velocity and position (dialog)
RandomizeVelocityRelative: Randomize the note velocity relative to its current value (dialog)
RandomPosition1: Randomize the note position relative to its current value (dialog)
RemoveAftertouch: Removes all Aftertouch controller data
RemoveDoubles: If note with same tick, pitch, velocity already exists, new note is skipped
RemoveShortEvents: Remove events shorter than specified length (dialog)
Rhythm1: Creates a simple drum rhythm
SpeedDouble: Doubles tempo of existing notes
SpeedHalf: Halves tempo of existing notes
SwingQuantize1: Quantize to specified beat (dialog)
TempoDelay: Creates delay with midi notes (dialog)

MusE DAW running on Debian 11 Testing/XFCE4.
https://oscillator.se/musik

kybos
Established Member
Posts: 97
Joined: Wed Oct 23, 2019 5:50 am
Been thanked: 3 times

Re: Two new Midi scripts: Humanize and CreateBassline

Post by kybos »

oscillator wrote: Mon Nov 09, 2020 8:38 pm BTW I wrote some explanations for the already existing scripts, maybe something for the wiki?
I added it to the wiki document (merged with the three already existing descriptions), under Example files:
https://github.com/muse-sequencer/muse/ ... ile-format
User avatar
oscillator
Established Member
Posts: 1127
Joined: Sat Jan 17, 2015 6:07 pm
Location: SWEDEN
Has thanked: 725 times
Been thanked: 296 times
Contact:

Re: Two new Midi scripts: Humanize and CreateBassline

Post by oscillator »

kybos wrote: Tue Nov 10, 2020 7:40 am I added it to the wiki document (merged with the three already existing descriptions), under Example files:
https://github.com/muse-sequencer/muse/ ... ile-format
Great! BTW, did you see my previous question (viewtopic.php?f=61&t=22173) about doing a How-to or Special topics on multichannel plugins?

MusE DAW running on Debian 11 Testing/XFCE4.
https://oscillator.se/musik

kybos
Established Member
Posts: 97
Joined: Wed Oct 23, 2019 5:50 am
Been thanked: 3 times

Re: Two new Midi scripts: Humanize and CreateBassline

Post by kybos »

Just provide a markdown file for it, then I will include it in the wiki. You don't have to ask first ;-).
User avatar
oscillator
Established Member
Posts: 1127
Joined: Sat Jan 17, 2015 6:07 pm
Location: SWEDEN
Has thanked: 725 times
Been thanked: 296 times
Contact:

Re: Two new Midi scripts: Humanize and CreateBassline

Post by oscillator »

Great! I have attached a zip with the markdown and the images (you will have to fix the paths I guess).

This is my first markdown file but I think I got it right! :)
Attachments
muse_multichannel_wiki.zip
(208.08 KiB) Downloaded 68 times

MusE DAW running on Debian 11 Testing/XFCE4.
https://oscillator.se/musik

kybos
Established Member
Posts: 97
Joined: Wed Oct 23, 2019 5:50 am
Been thanked: 3 times

Re: Two new Midi scripts: Humanize and CreateBassline

Post by kybos »

oscillator wrote: Tue Nov 10, 2020 2:36 pm Great! I have attached a zip with the markdown and the images (you will have to fix the paths I guess).

This is my first markdown file but I think I got it right! :)
It's now in the wiki:
https://github.com/muse-sequencer/muse/ ... io-plugins

Only some minor post-editing was required.
But I noticed from your screenshots that there is a problem with the painting of the track type icons in the track list. Probably HiDPI related, as I never experienced that myself.
I've just tried to fix it, please check if it looks OK now for you (master or latest AppImage).
User avatar
oscillator
Established Member
Posts: 1127
Joined: Sat Jan 17, 2015 6:07 pm
Location: SWEDEN
Has thanked: 725 times
Been thanked: 296 times
Contact:

Re: Two new Midi scripts: Humanize and CreateBassline

Post by oscillator »

kybos wrote: Tue Nov 10, 2020 7:37 pm It's now in the wiki:
https://github.com/muse-sequencer/muse/ ... io-plugins
Great, thanks!
kybos wrote: Tue Nov 10, 2020 7:37 pm But I noticed from your screenshots that there is a problem with the painting of the track type icons in the track list. Probably HiDPI related, as I never experienced that myself.
I've just tried to fix it, please check if it looks OK now for you (master or latest AppImage).
The icons fit now (if that is what you were thinking about). But the whole UI is a bit smaller. Ah, it is the font settings in the Appearance menu, they differ. Does an AppImage bring its own settings for that? All the rest of the UI seems to read my previous settings (toolbar placements etc).

MusE DAW running on Debian 11 Testing/XFCE4.
https://oscillator.se/musik

kybos
Established Member
Posts: 97
Joined: Wed Oct 23, 2019 5:50 am
Been thanked: 3 times

Re: Two new Midi scripts: Humanize and CreateBassline

Post by kybos »

No, the AppImage should work exactly the same way as the normal app, i.e. it should also use the existing settings. No idea what is wrong with the fonts, I don't remember having made any relevant/critical changes there recently.
User avatar
oscillator
Established Member
Posts: 1127
Joined: Sat Jan 17, 2015 6:07 pm
Location: SWEDEN
Has thanked: 725 times
Been thanked: 296 times
Contact:

Re: Two new Midi scripts: Humanize and CreateBassline

Post by oscillator »

I have attached two screenshots...there is a slight size difference, because of different font sizes...

Well, no problem, it all works fine.
Attachments
muse_today_appimage.jpg
muse_today_appimage.jpg (100.31 KiB) Viewed 1317 times
muse_2daysold.jpg
muse_2daysold.jpg (96.9 KiB) Viewed 1317 times

MusE DAW running on Debian 11 Testing/XFCE4.
https://oscillator.se/musik

kybos
Established Member
Posts: 97
Joined: Wed Oct 23, 2019 5:50 am
Been thanked: 3 times

Re: Two new Midi scripts: Humanize and CreateBassline

Post by kybos »

There is a known problem with determining the system font by Qt when bundled in AppImage or other similar containers. It's not related to MusE settings, as the main font is fetched dynamically from the desktop environment.

I understand that many issues of this kind have been solved by Qt already, and from my own tests I can confirm that the correct system font is set on both Cinnamon (Gnome based) and KDE for the AppImage.

The Sans Serif size 9 font you get is a Qt default when no platform font can be determined.

Which XFCE version do you have? Qt obviously dropped support for the GTK2 theme plugin some time go, so if you still have 3.12 (IIRC), that could be the reason.
kybos
Established Member
Posts: 97
Joined: Wed Oct 23, 2019 5:50 am
Been thanked: 3 times

Re: Two new Midi scripts: Humanize and CreateBassline

Post by kybos »

It's possible to override the main font from the style sheet:

Create the file "Dark Flat.qss" (or whichever theme you want to use) in your "~/.../MusE/MusE/themes" folder.
Put the following in it:

Code: Select all

* {
    font-family: Sans;
    font-size: 10pt;
}
Then make sure the option "Cascade the default and user theme style sheets" is checked in Settings->Appearance->Themes.
User avatar
oscillator
Established Member
Posts: 1127
Joined: Sat Jan 17, 2015 6:07 pm
Location: SWEDEN
Has thanked: 725 times
Been thanked: 296 times
Contact:

Re: Two new Midi scripts: Humanize and CreateBassline

Post by oscillator »

kybos wrote: Wed Nov 11, 2020 11:18 am Which XFCE version do you have? Qt obviously dropped support for the GTK2 theme plugin some time go, so if you still have 3.12 (IIRC), that could be the reason.
I am running Debian 10 Stable, so I got XFCE4 version 4.12.

I don't do any music-related OS tweaks anymore, just fire up a recent QJackCtl appimage, start it, then run MusE (compiled, normally). On my 2nd hand laptop with a 14 inch 1360x768 display. Works fine!

And the small differences don't bother me at all. I like running "bleeding edge" MusE, so I can help with bug reports and get the latest features! :) Though I will save your style sheet suggestion if I need it.

Thank you for your help! And I really like the Dark theme -- great work!

MusE DAW running on Debian 11 Testing/XFCE4.
https://oscillator.se/musik

Post Reply