SynthMaker

Odd Poly Bug?

Archive · 2008 22 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

Tom7777 ·

Well i guess its a poly bug as its in a poly stream but no doubt im wrong, anyways i was just messing about with a few osm's i downloaded and i came across a rather odd bug, basically what happens is when you connect a empty synth module bypassing the to stereo bit the notes from the other channel get sent backwards (i think) in the path and it starts outputing odd noise even though its given no input and just sending a out, attached is the osm demonstrating this -

theun ·

No, it's not a bug, for sure !

Though it took me some time to find out. But it's a nice example for a fault finding course 😉 .

First of all, there is a problem with the poly threads. Upon connecting the output of the module you added to the output of the module you're in, your more or less creating an undefined situation. Essentially, a new instance of a poly thread is created upon receiving a note on message. After receiving the corresponding note off message. This instance will be terminated again, and so on. However the module you added is not part of the same poly thread (as it's MIDI input is not connected). In order to get this right and to get rid of the strange behavior, you could add another combine module :

However there is some more to explain. Upon connecting the MIDI output of the sequencer module to the module you added this module still gave crappy not recognizable output. I studied the MIDI output of the sequencer and found that the note on's that are generated are quite low. All at the very bassy side of the keyboard so to say. So this explains that the module you added only gives some crappy stuttering. It seems the sequencer wants to play say the lowest notes on a piano keyboard.

How come that the bell synth module sounds so good then ? Well, the person who made this synth/sequencer (I don't know who made it or where you got it from) used some quite smart tricks. Somewhere inside he (or she?) multiplies the frequencies (derived from the note on's) controlling the carrier and modulator frequencies of a so called "simple fm" circuit. [upon hearing the nice bell sounds I already thought I'd recognize FM, ears don't lie 😉 ]

So if you would add a multiplier in the module you've added also, you'll get some sound out of it as well.

Tom7777 ·

First off i know how to work around it to make the sound correct, but the point i posted is that its sending out a signal when its not being fed an input, imo this shouldn't happen. If this is not a bug imo its a stupid setup imo that it works how it does atm, it should only effect the audio if the midi is given an input and played imo.

Edit - i also get crashes from messing around with it a bit too. Do you not think that its a bit odd the way it is working though, it should be requiring a trigger and frequency value but its not being given any which is why i mention it. Sorry for being annoying thats just my view, and i know theres workarounds for alot of stuff, and thanks for the solution btw, i didn't plan on using it just wanted to report a bug (imo) so i figured i should post that, sorry for not pointing this out before. 🙂

Edit 2 - Attached is the crash version osm also

theun ·

Hi Dan,

It wasn't my intent to offend you in any way, so if I 've done so please accept my apologies.

English isn't my first language, it takes me quite some time to find correct and understandable wordings. Probably the result is that what I write sounds rather formal I'm afraid. Further when testing something I tend to document more or less exactly what I've done and also try to interpret/explain the results. Probably a residue of having spent (too) many hours doing lab tests at university (30 years ago) - but maybe not the best approach for a forum post ....

Of course I know you're much longer around here then I am, and you've been always very active on the forum. So I really do not underestimate you, on the contrary, I really do respect you very much.

On topic again:

it should only effect the audio if the midi is given an input and played imo

I feel sorry to disagree .... It is not so much a matter of midi input yes or no I am afraid, but imho the problem is caused by the fact that the synth module has its own voice management, independent from the original midi to poly module. Even also connecting the MIDI with the sequencer MIDI output doesn't fix it. It seems that if you have two midi to poly modules in the schematic you'll need also two combiner modules. Somewhere the user manual indeed says: "A complete, usable poly section always starts with a MIDI to Poly module and ends with a Combiner module." So yes, it seems to me that upon connecting the output of the synth module a "faulty" schematic is created. It would be nice if SM would give some warning thou.

Should Crash after following instructions

crashes here too - I fully agree this shouldn't happen

best regards, theun

Tom7777 ·

No worries theun sometimes i can read things the wrong way and can be a bit direct at times i guess in my replys it's all good, probably not a bug then just a bit odd what happens with the sound, the crash hopefully malc can get sorted 🙂

malc ·

Leave the crash with me 🙂

Tom7777 ·

I came across a similar thing again where its going back up the signal path, if not a bug how do i force it to 1 key/note function without having to use midi modules etc? Definately unwanted behaviour imo.

Tom7777 ·

Anyone ?

infuzion ·

Tom7777 wrote: I came across a similar thing again where its going back up the signal path, if not a bug how do I force it to 1 key/note function without having to use midi modules etc? Definately unwanted behavior imo.

That is the nature of poly: any sum = sum of ALL notes, & Poly to Mono sums all Poly. If you want a [0..1] range, you must divide the output by the number of notes, perhaps from the Voices to Poly Trigger Counter.

Tom7777 ·

ok, its a bit odd how it seems to travel backwards up the path though imo, one would expect a one way path unless given the input at least thats what i would want/expect to happen. 🙂

oddson ·

Hey Dan..

From a cursory reading of this thread I can't tell if anyone has understood your point (although you could have avoided some confusion with better instruction as to what you meant by 'connect this' 😇 ).

SynthMaker connections are not nearly as one-way as they appear to be, especially poly. But the results of this are a bit of a surprise to me.

Interestingly, if you connect the generator from the right (only) and connect a Poly Read mod to it's V2P primitive on the frequency output it produces non-zero output but on the pitch it remains zero. 😕

I'm going to try to replicate the behaviour with much simpler example and report back to you here. Then maybe OutSim can tell us if it's expected behaviour or a bug.

oddson ·

OK... I guess this is just how the poly stream works.

I knew a poly stream can run backwards from using ADSR generators that are connected from the right only. What I didn't know is that the underlying midi data is also present.

oddson ·

Now I'm really confused:

@ OutSim: What's going on here?

I think the poly channel should open and be available to the left but the other MIDI data should not be available to the components so connected. This shows that the pitch/frequency data if altered in the right-hand-flow direction does not alter the pitch in the phantom connection. On top of that there is some other weird interference happening.

Tom7777 ·

Yeah im sure theres something funny happening 😕 thanks for checking it out

Edit - Is it possible to limit a poly signal to 1 voice without the midi stuff, no doubt it wouldn't matter if the backwards signal was removed.

malc ·

All the strangeness is caused by the fact that there are 2 MIDI to Poly components in the same Poly Stream. This isn't allowed. I' admit this restriction isn't very clear and the software obviously doesn't prevent you from doing it. That said, I'm not sure why you'd ever want to have two in the same Poly section.

The whole compiling mechanism assumes only 1 MIDI to Poly (or Voices to Poly) and because of the way it works you're seeing these strange effects. So not a bug as such, just a side effect of being allowed to do something that you shouldn't be allowed to do 🙂

Tom7777 wrote: Is it possible to limit a poly signal to 1 voice without the midi stuff, no doubt it wouldn't matter if the backwards signal was removed.

It's the MIDI part that generates the voices so I don't see way of doing that Dan.

oddson ·

Did you look at my two examples Malc... only 1 M2P there. It's not much of a 'bug' as why would you ever have a generator connected from the right only but the 'interference' like noise in the second is very strange.

malc ·

Ah,no - only looked at the latest one. Will check the other one out 🙂

Tom7777 ·

All the strangeness is caused by the fact that there are 2 MIDI to Poly components in the same Poly Stream. This isn't allowed. I' admit this restriction isn't very clear and the software obviously doesn't prevent you from doing it. That said, I'm not sure why you'd ever want to have two in the same Poly section.

Im sorry but i can't agree, maybe for the ones oddson is posting but i got the poly feedback in the example synth testing a filter which the whole thing had just one midi to poly thing. What i had has an extra poly to mono connection however to get a green value but i can't see sending it back up the path normal.

The whole compiling mechanism assumes only 1 MIDI to Poly (or Voices to Poly) and because of the way it works you're seeing these strange effects. So not a bug as such, just a side effect of being allowed to do something that you shouldn't be allowed to do 🙂

Again it is a bug because i have seen it happen with just 1, i will look for an example but i know that it does happen.

Is it possible to limit a poly signal to 1 voice without the midi stuff, no doubt it wouldn't matter if the backwards signal was removed.

It's the MIDI part that generates the voices so I don't see way of doing that Dan.

Thats annoying, the solution then would be to stop feedback from the poly, if not for the whole system i would like a module please.

Tom7777 ·

Ah yeah lol the example is already posted in the thread called 'Poly Bug Maybe.osm' theres only one MIDI to Poly in it the input it's being sent is a static green value thats being converted to poly using a dezipper and it needs to use the cutoff for modulation etc if that was added. It works only it doubles the value with the more keys held. How about a 'poly to float' module with a use single or all voices option etc maybe.

malc ·

@oddson:

I looked at both examples now, backPoly and backPoly2. Unless I'm going mad (and I never rule that out as a possibility) both have 2 MIDI to Polys in them.

@Tom7777:

Which schematic did you get feedback in? The original "Poly Bug.osm" you posted has two MIDI to Polys so that one I think I've explained.

Maybe we're getting our wires crossed a bit. When I said all the strangeness I was refering to the issues described in your original post and those that oddson posted.

Now, "Poly Bug Maybe.osm" (which I hadn't looked at) seems to be about a completely different issue ie. that of converting a poly signal to a float. If you play more than one note the Poly to Mono in there will add the Poly signals together and that's why the numbers add up.

If I understand you right you want to be able to single out only one of the Poly signals for conversion to float? What if you had a component that only looked at the first Poly signal - would that do the trick? That would be easy enough.

Tom7777 ·

@Tom7777:

Which schematic did you get feedback in? The original "Poly Bug.osm" you posted has two MIDI to Polys so that one I think I've explained.

Poly Bug Maybe.osm, feedback in that the inputs static but it multiplys the value, the other had 2 m2p's yeah sorry for the confusion.

Now, "Poly Bug Maybe.osm" (which I hadn't looked at) seems to be about a completely different issue ie. that of converting a poly signal to a float. If you play more than one note the Poly to Mono in there will add the Poly signals together and that's why the numbers add up.

Ok what confuses me though is the fact the input is static and just sending out poly in that it is also connected to the path with another wire, also Poly to Mono would convert to just 1 voice (first)? yet it acts as a poly signal still

If I understand you right you want to be able to single out only one of the Poly signals for conversion to float? What if you had a component that only looked at the first Poly signal - would that do the trick? That would be easy enough.

Yes exactly, i would like to be able to bypass the whole multiply up thing that seems to happen. The module you suggest would be great thanks. 🙂

oddson ·

malc wrote: Unless I'm going mad...

No... it's me. Sorry.

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.