Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

ASM and polystream voices?

For general discussion related FlowStone

ASM and polystream voices?

Postby tor » Wed Jan 16, 2013 6:44 pm

I see this if I connect a text primitive to the string out on the Poly to mono primitive.

Code: Select all
Data Size=16128
Init Code Size=33
Code Size=120
***** Init *****
push ebp;
mov ebp,edi;
movaps xmm0,dword ptr[ebp+14112]
movaps dword ptr[ebp+16016],xmm0
movaps xmm0,dword ptr[ebp+16000]
movaps dword ptr[ebp+15984],xmm0
pop ebp
ret;
***** Sample Rate *****
push ebp;
mov ebp,edi;
push ecx;
mov eax,dword ptr[ebp+4144]


So the question now is.... is there some way to manipulate voices in ASM?

NB: I posted this at the old forum as well.

Malc/Support, if you are around?
All other answers are very welcome too :D
tor
 
Posts: 114
Joined: Fri Sep 24, 2010 5:54 pm

Re: ASM and polystream voices?

Postby tor » Wed Jan 16, 2013 8:42 pm

Hm.... think I have to learn Ruby to do what I want to do. It has been a while since last time I looked at it and now when I see some Ruby code I feel like wommitting. So darn cryptic :(
tor
 
Posts: 114
Joined: Fri Sep 24, 2010 5:54 pm

Re: ASM and polystream voices?

Postby trogluddite » Wed Jan 16, 2013 9:26 pm

I would be very surprised indeed if that is the complete code of the poly to mono.
A poly to mono is combining a load of voices - a mixer if you like. But there is no adding up going on in that code at all, just a bit of data being moved from one place to another. It also leaves a value in the register eax at the end of the 'sample rate' part which is unusual. I would guess that it's just a small part of the complete code, maybe just an important section for de-bugging.
However, have you ever noticed this - look inside the MIDI to Poly, at the V to P primitive - there is an output called "voice tag". I'm sure I have seen experiments with on the old SM site, but I can't remember quite what, or whether they led to anything useful.- but that would be the place to look if your looking to get deeper into poly voices.

tor wrote:So darn cryptic

LOL, I can't believe you said that straight after posting up a bit of assembly language! :shock: ;)
Especially ironic as, if you paste that code into a regular assembly box, it doesn't do anything! (us mere mortals aren't allowed anywhere near dword pointers)

It's the { |weird| UseOf::brackets(and).other.punctuation?[marks] } that keep catching me out!
Other than that, I find is quite readable compared to many languages. I think being a native English speaker is a big advantage though - there are just so many different methods that they cannot all have simple names, and the words used are totally 'Anglo-centric' - like in many other computer languages, I suppose.

And you won't need Ruby if your messing with poly's - Ruby doesn't handle them at all!
All schematics/modules I post are free for all to use - but a credit is always polite!
Don't stagnate, mutate to create!
User avatar
trogluddite
 
Posts: 1730
Joined: Fri Oct 22, 2010 12:46 am
Location: Yorkshire, UK

Re: ASM and polystream voices?

Postby tor » Wed Jan 16, 2013 11:08 pm

I see :)

But in ruby i understand you can work on midi and that is sort of "even" better. What I want to do with the voices is to "gate" them so one continous voice get chopped into multiple serial voices. guess it is better done with midi and ruby.

It was the dword stuff i was wondering about in the pasted code above. I presumed it was part of the voice mixing process and wondered if it was possible to do other things like what I mentioned above in ASM.

I have also wondered about the V to P and did not have the brains to do a search at the forum :oops:

Thank you trog :)
tor
 
Posts: 114
Joined: Fri Sep 24, 2010 5:54 pm

Re: ASM and polystream voices?

Postby tor » Thu Jan 17, 2013 12:30 am

I have now vacuum cleaned SM-forum and found the info I was looking for. I guess maybe I can manage to get around with the available solutions suggested with some tweaking and volunteer headache.

Thank again Trog, as always :D
tor
 
Posts: 114
Joined: Fri Sep 24, 2010 5:54 pm

Re: ASM and polystream voices?

Postby MyCo » Thu Jan 17, 2013 1:12 am

tor wrote:What I want to do with the voices is to "gate" them so one continous voice get chopped into multiple serial voices.


Take a look at the arpeggiator in the example synth... it basically does that:
viewtopic.php?f=79&t=1075

tor wrote:I see this if I connect a text primitive to the string out on the Poly to mono primitive.


You only see the code from poly components. When you connect an "just" the poly to mono, then there is no ASM code at all.
Also the "poly to mono" string output shows only the code of the poly section as "one instance". So the code shown there is only used for the first 4 voices, for the next 4 voices, this code is run twice and than summed up and also all SSE channels are summed together. As trogluddite mentioned, this is not shown in the code output, but that's propably because it isn't done in assembler at all.
User avatar
MyCo
 
Posts: 718
Joined: Tue Jul 13, 2010 12:33 pm
Location: Germany

Re: ASM and polystream voices?

Postby tor » Thu Jan 17, 2013 1:38 am

I was looking at the Example Synth earlier tonight. It made me vommit :P almost.
Problem is I dont know enough Ruby to edit it to fit my needs and wishes. I guess I just have to keep fiddling in SM. I will of course look into FS now and then and repeat some Ruby tutorials and maybe I get the hang of it over time. But no rush. Cant afford FS in a long while and there is many features I miss. So if I had the $.... think I would wait anyways.
tor
 
Posts: 114
Joined: Fri Sep 24, 2010 5:54 pm


Return to General

Who is online

Users browsing this forum: No registered users and 69 guests

cron