Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial brass sound stays throughout all patches #384

Open
Slider2732-2 opened this issue Dec 2, 2022 · 33 comments
Open

Initial brass sound stays throughout all patches #384

Slider2732-2 opened this issue Dec 2, 2022 · 33 comments

Comments

@Slider2732-2
Copy link

A perplexing situation.
Build is a Pi 4, with a rotary encoder, latest MiniDexed but no screen or DAC yet. My Beatstep Pro didn't seem to fire notes, nor Roland JU-06A. Instead, am using a USB qwerty keyboard, due to no dedicated MIDI controller keyboard.
Also, the sysex/voice folder is present and sounds are in there from Dexed cart.
At boot, I can play a brass type of sound.
On pressing the rotary switch twice (slowly) I can then dial in other sounds by moving the encoder anti-clockwise.
However, the brass sound stays and can also be heard along with any new sound.

The brass sound can be lowered, by setting all 8 pan values to zero in performance.ini, but it's still present.
I tried swapping out the sounds from sysex/voice to other ones and still the brass sound plays.
Next thing, completely deleting the sysex/voice folder.. aha, the initial bank is within the main code!

Though, it can't be a bug if noone else has the problem?
It must be because of having to use a USB qwerty keyboard?

Many thanks for any help :)

@Banana71
Copy link

Banana71 commented Dec 2, 2022

Hi Slider2732-2,

the default performance.ini is a layer of four Brasses TG1 to TG4. You can set in Performance.ini the MIDIChannel2, MIDIChannel3 and MIDIChannel4 to "0" than you hear only a single Sound from TG1.

performance TG1 only.zip

with pan you can set the left-right balance in the stereo-output.

@diyelectromusic
Copy link
Collaborator

I remember having the same issue when first trying MiniDexed. The default performance.ini might be interesting to show the potential, but it isn't very "beginner friendly". I do wonder that the default ought to be a lot simpler?

(I know there is work to allow several performances to be chosen)

@Slider2732-2
Copy link
Author

Slider2732-2 commented Dec 2, 2022

Thank you very much Banana for the alteration.
Edit: It works perfectly with the qwerty keyboard and encoder!

After a bunch of thought, I had a workable idea. A MIDI controller will trigger whatever channel is selected, but a qwerty keyboard likely fires all 16. Therefore, the initial sound would be allocated to channel 1 and dialing up a new patch would be allocated to the next available. Both would sound.
Perhaps a similar route to the one you followed, diyelectromusic.

It may well be rare for someone to use a qwerty keyboard, but I'd think plenty of non musicians would do so to test the rig. If it worked, then there'd be reason to invest in a known working MIDI controller, a DAC and screen.
A line in the build instructions would be useful to that effect. That if using a qwerty to test, along with a common rotary or the 4 momentary buttons then 2 voices will be heard and you will post about it being an issue lol.
It's half a build, so it should only half work - my other thought :)

@probonopd
Copy link
Owner

I remember having the same issue when first trying MiniDexed. The default performance.ini might be interesting to show the potential, but it isn't very "beginner friendly". I do wonder that the default ought to be a lot simpler?

Yes, the idea of the default performance is to show the potential of the device. For "real work", a different performance is preferable.

@diyelectromusic
Copy link
Collaborator

I remember having the same issue when first trying MiniDexed. The default performance.ini might be interesting to show the potential, but it isn't very "beginner friendly". I do wonder that the default ought to be a lot simpler?

Yes, the idea of the default performance is to show the potential of the device. For "real work", a different performance is preferable.

In that case, as someone has already got as far as installing MiniDexed at this point then I think the default performance.ini should be the simplest to allow them to explore it further. As pretty much the first thing people will do is try to change the voice I think that ought to work with no surprises "out of the box" :)

But maybe that is just me!

@probonopd
Copy link
Owner

Well, my thinking was that it needs to sound impressive out of the box. Once people start editing voices, they probably understand how to change/edit a file :)

@diyelectromusic
Copy link
Collaborator

Well, I'd like to think I had a pretty good handle on things like this, but when I installed MiniDexed for the first time it was pretty confusing for me to start with, trying to work out what I'd done wrong as patch changes didn't seem to be having much effect... I wasted a fair bit of time before realising that several channels were all sounding at once and it wasn't actually a problem with my build or (main) configuration.

The fact that it has been raised as an issue means I wasn't the only person perplexed as to what was going on. I guess it depends on the mental model you're bringing to MiniDexed. I'd started with seeing it as a TX816, so 8 independent "synths" i my mind, so I hadn't spotted that several were actually playing at the same time, hence the confusion.

I still believe that if someone is going to get to the point of putting together enough of a system to actually try MiniDexed for themselves, then they are probably already sold on the idea of having a DX7. I don't think they'll need convincing any further :)

As far as "editing a file" goes - actually no, that means taking your SD card to a PC and fiddling around with it, but the UI encourages changing "within" the system. In many cases I expect the first action for many is to set tone generators to independent MIDI channels and configure pan settings as something fairly generic so there is a "blank" baseline to start from, but happy to be told I'm wrong.

As we have the option of saving performance settings now, I think it makes more sense to start with a "blank slate" and let people fiddle via the UI than start with a complex setup that they have to "decode" (and undo) before doing their own thing?

But I'm only throwing my comment in as a "me too" having this issue, so I'd be interested in hearing others thoughts :)

Maybe start with a "simple" and a "showing off" performance.ini in the GitHub and make people choose one on installation so at least it is obvious this is something to consider?

I tend to work on the "principle of least surprise" for things. For a multi TG MiniDexed, least surprise for me says the first install out of the box should let you change the voices and hear them change :)

I understand how it all works now, so its not an issue for me, but I'm just adding my voice here it as I think there will be some new users getting caught out by this one.

Kevin

@Banana71
Copy link

Banana71 commented Dec 3, 2022

We have everything we need. :-)

In my opinion, the default performance should also be a simple single patch. In addition, the sysex/voices/... and the performance/.. structure should already be created, incl. some Performances.

In the download you will find my file structure and sounds for example

MiniDexed Sounds and Performances.zip

The DX7 factory sounds are available on Yamaha Black Boxes
https://yamahablackboxes.com/collection/yamaha-dx7ii-fd-synthesizer/
https://yamahablackboxes.com/collection/yamaha-dx7-synthesizer/patches/

Is it possible to start the miniDexed directly in the "Performance - Load" menu?

A synthesizer lives from his sounds. Therefore there should be an area where everyone can easily share sounds or performances.

@probonopd
Copy link
Owner

Is it possible to start the miniDexed directly in the "Performance - Load" menu?

This is not yet implemented but should be doable.

@diyelectromusic
Copy link
Collaborator

Did we resolve this? I think the proposal is for a "simple" performance.ini to be the default to minimise surprises for new users?

I don't know how this relates to the new performance save/load options though.

Kevin

@diyelectromusic
Copy link
Collaborator

Bumping this. Can we change performance.ini to a single TG responding to MIDI OMNI for "getting started" reasons, especially now there are many performance files to choose from thanks to @Banana71 ?

Kevin

@probonopd
Copy link
Owner

@diyelectromusic my line of thinking is that the out of the box experience ("what I hear out of the box without any configuration") should show the capabilities of the device. More advanced users are more likely to know how to load a blank INIT as the default performance than new users trying to get a sound out of the device for the very first time. @Banana71 it is clear that someone like you wants to change the default, and that's easy to do, isn't it?

@diyelectromusic
Copy link
Collaborator

I know that is what you think, but I maintain that the most common thing for a new user to do when turning it on is to change the voice and see what they sound like, and having the thing respond as if it is ignoring them isn't very friendly, as evidenced by this issue, by this also being raised in discussions elsewhere, and it mirrors my own first experience with MiniDexed too - it took me quite a bit of "head scratching" to realise what was going on - remember at this stage I could have got so much wrong bulding it - missing ROMs, getting the audio output wrong, - it took a while to spot that all TGs were enabled in OMNI mode still playing the default sound, and I'd like to think I was pretty clued up on what it was doing :)

If they've already installed it to the point where they have it running, then they don't need convincing of its capabilities and at the end of the day there is so much out there about the DX7 already. But giving them a problem to solve right out of the box for something so basic as changing the voice feels like it can put people off really quickly.

Having changing the voice only working for "more advanced users ... who know how to load a blank INIT" kind of makes the point for me I'd say. And out of the box the thing will already make a sound as it even has a default full bank of voices to load if there are no ROMs. But when something as simple as changing the voice doesn't work out of the box, I think that is a mistake.

I suspect we won't see "eye to eye" on this one :)

But either way, regardless of what you decide, this issue should probably be closed!

Cheers!
Kevin

@Banana71
Copy link

Banana71 commented Apr 1, 2023

As with everything, there are different approaches and that's a good thing.
My thoughts on this:
The manufacturers of the synthesizers that I know don't start their instruments with an INIT sound. Newcomers who start the miniDexed for the first time should be offered the best possible listening experience. After the system start, the miniDexed should start in the Performance Load menu, so that everyone can easily switch between the performances.

A small QuickStart guide in the form of a video or a one-pager showing the first steps (Voice, Bank, MIDIChannel, Pan, Detune....) would be helpful. I've also been thinking about a FAQ page on Wiki.

@probonopd

@Banana71 it is clear that someone like you wants to change the default, and that's easy to do, isn't it?

I don't understand exactly what you mean now? Who wanted what?

@probonopd
Copy link
Owner

Sorry if I was not clear, @Banana71 I just used you as an example of a power user who wants to program his own voices and probably had no difficulty to change the default performance to something else.

@diyelectromusic
Copy link
Collaborator

The manufacturers of the synthesizers that I know don't start their instruments with an INIT sound.

They offer a bank of preset voices you can select between and hear working. MiniDexed can do that too, but the default performance setting means that selecting a new voice is still sounding Brass 1 on three TGs making it sound like voice selection isn't working. I know of no manufacturer that gives you an "out of the box" experience that looks like changing patches doesn't work :) If you push a button on a DX7 to select a different voice, it changes the voice, it doesn't keep sounding Brass 1.

We're not talking about a blank INIT voice or bank, we're talking about a simple performance configuration that allows the user to change voices and be able to hear those changes take effect.

Anyway, I'm repeating myself now :)

Kevin

@probonopd
Copy link
Owner

probonopd commented Apr 1, 2023

Yes, I can see both sides. I'd say, let's see how many complaints we get about the current default. And in general, let's MiniDexed behave by default like a "real instrument" bought in a store, because that is what users have come to expect.

Would it be preferable to have the performance selection (rather than the voice selection) more prominent in the menu?

@diyelectromusic
Copy link
Collaborator

Well three comments have surfaced on this issue that I'm aware of, and I only mentioned it as a "me too". It wasn't a complaint, it wasn't worth mentioning otherwise, but it did cost me quite a bit of wasted time when I got started trying to work out why it wasn't doing what seemed the most obvious way to work. I always work on the "principle of least surprise" on things like this. What person won't be surprised when they change a voice and it doesn't seem to work?

I think as most people will come at this as a "DX7 on a Pi" rather than a "TX816 on a Pi", and more people would be familiar with a single multi-timbral synth than layering synths (how many people had a TX816 back in the day compared to the DX7?) then I would say the performance side of things should remain in the "more advanced" category until people are familiar with how to drive a single TG. It is much simpler in my view to explain how the "single synth TG" works and then tell people they can have up to 8 than start with a multi-layered, multi-timbral, polyphonic, detuned setup and try to explain how all that works enough to allow them to wind it back.

A "real instrument bought in a store" will not ignore you when you change the voice ;)

Kevin

@Slider2732-2
Copy link
Author

Thanks very much for continuing the discussion, it is very much respected.

Perhaps the resolution really is just a simple note of explanation added to the install guide.
Banana71's zip could be linked to for those with minimal experience or equipment?
It should, in my opinion, be stressed that it's only an entry level introduction when configured in such a way.
The properly configured code stays as is, others with no skills can know that they are being catered for.

My own experience is thought to be in line with most 'casual' tinkerers and musicians, the use of a Pi being strongly linked by people to 'hacking' something to emulate something else. I've no doubt the USB keyboard being used to trigger notes would be viewed similarly. 'We' cludge when not owning the proper equipment for the job at hand.
Personally, I don't like the idea that someone may try out MiniDexed with a USB keyboard, hit this newbie problem and go off to make a weather station with their Raspberry Pi!

@probonopd
Copy link
Owner

Perhaps the resolution really is just a simple note of explanation added to the install guide.
Banana71's zip could be linked to for those with minimal experience or equipment?

Yes, in fact, we are shipping Banana71's performances with MiniDexed now...

@Slider2732-2
Copy link
Author

Ah, wonderful!

Issue resolved - thank you probonopd :)

@diyelectromusic
Copy link
Collaborator

Well three comments have surfaced on this issue that I'm aware of,

Make that four (probably): #472

Kevin

@diyelectromusic
Copy link
Collaborator

(five #472 (reply in thread))

@diyelectromusic
Copy link
Collaborator

(six #500 (comment))

@diyelectromusic
Copy link
Collaborator

(seven #664)

@diyelectromusic
Copy link
Collaborator

(eight #772 (comment))

@Banana71
Copy link

This is slowly becoming a running gag :-)

I'm always shocked by the sound after switching it on if I stupidly overwrote my performance.ini in the root directory when installing a new version.

  • I was thinking of an iconic sound that everyone associates with a DX7 in a simple performance:

Only TG#1 with the voice E.Piano 1, patch 11 from ROM1A, including VoiceData1 and with a little reverb.
Midi Channel=1 or Omni? All other TGs remain silent.
It really should be a bit simpler and more transparent for the user at the beginning.

Example of the performance described above. (please don't forget to rename the file to performance.ini): performance.ini.txt

What ideas do you have?

@diyelectromusic
Copy link
Collaborator

diyelectromusic commented Dec 11, 2024

Can we change performance.ini to a single TG responding to MIDI OMNI for "getting started" reasons, especially now there are many performance files to choose from thanks to @Banana71 ?

This is what I'd like to see in the default performance.ini. I think it will cause the least issues for a new user. It is an easy config to start with and a pretty easily understandable one to go back to after messing around with other performances.

I don't mind EP, but having no voice in the default performance.ini means that the voice selection would work as expected - embedding a voice in the performance might cause confusion - so I think the default ought to use bank/voice rather than embedded voice parameters. I know that means a ROM is required - although it kind of doesn't, as if no performance/ROMs are present we hard-code in Brass 1 anyway...

So I'd say: TG 1 = OMNI; all other TG = disabled. No embedded voice data, but Bank 1, Voice 1 selected and if there are no ROMS then that will be Brass 1 anyway.
 
All in my view of course.

Kevin

@Banana71
Copy link

Banana71 commented Dec 12, 2024

Hello @diyelectromusic Kevin,

I agree with you, except when it comes to embedded voice data.
I enjoy being surprised, but when I load a performance, I also want to get what I expect.

Without voice data in the default performance, the sound depends on the voice bank on the SD card. On my miniDexed, for example, the first voice in Bank 1 is a kick drum. If I play a chord after starting the miniDexed, I get quite the wake-up call! 😮

Here's what I’ve done to address this: performance.ini.txt

  • I set TG1 to OMNI mode, while all other TGs are disabled.
  • TG1 uses the Brass 1 voice data, while the other TGs have no voice data assigned.

With this setup, a fresh system—whether or not it includes voice banks—avoids unexpected behavior. Without voice banks, the miniDexed behaves like a DX7, loading voices from ROM1A. Once a performance is saved, the voice data is embedded anyway.

Best regards,
Peter

@diyelectromusic
Copy link
Collaborator

diyelectromusic commented Dec 12, 2024

I agree with you, except when it comes to embedded voice data. I enjoy being surprised, but when I load a performance, I also want to get what I expect.

I only meant with the original performance, not with all. When the user is choosing performances, I agree, but the default performance is really a "use it in separate TG mode" configuration, so in that instance it isn't really selecting a performance, it is setting up MiniDexed for first use - and I think that ought to be "out of the box, it selects bank 1, voice 1".

With this setup, a fresh system—whether or not it includes voice banks—avoids unexpected behavior. Without voice banks, the miniDexed behaves like a DX7, loading voices from ROM1A. Once a performance is saved, the voice data is embedded anyway.

That's fine too - again with a default non-expert user configuration, it still gives the illusion of bank 1, voice 1, assuming a standard setup - which is Brass 1.

So yes, we can do that instead if you think that makes more sense.

I'm just after "what is least surprising for a new user, who doesn't know their way around the system yet" setup for someone following the instructions we have online.

Although - as you say, we embed ROM1A in the system, so actually, is it more confusing if they've put their own ROMs on to start with a sound that might not be in their set?

I don't have a strong opinion I guess on embedded Brass 1 vs bank 1 voice 1. I'm still inclined towards the latter, as weren't there international DX7s with different ROM sets? Bank 1, voice 1 on startup feels "right" to me rather than hard-coding a sound they might not have even installed...

But either way - it is the TG MIDI configuration that is more important to me for this issue to be solved.

Kevin

@Banana71
Copy link

The language barriers make it difficult to understand complex topics without misunderstandings.

I only meant with the original performance, not with all.

  • Yes, I always only spoke about the default performance.ini.

I'm just after "what is least surprising for a new user, who doesn't know their way around the system yet" setup for someone following the instructions we have online.

  • I want to achieve the same thing. Where did we describe which sound comes when you first switch it on? I can't find anything in the WIKI. Wasn't that only explained in the discussion area?

I don't have a strong opinion I guess on embedded Brass 1 vs bank 1 voice 1. I'm still inclined towards the latter, as weren't there international DX7s with different ROM sets? Bank 1, voice 1 on startup feels "right" to me rather than hard-coding a sound they might not have even installed...

  • The confusion does not come from the default sound but rather from the fact that it is so difficult to set a different sound due to the complexity of 8 TGs.
  • If there is no sysex/voice data on the SD card, ROM1A in the miniDexed is active as bank 1. The first sound on ROM1A is the "Brass 1" patch.

Perhaps a short guide explaining the first steps (voice selection, load performance, save performance, save default performance) would help.

@probonopb can replace the performance.ini as a test if he wants, there is always a way back or we can think of something better.

Peter

@diyelectromusic
Copy link
Collaborator

I guess I just assumed the original DX7 would power up with bank 1, voice 1 selected.
I'm pretty sure my DX11 does that, but I don't have a real DX7 to test :)

Kevin

@probonopd probonopd reopened this Dec 14, 2024
@probonopd
Copy link
Owner

It's a tradeoff:

  • 1 voice by default, or
  • Show the full power and beauty of this instrument

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants