Hi Again Alex, I just went off for a break before getting back to work.
I've pasted your questions and will attempt to answer them all. /managing sound buffers (you can only have 16 at a time in OpenAL) -These buffers send out smaller sample sized waveforms. The waveforms have a specific signature which you trace back, and decompose using a fourrier transform. This is how Jaws or voice over voices are done. What we are essentially doing with code is break it down to its constituent parts and go back up the ladder by adjusting mathematical proofs meaning referencing ourselves from axioms and expressing them in code. This means that each channel is a queue of smaller buffers. -Each of the 16 channels will be used entirely if possible, but for now I preffer keeping a good focus on the xml parsing side to have the proof of concept ready by 2 weeks. , handling stereo sound samples -the API handles this already. It's just a matter of how you process this, where you prioritise, and what other options are there to increase the number of channels. I don't think a second that with what is already there, an incredible experience can't be had. generating sounds on the fly instead of relying on recorded audio, -Sounds on the fly are a signature. A chirp is a wave form signature. Fourrier should be thanked for this. applying real-time filters or effects -The API includes a nodesList which handles this entire structure, using a b plus tree. I'm sure other more advanced tree systems can be thought up or searched for on the net. It's incredible how if your question in google has the right semantics, it finds it exactly as you want it. managing occlusions and distance roll-offs -This is the part I have been working on and will finish either beginning or mid week. By having that same node structure, you are doing concurrency between nodes. These concurrencies can be reshaped into the buffer as they are blended, almost a machine code A+B operation. The geometry is elegant too. Imagine a system, using those same nodes, which are connected by a matrix. The matrix is local, reflecting its position in the global, the world axis. That world axis contains say a matrix of 9 regions. These matrices are the world's child nodes. They have child nodes too. And so a region may have 9 districts. These districts have 16 blocks each (keep it at congruent multiples if possible though I didn't in this example. Where a multiple of one is a multiple of another. Following me so far? Once you've reached the inner most, or most nested matrix, that matrix have simple instructions, tags, calls and listeners. Each functions with the following axioms: 1-function bijectivity. mathematically, each node relation should be mapped. This way you are sure that every single node is bijective with the other node. meaning that functions and their inverses return the original value. This is very useful for a lot of connectivity. Now add several classes which can be instaced and all contain or encapsulate the proper methods for functioning in the world, as well as through the various menus, maps, pop overs, etc. The XML parser I have does exactly that, and places every element in the right hierarchy, then accessible via call, dict search or list / matrix arrangements. The gemoetrical shapes inside come from a library I am coding, meaning every primitive type of shape. The Ngon. low values give you a tetrahedron, increase the value by far and you get a perfect sphere. 4 sides and its a rectangle, etc. Another one is a bunch of points you add together to form the environment, or space where the sound is emitted. Inwards and outwards. At the top of these 3D sound orientation objects class, I call wObjects, you have a smaller matrix with simple tuple like rows which take from a database, which I have already setup with the tables etc. The dB script will continue to increase as various objects are created by code only. Not paintbrushing. Actual abstract and beautifully elegant nature that is handled with the minimum ammount of big O. Factorial by factorial, you're fucked in fact, arithmetic, and well... Now I'll give you an example of how to generate a tree: -Create an ngon. Increase the vector transform influence from one point to a circular shape around it with a hyperbolic falloff. The values of these these falloffs are all class instances. -create a spline (it;s a function line) perpendicular to the original object's x and y. It's easy. You just compare the local axis as compared to world axis of one object then put that value into the other object. -Use the formula that directs whatever tree or plant in real life from its geometry, and make sure to add the phi ratio, or some call it the golden ratio. This ratio will allow for the natural fractals to combine. Mathematically, you just have to look for the math you want, understand it, and apply it. Back to the task. -Use several properties to the revolving of the branches over the 3 axes, and each split contains a frequency wave. You can now start simulating with the node 3D sound API. -There are plenty of other examples of how nature works, physics is a good start for that, and that's what I'm taking this semster alongside some large programs and mini systems courses. Here you are. I've written a lot. This is because I know what I'm talking about. And ready to share it with yall because I'm sure ther are great suggestions from others in this group. 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 <mehg...@icloud.com> wrote: > > /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 -- 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 macvisionaries+unsubscr...@googlegroups.com. To post to this group, send email to macvisionaries@googlegroups.com. Visit this group at http://groups.google.com/group/macvisionaries. For more options, visit https://groups.google.com/d/optout.