change presets

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

change presets

Menno Knevel
Hi Steven,

we are preparing for a new musical collaboration and in the final fase of setting up of the system of 2 connected computers. One is running Blue, the other QTractor (VSTs).

In the preparations, i wanted to start with Xlooper.

In the BSBs it is possible to save presets.
Now i wondered if it is possible to Automate the presets, like program changes in the midi system.
This would allow to quickly load another preset (perhaps with new samples in the p-fields) and re-use the same Xlooper instrument instance.

What do you think?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: change presets

Steven Yi
Hi Menno,

Sorry for the delay in replying, I was away on a trip but am back now.

Program changes are a very interesting idea.  I think it would require
some design changes though. The issue I see is that right now, there
is a matter of what part of a project is maintained within the Blue
part of the program and what part is maintained within the world of
Csound.  With BSB's presets, the current design does not consider
realtime changes. The information for presets is held within the Blue
part of the program.  When a user chooses a new preset, it updates the
values of Blue's data model (i.e., each knob, slider, dropdown, etc.
within the instrument) which then updates values over channels in
Csound.

One of the parts of Blue's design is that it can render a project into
a CSD that fully encapsulates the performance of a project.  To make
presets automatable and still be able to be represented in a CSD, the
preset values would have to be represented in the CSD.  That would
require both the representation of the preset as a value (could maybe
be done in an ftable or array, with perhaps the source coming from a
separately saved file), as well as the timed change of preset values.
The changing of values would then require reading the data and mapping
it to each channel and setting the value.  Perhaps a single array of
Strings that describe the channels to set, as well as a two
dimensional array that contains all the values to set for each preset
might work. However, Blue's presets exist in nestable folders, so I'm
not sure what a clear way to bridge the tree structure and a list one
would be here.

Preset/Program changes would then also have to consider how it handles
already automated values.  For example, if a knob is automated,
perhaps the automation would override any value that might get set
from a change of presets.

In terms of estimations, I think this kind of feature may be one
suitable for Blue 3.x.  I have planned to make much of Blue's features
accessible for modification via realtime (i.e., MIDI, OSC).  It would
make sense to me that those features first be implemented, then to
build Preset Changes on top of that foundation.

I've been busily updating BSB to use JavaFX for 2.7 and expect that to
take the rest of this week to get all of the pre-JavaFX features
implemented.  After that I will look at the new features (grouping,
enhancements to widgets for font types, labels, colors, etc.) which I
suspect may take another week or two. There are a few other things
scheduled for 2.7 that will take up time, but I expect 3.0 work to
start after the 2.7 release, with 2.7 continuing on with mostly
smaller feature updates and bug fixes.

If you would file a feature request in the Blue issue tracker, I will
assign it to the 3.0 milestone.

Thanks!
steven


On Sat, Sep 10, 2016 at 7:14 AM, Menno Knevel <[hidden email]> wrote:

> Hi Steven,
>
> we are preparing for a new musical collaboration and in the final fase of
> setting up of the system of 2 connected computers. One is running Blue, the
> other QTractor (VSTs).
>
> In the preparations, i wanted to start with Xlooper.
>
> In the BSBs it is possible to save presets.
> Now i wondered if it is possible to Automate the presets, like program
> changes in the midi system.
> This would allow to quickly load another preset (perhaps with new samples in
> the p-fields) and re-use the same Xlooper instrument instance.
>
> What do you think?
>
>
>
> --
> View this message in context: http://csound.1045644.n5.nabble.com/change-presets-tp5751605.html
> Sent from the Csound - Blue - User mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Bluemusic-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/bluemusic-users

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. http://sdm.link/zohodev2dev
_______________________________________________
Bluemusic-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bluemusic-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: change presets

Menno Knevel
Feature is requested, and i was thinking a bit on the subject some more. I hope it makes sense.

At the time i was working a lot with Cubase and midi (AtariST - still got it!). It takes a little while to transmit all the initialization data to the hardware/software synth - this i did using sysex midi data or simply a Program Change.
A Program Change was a quicker way because one only changes instruments with their preset parameters already set.
 
When i tried to send over this long list of sysex data to change ALL of the parameters of the synth (so that the sound was more or less changing live), then, while playing, the synth would choke and hang and i had to manually reset the synth :)

To make sure that the synth and all its settings was available just BEFORE playing, i put on the timeline a Part containing only the Program Change or SysEx data. It takes a few milliseconds to load, just as expect a ftable containing init data for the BSB will take.

This leads me to the idea that perhaps a seprerate Object (PresetObject) could be created and be used to insert right before the actual notes start playing.
Another advantage would be that the user can move the PresetObject around at a later time, copy it etc.

The ftable (= PresetObject) gets its time from the timeline. It would all be csd compatible :)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: change presets

Steven Yi
If I understand correctly, I'm not sure a PresetObject would be the
simplest path.  In my mind, the underlying problem might be better
addressed if:

1. the presets that are currently within Blue are exposed within Csound code
2. a preset instrument is made available that could be triggered by
event opcodes or score text

However, now I am wondering, if you are sequencing the changes of
instrument settings, would it maybe be more logically consistent to
use the new Sound SoundObject features introduced in 2.6.1 to put
XLooper directly on the timeline? You could then make different
instances of each Xlooper on the timeline. Each would have its own
settings and you wouldn't have to worry about changing parameters.  In
my mind, this is a different way of working than typical MIDI-based
systems and might be a good use case for Sound.  (While I haven't used
a Kyma system, I imagine this is how one might go about this problem
using something like that.)

The one issue here though is if you are using parameter automation, as
Sound does not expose those for automation currently.  If the idea
works, but that limitation is a problem, then I could work on
developing the user interface, either within the timeline or within
Sound's editor, to allow for drawing curves and having them associated
with just that object. I think that's a pretty powerful option to have
and would gladly look at developing it for 2.7.0.



On Thu, Sep 15, 2016 at 8:17 AM, Menno Knevel <[hidden email]> wrote:

> Feature is requested, and i was thinking a bit on the subject some more. I
> hope it makes sense.
>
> At the time i was working a lot with Cubase and midi (AtariST - still got
> it!). It takes a little while to transmit all the initialization data to the
> hardware/software synth - this i did using sysex midi data or simply a
> Program Change.
> A Program Change was a quicker way because one only changes instruments with
> their preset parameters already set.
>
> When i tried to send over this long list of sysex data to change ALL of the
> parameters of the synth (so that the sound was more or less changing live),
> then, while playing, the synth would choke and hang and i had to manually
> reset the synth :)
>
> To make sure that the synth and all its settings was available just BEFORE
> playing, i put on the timeline a Part containing only the Program Change or
> SysEx data. It takes a few milliseconds to load, just as expect a ftable
> containing init data for the BSB will take.
>
> This leads me to the idea that perhaps a seprerate Object (PresetObject)
> could be created and be used to insert right before the actual notes start
> playing.
> Another advantage would be that the user can move the PresetObject around at
> a later time, copy it etc.
>
> The ftable (= PresetObject) gets its time from the timeline. It would all be
> csd compatible :)
>
>
>
> --
> View this message in context: http://csound.1045644.n5.nabble.com/change-presets-tp5751605p5751665.html
> Sent from the Csound - Blue - User mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Bluemusic-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/bluemusic-users

------------------------------------------------------------------------------
_______________________________________________
Bluemusic-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bluemusic-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: change presets

Menno Knevel
To start with: how do i get the BSB instrument i see in Orchestra into the ScoreObject Editor of the Sound SoundObject?

about Automation Lines: these are vital for me to be able to use them. I just have to be able to make changes during a note's play - i do not use all ALs of course, but experience tells me that inside a note i need to change the k-rate arguments of Csound opcodes using 5 or 6 ALs.

But first i will have start using the Sound SoundObject. I do not see it in the manual so it must be simple :P
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: change presets

Steven Yi
It's luckily very easy: just copy an instrument from your User
Instrument Library or Project Orchestra (right click, choose "copy"
option).  Then on the timeline, right click and choose "Paste BSB as
Sound".

I've gone ahead and filed #336 for add support for automation of Sound
parameters (https://github.com/kunstmusik/blue/issues/336).  I'm a bit
heavily into the BSB JFX change now so I will evaluate the ticket
further after this set of changes is complete and figure out
scheduling.

On Wed, Sep 21, 2016 at 5:03 AM, Menno Knevel <[hidden email]> wrote:

> To start with: how do i get the BSB instrument i see in Orchestra into the
> ScoreObject Editor of the Sound SoundObject?
>
> about Automation Lines: these are vital for me to be able to use them. I
> just have to be able to make changes during a note's play - i do not use all
> ALs of course, but experience tells me that inside a note i need to change
> the k-rate arguments of Csound opcodes using 5 or 6 ALs.
>
> But first i will have start using the Sound SoundObject. I do not see it in
> the manual so it must be simple :P
>
>
>
>
> --
> View this message in context: http://csound.1045644.n5.nabble.com/change-presets-tp5751605p5751748.html
> Sent from the Csound - Blue - User mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Bluemusic-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/bluemusic-users

------------------------------------------------------------------------------
_______________________________________________
Bluemusic-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bluemusic-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: change presets

Menno Knevel
i was able to change presets, using the PADsynthXtended instrument this time.
Some remarks:
- i had to disable the mixer (due to NO Automation Line system?)
- i had to fix p4 and p5 as there is no Score to give the instruments.

I understand the latter is intentional - by design - but in my case limits my personal use.
Can the Sound SoundObject get its own Score Tab?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: change presets

Menno Knevel
i have attached the blue file here: 01.blue

greetings.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: change presets

Steven Yi
In reply to this post by Menno Knevel
I think the original design makes sense to me to not expose pfields.
Conceptually, you're working with a kind of audio producing machine on
the timeline, and I think that everything should be modifiable through
the BSB interface for the object.  Something like BSBTextFields could
be used to provide configurable values, rather than pfields, and it
would still allow you to configure values per object without having to
go to a separate tab to modify pfields.  I think too that when sharing
a SoundObject like this (which I need to add to BlueShare...) it would
be easier for other users if they only had to work with the interface
and not require modifying score code.

I will have to investigate the issue with the mixer being enabled.  I
think there must be code that assumes that if the mixer is on that
there will be instruments in the project's orchestra manager, but this
should be a valid use case.  (I have filed issue #337 to track this
and will fix it for 2.7.0:
https://github.com/kunstmusik/blue/issues/337)



On Thu, Sep 22, 2016 at 3:20 AM, Menno Knevel <[hidden email]> wrote:

> i was able to change presets, using the PADsynthXtended instrument this time.
> Some remarks:
> - i had to disable the mixer (due to NO Automation Line system?)
> - i had to fix p4 and p5 as there is no Score to give the instruments.
>
> I understand the latter is intentional - by design - but in my case limits
> my personal use.
> Can the Sound SoundObject get its own Score Tab?
>
>
>
> --
> View this message in context: http://csound.1045644.n5.nabble.com/change-presets-tp5751605p5751769.html
> Sent from the Csound - Blue - User mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Bluemusic-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/bluemusic-users

------------------------------------------------------------------------------
_______________________________________________
Bluemusic-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/bluemusic-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: change presets

Menno Knevel
i think i understand the concept of the Sound SoundObject better now...
it is intended as a kinda drag and drop and go audio machine - all data included!

Using BSBTextfields would surely replace the pfileds - i just didn't think about that option yet. The Sound SoundObject is flexible enough to be able to contain all data (Orchestra and Score data) to run.

I will take this into account when i design BSBs. And re-design the old ones i created. The example score can now be integrated into one module.

I was planning on redesigning and thus improving all my instruments now that JavaFX is included soon. For example, in ImagePlayer it would be a nice and useful enhancement to be able to view the image it is playing.

Once i get the hang of using JavaFX, i can modify existing instruments and effects of others as well. But we can talk about that later :)
Loading...