I have already considered the buffer channel limits. These are, again, nodes. 
The nodes take a local form and a general form. Though internally there can 
only be 16 samples played simultaneously, shuffling the samples through the 3D 
sound API, filtering them and globalising them into a composite buffer (this is 
where function bijectivity is important, to allow things to go both ways) will 
effectively stream one sample that has gone through the node hierarchy as a 
single pass or channel. There are primitives I created for bounds, such as 
distance falloff etc. Listen around you and you will not have 16 different 
sounds going on simultaneously unless you’re in a concert hall, waiting for a 
classic troupe to play. When you include occlusion, clipping and filter buffers 
into one composite buffer, you’re getting flexible with the ammount of samples 
you have in your toolkit.

Yes, the world should be considered as a single node from which everything else 
spawns. Just like OOP but using essential shortcut maths (I stronglyh recommend 
anyone to read discreet maths for this). I’m not sure yet how many processes I 
can run to offload stuff and dictate my own memory allocations, but for now I 
am building solid core classes to facilitate as much ressources as possible, 
off from the graphics load onto the sound load.

I’m surprised no one has considered the node system, such as nodes.js or 
python’s setup() module. They are clearly under used and should be given more 
attention.

Like I said, some of the invariables need to be load tested with profiling, but 
at this phase I am constructing the underlying world structure. If there’s a 
method out there with either python, js, java, c or to a lesser extent, 
objective c, please don’t hestiate to send me docs to read, etc. The more 
advanced, the happier I am :)


Yuma Antoine Decaux
"Light has no value without darkness"
Mob: +612102277190
Skype: Shainobi1
twitter: http://www.twitter.com/triple7




> On 11/01/2015, at 2:37 pm, Alex Hall <[email protected]> wrote:
> 
> I won't pretend to understand all of this. My degree is computer science, not 
> higher mathematics or engineering. Still, I'm intrigued, and would love to 
> hear a practical example. To keep things on topic, would this library be 
> usable from a Swift or Objective-C app for iOS or OS X? If so, can you give a 
> real-world example of how? I understand representing things as sounds, but 
> how would it handle in a real app? That is, what about loading/managing sound 
> buffers (you can only have 16 at a time in OpenAL), handling stereo sound 
> samples, generating sounds on the fly instead of relying on recorded audio, 
> applying real-time filters or effects, managing occlusions and distance 
> roll-offs, that kind of thing? Is there a mapping engine, where the 
> programmer can lay out the "world" in some kind of XML or JSON format? Have I 
> missed the point entirely?
>> On Jan 10, 2015, at 10:31 PM, Yuma Antoine Decaux <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> I’ll get into more detail on the 3D sound part.
>> 
>> It uses a node system, as mentioned earlier, to plug, unplug, blend or ratio 
>> fit one or more nodes t=which can be filters, user set paremeters or daisy 
>> chained hierarchies of sound buffers. So imagine you call a tree instance 
>> from my library. It uses phi and pi to generate the fractal links down to 
>> the leaf node. Each leaf node has physical properties which follow parent 
>> nodes with a coefficient, or a scalar value spread along the entire tree. 
>> Each node is a sound buffer or a set of sound buffers. Collision detection 
>> is made via matrix identification and eigan matrices. Now set a wind 
>> particle (full of bounding boxes) object that traverses the tree. Each 
>> collision triggers the sound of a rustle. in real 3D position relative to 
>> the user’s position.
>> 
>> Now take these tree structures and use a spherical shape (revolving the nGon 
>> I mentioned earlier around its y axis) and pass it through a deformer (which 
>> changes scalar values of the vectors within the sphere). This deformer can 
>> use a set of physics class objects such as inertia, parabolic deviations, 
>> swirls, you name the geometric shape, there’s a math formulae for it. 
>> Consider that each vector or vertex is a bird in a school of birds. Apply an 
>> index to it, and use this other swarm algorithm I studied to create an array 
>> of bees, birds, fish, whatever. each, when colliding with each other will 
>> have a behavior generator using again, scalar values. I can’t stress enough 
>> the utility of matrices and transformations for things that go beyond just 
>> shapes.
>> 
>> So I’ve gone way past my initial goal, and think this can be very useful.
>> 
>> I want some help with some of the scripts, to complete them. I’m fine paying 
>> for it, but the person needs to not only like the idea, but actually believe 
>> in it.
>> 
>> Anyway, here’s my two cents 
>> 
>> 
>> 
>> Yuma Antoine Decaux
>> "Light has no value without darkness"
>> Mob: +612102277190
>> Skype: Shainobi1
>> twitter: http://www.twitter.com/triple7 <http://www.twitter.com/triple7>
>> 
>> 
>> 
>> 
>>> On 10/01/2015, at 11:18 pm, Alex Hall <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> Can you explain a bit more what this library is doing and how it might be 
>>> used? When you said 3d sound, I at first thought you meant something to 
>>> supplement or replace OpenAL, but that's clearly not the case. I'm not 
>>> clear on just what this does. Thanks.
>>>> On Jan 10, 2015, at 2:34 AM, Yuma Antoine Decaux <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>> 
>>>> Hi All,
>>>> 
>>>> I am currently working on a 3D sound engine. I have so far done the 
>>>> following:
>>>> 1-nodes structure for extracting tag and LUA function calls and creating a 
>>>> hierarchy of each node where parent node is UI.
>>>> 2-A 3D sound library connecting to the js web sound API, using the node 
>>>> system
>>>> 3-a parser toolset to create arrays of configurations between scripts and 
>>>> languages
>>>> 4-A geometric 3D volume matrix with the node hierarchy class used as 
>>>> secondary process
>>>> 5-using a parallell processing class to send socket information between 
>>>> nodes
>>>> 6-A socket distribution (select()) daisy chain communication layer
>>>> 7-A 3D prototype of an SSD based sound processing CPU that stocks all the 
>>>> information in the SSD as static memory. I have been 3D prototyping for 
>>>> about 15 years. I demand elegance and functionality in design, as much as 
>>>> efficient memory management of blocks and sectors. I am a programmer.
>>>> 
>>>> All the scripts are doing exactly what they are supposed to except for the 
>>>> 3D matrix layer, which I am currently working on. However I have done all 
>>>> primitives, transforms and rotations using matrices. About to get back to 
>>>> completing the nGon class.
>>>> 
>>>> This project started as a spark when I saw a tweet about a blind player on 
>>>> World of Warcraft.
>>>> 
>>>> Now it has turned out to be much bigger.
>>>> 
>>>> Everything is written in standard APIs such as python and JS modules. I am 
>>>> trying to complete this accessible World of Warcraft layer which I will 
>>>> use as a GNU license platform which does not use world of warcraft. I 
>>>> don’t understand why blizzard hasn’t done this. But this has given me the 
>>>> opportunity to see exactly what is happening in the system architecture. 
>>>> And be an architect, though I had lost that capacity once I lost vision.
>>>> 
>>>> Will anyone be so cool as to send me a reply with “#vipWOW” as subject?
>>>> 
>>>> I really hope that this ideal I have been carrying on for the past 6 
>>>> years, dedicated to programming and mathematics where I used not do apply 
>>>> so frequently can be growing to a larger community through the effort I, 
>>>> and hope others, will accept as an independant hire, to help. I cannot 
>>>> afford thousands per month, but I have laid down the architecture, the 
>>>> working sub systems, and working through each all the way to the main 
>>>> class.
>>>> 
>>>> This effort, I have come to realise, demands way more hands than my blind 
>>>> vision on the computer can handle, though I handle VIM quite well and 
>>>> efficiently. But it also needs to be accessible to the level I want it at 
>>>> some point.
>>>> 
>>>> If you are ready to experience something seriously cool (network 
>>>> connectivity, private test server, wiki, calendars and contacts, vnc 
>>>> access, ssh, ftp, redundancy is not there yet but we’re working on an arch 
>>>> linux installation), with an extra dimension (tactile), please do contact 
>>>> me. Let’s make an order of classes that will standardise many aspects of 
>>>> our experience on the computer as blind coders, and be the programmers for 
>>>> programmers in facilitating our own experience. 
>>>> 
>>>> Sincerely,
>>>> 
>>>> Antoine Decaux
>>>> twitter: triple7
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "MacVisionaries" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to [email protected] 
>>>> <mailto:[email protected]>.
>>>> To post to this group, send email to [email protected] 
>>>> <mailto:[email protected]>.
>>>> Visit this group at http://groups.google.com/group/macvisionaries 
>>>> <http://groups.google.com/group/macvisionaries>.
>>>> For more options, visit https://groups.google.com/d/optout 
>>>> <https://groups.google.com/d/optout>.
>>> 
>>> 
>>> --
>>> Have a great day,
>>> Alex Hall
>>> [email protected] <mailto:[email protected]>
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "MacVisionaries" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected] 
>>> <mailto:[email protected]>.
>>> To post to this group, send email to [email protected] 
>>> <mailto:[email protected]>.
>>> Visit this group at http://groups.google.com/group/macvisionaries 
>>> <http://groups.google.com/group/macvisionaries>.
>>> For more options, visit https://groups.google.com/d/optout 
>>> <https://groups.google.com/d/optout>.
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "MacVisionaries" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] 
>> <mailto:[email protected]>.
>> To post to this group, send email to [email protected] 
>> <mailto:[email protected]>.
>> Visit this group at http://groups.google.com/group/macvisionaries 
>> <http://groups.google.com/group/macvisionaries>.
>> For more options, visit https://groups.google.com/d/optout 
>> <https://groups.google.com/d/optout>.
> 
> 
> --
> Have a great day,
> Alex Hall
> [email protected] <mailto:[email protected]>
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "MacVisionaries" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To post to this group, send email to [email protected] 
> <mailto:[email protected]>.
> Visit this group at http://groups.google.com/group/macvisionaries 
> <http://groups.google.com/group/macvisionaries>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"MacVisionaries" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/macvisionaries.
For more options, visit https://groups.google.com/d/optout.

Reply via email to