A festive Yoshimi

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

Post Reply
folderol
Established Member
Posts: 2077
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 227 times
Been thanked: 400 times
Contact:

A festive Yoshimi

Post by folderol »

V 1.5.5 - Mistle Thrush

Some users wanted a way to store the Controllers settings with an instrument. These can make quite a dramatic difference to the sound. There is now a superset of instruments that can be saved instead of, or as well as, the standard ones. On loading, Yoshimi will look for the extended version first. This applies to instruments in banks as well as externally saved ones. If you have an extended type loaded the instrument name will be a mid-blue instead of black. This is reflected in the stored instruments in bank slots.

From now on any improvements we make to instrument patches will be applied in full to the extended version, and as much as is viable (in a compatible form) to the standard ones. Under no circumstances will we change standard patch format. There are many hundreds of these in the wild, and musicians may have their own reasons for preferring them (and older versions of the synth).


There was a strange, really ancient bug in 'legato' where if you fumble and hit two keys pretty much together you end up with alternate silent notes until you lift all keys. This has now been comprehensively fixed.


While we concentrate on larger issues we don't neglect the smaller ones.

For example: You can't have legato mode and drum mode at the same time, but this hasn't been obvious. From now on, if you have drum mode set then try to set legato, you'll still see the setting, but as drum mode takes priority, the legato text will be shown in red. Cancel drum mode (making legato valid) and the text will turn black again.

If you are using a legato MIDI pedal, Yoshimi's part 'mode' will show this change, and again will turn red if an instrument with drum mode is on that part.


Load and save dialogues intelligently recognise the history lists and offer the appropriate first choice. External instrument loads and saves are now also remembered.

For saves, on a fresh start you will offered your home directory regardless of where yoshimi has been launched from, but uniquely, in the case of saving external instruments you will always be offered the name of the instrument in the currently selected part - prefixed with the home directory.

There is now a specific menu item in 'State' (Save as Default) for saving the current complete setup as the default. This will always be saved to Yoshimi's config directory and will not show in history lists.

If "Settings...->Switches->Start With Default State" has been set, and a default state has been saved, not only will a complete restart load this, but a master 'Reset' will load this instead of doing a first-time default reset.

A final detail with the history lists is that in each list type, the last used item will be placed at the top of the list. This is especially useful when you want to continually save/load an item you are currently working on.


When first implemented MIDI-learn was limited conservatively to 128 lines. With experience of its actual performance this has now been increased to 200.


The CLI has had attention too. A few more controls have been enabled, and the existing ones smartened up and made more consistent. As an aside, there is a new experimental branch with an interface that *only* works via the CLI - not ready for prime time yet.


Yoshimi can now run happily with jack on some BSD systems. This is a work in progress.


Techie bits.
There are a lot more minor optimisations throughout the code. This has resulted in an overall drop in code size, as well as some critical operations being slightly faster.

The last few contentious parameter changes have now been made thread safe, and by default we run with NO mutex locks (the calls are there but return 'empty'). There is a single queue that all settings pass through so there should be no possibility of interference... Well, that's the theory :)

CMakeLists.txt now has a specific option for older X86 processors. Also, if none of the build options are set then not even sse extensions will be included. How Yoshimi will handle on such an old processor is left as an exercise for the student :P


Yoshimi source code is available from either:
https://sourceforge.net/projects/yoshimi
Or:
https://github.com/Yoshimi/yoshimi
Our list archive is at:
https://www.freelists.org/archive/yoshimi
To post, email to yoshimi@freelists.org
The Yoshimi guy {apparently now an 'elderly'}
folderol
Established Member
Posts: 2077
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 227 times
Been thanked: 400 times
Contact:

Re: A festive Yoshimi - a bit more info

Post by folderol »

I've been asked what the point is for having so many MIDI-learn lines. Well the answer is here
If you look at lines 2-4 the same incoming controller is used to set different harmonics by different amounts... and in opposite directions.

P.S. In Yoshimi, controller 128 (an impossible one) is actually an internal translation from MIDI aftertouch. This is used in line 7.
The Yoshimi guy {apparently now an 'elderly'}
User avatar
bluebell
Established Member
Posts: 1923
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 112 times
Been thanked: 119 times

Re: A festive Yoshimi

Post by bluebell »

There are 2 things I don't like in Yoshimi and I ask if you can fix those issues – at least for me these are issues:

1.) When playing a sound with a release time set (sound fading when lifting the key) and I switch from poly to mono then I'd expect that only one note is audible. But playing several notes keeps fading all notes and creates a mess. AFAIK that's a design decision of zynaddsubfx. Could you please change this behaviour or make it configurable?

2.) Breath controller's effect can't be set to 0. Some joysticks in some midi keyboards (Korg microKEY) generate breath controller data if you move it down accidentally. Of course I can use a midifilter-plugin but it would be fine if there was a checkbox for breath controller, too.

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

folderol
Established Member
Posts: 2077
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 227 times
Been thanked: 400 times
Contact:

Re: A festive Yoshimi

Post by folderol »

Number 1.
The really is a big deal :shock: not only does Yoshimi effectively lose control of a note once it enters the release phase, but also any effects applied are unreachable. These effects are the sum of all played notes on a part. I can't think of any way of cancelling that without silencing and clearing the entire part which would result in a rather severe discontinuity.

Number 2.
This is quite straightforward and can be in the next release... which is likely to be out sooner rather than later :)
The Yoshimi guy {apparently now an 'elderly'}
folderol
Established Member
Posts: 2077
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 227 times
Been thanked: 400 times
Contact:

Re: A festive Yoshimi - updated already!

Post by folderol »

Now up to V 1.5.6 - Fieldfare
Goes where the Mistle Thrush can't!

This must be out fastest turnaround ever :o

Our new BSD friends found some issues and kindly reported them. It seems the
Linux distros can be quite lax about typecasting - or is it the compilers?
There were a couple of obscure bugs, and two requested features were slipped in
too.
The Yoshimi guy {apparently now an 'elderly'}
User avatar
bluebell
Established Member
Posts: 1923
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 112 times
Been thanked: 119 times

Re: A festive Yoshimi - updated already!

Post by bluebell »

folderol wrote:and two requested features were slipped in
too.
Woo-hoo! Breath Controller uncheckable :D

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

Post Reply