musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.1k stars 2.62k forks source link

"Soundstage" feature to facilitate panning and mixing #19140

Open Reloup38 opened 1 year ago

Reloup38 commented 1 year ago

Your idea

Right now, we need to touch every instrument manually. What i propose is a graphical interface that automates the panning and effect mixing of instruments.

Problem to be solved

Panning and mixing can be a bit tedious especially with large scores

Prior art

Apparently this was attempted in Dorico but it's not great (allegedly)

Additional context

Idea Since musescore is mostly about writing for performers to play instruments, it's appropriate to ask for decent and easy to setup soundstage playback. I want for a new panel to be added to the mixer, called "soundstage" where every instrument and the master channel are represented by circles.

You could click and drag each circle representing instruments anywhere on the soundstage, and you could also make them bigger or smaller. the "master" circle is the main microphone. You can link and automate values relative to the physical positions of the instruments relative to "master". The main ones being angle to master, and distance to master.

Angle to master would be linked to the pan wheel, so by dragging your instruments on the soundstage it would automatically pan them left or right. You could also move your master and it would pan all the instruments relative to it, like if you moved a microphone.

Distance to master could be linked to aux channels. Right now, you have to manually adjust every aux send value. With this system, aux send value would be automatically calculated depending on the distance between master and the instruments. This could be used for exemple to automate the ammount of reverb or EQ each instrument get, so instruments further away sound further away. You could also chose a minimum value and a maximum value, that way, if you want a small soundstage you could chose a value between dry and half wet, and if you want a big soundstage you could chose a value between half wet and fully wet. You should also be able to override the aux send value for some instruments, because some are sampled with reverb already baked in, it would have for exemple a constant -10 on the aux send value because of that

The calculations would be very simple and not CPU intensive, it's basically what i do on a spreadsheet image

Now, we could imagine a few features to make all of this more useable for every size of ensemble, maybe something similar to score order where it automatically places instruments on the soundstage depending on some preset standard configuration such as orchestra or big band. I made a guide circle on the mockup, but you could also have guide semicircles, rectangles and trapezoids depending on what kind of ensemble you want.

Now, advanced features could include several microphone positions which could be mixed together before being sent to the master, or other ideas like that.

A real wish of mine would be for that system to be able to handle surround panning, but stereo panning is good enough. I hope my description make sense (english isn't my first language), and you will consider my idea.

shoogle commented 1 year ago

This is a cool idea! As well as volume-based panning, we could also try adding a small delay between the right and left channels to simulate sound arriving in one ear slightly earlier than the other based on the direction. and apply HRTFs for the full binaural effect.

Reloup38 commented 1 year ago

This is a cool idea! As well as volume-based panning, we could also try adding a small delay between the right and left channels to simulate sound arriving in one ear slightly earlier than the other based on the direction. and apply HRTFs for the full binaural effect.

I didn't think about it, but off course angle and distance could affect volume as well ! I didn't think of the soundstage system as something that applies effects but just as a graphical interface to control effects and channels in the mixer, but if it was able to do binaural effects, that would be amazing.

DaddyLudwig commented 1 year ago

I would love for this to be implemented in chamber music especially like string quartet, piano trio etc. I mean, the chamber music I have already sounds great, but I think it would be even greater with panning.

This was my first try at string quartet panning calculations, though I think I got the violin numbers backwards. I’ll show a test with Eine Kleine Nachtmusik later.

E94183C1-9F60-46B0-BF0D-37DF88871C6A

RustyBust commented 5 months ago

Just discovered this while using the search bar, I would love to see if there is any progress on this as I use MuseScore pretty frequently.