Your problem is that you are dynamically allocating memory using the new construct yet you are not deleting it correctly afterwards. Hint, once a return statement is reached no other code in the function will get processed so you are not triggering the delete statements to free up the ram.
How about using an array of length two and writing to it each time you change from -1 to something else, e.g: 1:[-1] 2:[1] previous value [float] (Copy array[0] to array[1], write value to array[0]) 3:[-1] 4:[1] current value [float] (Copy array[0] to array[1], write value to array[0]) 5:[-1] This w...
I take your point, there is no denying that CSound has many cryptic keywords built into the language that can make it seem confusing :) As for your DSL transpiler, it already exists http://faust.grame.fr/ ;) You can write your dsp in Faust and either export the C code to compile a Csound plugin or r...
How about this? Note that it will round your input down to an integer prior to the conversion to hex so you may lose some precision.. ////////////////////////////////////////////////////// // Int to Hex ////////////////////////////////////////////////////// //////////////////////////////////////////...
seamus: Lua is considered an easy language to grasp. not sure about CSound. Lua was also based conceptually on Pascal, so you will also be learning how to script in Usine ;) Csound seems to have a reputation for being a difficult but really it's not that hard at all, plus there is a great book to t...
By the way, I'm in the UK but life / job etc sucking up time away from HH so not doing as much with it as I'd like for the moment. Hope to be back patching soon
There has been some discussion on the Csound list about recently around making x64 builds available so hopefully it is getting closer. However, I am currently unsure what would a Hollyhock-specific module could provide that Csound Cabbage cannot? If the answer is nothing then there is no real point ...
A Happy New Year to the Usine team and to everyone else here on the Sensomusic forum
waolelaid - I am sure your questions do not annoy Nay or anybody else. The forum exists as somewhere to talk about Usine / HH and to ask questions advice so please do not give up!
Hoping to have some intermittent access to a mac soon so should be a version from me in a few weeks. Otherwise, I will be open-sourcing all my modules and putting the code up on github incase anybody is interested in it.
I've uploaded a new user module that can output random numbers using different distribution types, e.g Gaussian, Cauchy, Uniform etc. Data can be output at audio rate, control rate or when triggered by the user. An example patch is included so you can visualise the different distribution types and s...
I've uploaded a random number generator using a Mersenne Twister (see http://en.wikipedia.org/wiki/Mersenne_twister for more details about algorithm). It can output random numbers either when triggered, at control rate or at audio rate. It's quite simple but is a good module for me to quickly learn ...
Hi all ! in puredata, there is the [netsend~] module that allows to send audio through a network. if we coulduse a Usine counter part, it would be then possible to run puredata for sound generation and Csound and have the audio directed to Hollyhock, even if one is 32 bits and the other 64 bits. an...
I am desperate to have Csound in Hollyhock but unfortunately the Csound library is still x86 only. The day Csound becomes 64bit I will start coding the Hollyhock module
For my Usine v5 user modules I coded the GUI using anti grain geometry which worked fine using code::blocks mingw so there are cross-platform mingw-friendly alternatives out there if anyone fancies having a go. Sadly I do not think I have time at the moment.
I may be wrong as i haven't spent much time yet with Hollyhock's SDK... The SDK does have cross-platform functions to help with the GUI so you do not need to write separate code for OSX / Windows if you use those. However, on Windows it looks like those cross-platform functions use the gdiplus libra...
It's not really code::blocks that is the important part, rather it is the compiler it uses. It the case of code::blocks this is often (but not always) mingw which is the windows equivalent of Mac's GCC. I converted the Usine 5 SDK to compile using mingw for my old user modules and it was fairly triv...
Cool, I was looking at these a while back and was very tempted!! I've not seen the Leap Motion SDK but I'd try and keep the actual Usine module as generic as possible and just output values in the range 0-1. We can then build patches around it that can do the different conversions, e.g. change it to...
Supercollider is not easy to embed (at least on Windows anyway) so your best bet would be using Usine to control it via OSC and then trying to route the audio back in to Usine via JACK or a virtual audio cable if your sound card cannot do it.
You could build a bridge between the x86 Csound libraries and an x64 Hollyhock user module but Csound relies on many other external libraries itself so may well end up complicated so is not something I currently have time to do. Pd externals are typically coded in C so in theory you could build a Ho...
Sadly there is no x64 version of Csound 5 available so I cannot make an x64 compatible module. Csound 6 is due out imminently so hopefully there will be an x64 version of that at some point but I've looked through the release notes and there is no mention of x64 so it seems unlikely :( I think libpd...
Hi, I've finally finished (I hope) my first MIDI user module. I started with the recreation of the old Transpose script. I've included compiled versions for Win 43 and 64 as well as the source, so if anyone would try to compile on OSX that would be great. Here it is: Transpose.zip ...and here you'l...
nay-seven wrote:Thanks graphite412,
woodslanding, i've send mail to community member.s.? check your spam folder ..?
Nay - I received an email last week about the beta version just before the RC was publicly released but nothing since? Is the email you are referring to?
Although the exported VSTs from Cabbage have GUIs which don't show the controls, I'm trying to figure out how to get them to work correctly since there's some very interesting DSP in the examples (which work fine in Cabbage itself, though not especially useful without being in a Host to control the...
I am not saying too much about it apart from that is a patch that I started in Usine and liked so much that I made a version of in c++. Is almost finished now, just needs GUI improving, presets etc :) The website is gone, it was constantly being attacked by hackers who destroyed it and everything el...
Yes, but this is the same with all array modules that you need to make sure second array is compatible with first array for min, max etc I think? Made minor change so that Array Out is now saved in patch as was not being restored before. ////////////////////////////////////////////// // Randomly reo...
Is this any better? Seems to work fine here now. var ArrayIn, ButtonIn, ArrayOut : tparameter; /////////////////////////////////////////////// procedure init; begin ArrayIn:= CreateParam('Array in',ptarray); SetisOutput(ArrayIn,false); ButtonIn:= CreateParam('Shuffle',ptbutton...
nay-seven wrote:yes, but i just realize that modules like swap or shift array don't get (and set) those values automatically , so maybe it's normal ..?
In that case I suspect array in and out ranges have default of 0-100 and just need modifying.
Here is a quick one off the top of my head, not tested or optimized either so let me know if it doesn't work! If you need it to be more efficient I can come up with something much better using the C++ SDK as I am still unfamiliar with the script's Pascal syntax :) var ArrayIn, ButtonIn, ArrayOut : t...
I can't think of a way to do it Usine at the moment. To do it natively in Usine you would need to use the SDK to code a new C++ user module that calls the Windows functions SendKeys::Send or SendKeys::SendWait depending on whether you want to send the keystrokes to the same application that created ...
I suspect the line you are looking for is SetValue(voices, nbOfMidi ); This will assign the value of nbOfMidi to the parameter called voices I do not think this will not work as you hope though as nbOfMidi will only be greater than zero for the actual BLOC (e.g 64, 128 samples etc) that you ...
Thanks for the feedback bsork. Not too bad for my first proper script, after many years using C++ and R the Pascal syntax feels unnatural to me with all its begins and ends, I miss my curly braces... :) I do like the scripts though, it was very quick to create I can see myself starting to use them n...
Here is my first version of the script to removes zero values from an array. Only had a quick test so far but it seemed to work okay so let me know what bugs you spot. Bsork feel free post a better version :) /////////////////////////////////////////////////////////////////////////////// // Function...
Fléau I really like the use of the dec2bin module, that is an ingenious way of storing the scale patterns
If nobody else has time for your script I will have a go for you tomorrow, I am learning Usine's script language at the moment so it will be good practice for me
Hello, I have been playing around with feedback loops and I am presuming that there is a latency equal to one BLOC on all feedbacks, is this correct? I was trying to create a lowpass iir using modules so I need a one sample delay to pass the filter's output back to its input. Am I correct that this ...
Okay, I did find a small bug in my code where at small ksmps csound4usine requested more samples than csound was prepared to give so it might have been my fault rather than Csound's :/
I have updated the download with the new version, this might fix things for you.
Hello Floego, No you are not doing anything wrong :/ I get the same problem with your example but it disappears when I increase ksmps to 43 or above. I think this must be a bug with Csound itself as ksmps doesn't really affect anything from the Usine side of csound4usine. There has been a lot of cha...
I sometimes get the same problem too, it sounds like the last bloc of sound doesn't get cleared and keeps playing. It has seemed to come and go for as long as I have been using Usine. Some versions were worse than others but I never managed to find a way of reliably reproducing it.
It is on my to do list for a future version of csound4usine. It is technically tricky though as strings only run at i-rate so updating them from usine will be hard and will involve some work I think but at some point I will work it out.
And of course you can use Csound's Panning and Spatialization opcodes in Usine too :) http://www.csounds.com/manual/html/SigmodPanspatl.html Otherwise, if you want to route audio from Usine to Reaper without using the VST then you try JACK, Virtual Audio Cable or ReaRoute although you can expect lat...
Updated Csound4Usine so that it is now compiled against the latest version of Csound (v5.15). I am not planning on making anymore changes to this version now so provided nobody finds any bugs over the next few days this will become to official version and I'll update the add-on section, wiki etc wit...
Cool ! waiting for a native module,could be a good alternative ! you have an arduino to test caco..? I've a diecimilla here...:) Sadly not, creating my hardware via the arduino is on my 'to do' list but so many other projects to do first. Am excited to see what can be done with arduino / csound / u...
Csound to the rescue!! Csound can communicate with arduino via its new serial opcodes added in version 5.14. Maybe use my Csound4Usine user module to run Csound inside Usine, get the data from the arduino and pass it out of Csound4Usine into your patch :) Should also be able to manipulate the data e...
Thanks 23fx23 :) I was hoping to avoid scripting this but I think it is inevitable as I don't think the current array modules can do this. Senso - To me, the logical way to do this without scripting was with the Get Array Element Value module. Would it be possible for this to take an array as an ind...
I am struggling to solve something I wish to do with arrays without resorting to scripting and need some advice from Usine gurus :) I have array1 that is1024 long and contains a variety of results, I then have array2 which changes size and contains the indices I want from array1. So what I want to i...
In that case add a Usine VST to each stem with the effects you want. Then create whatever GUI you want in a standalone Usine with your noturn attached to it and route midi from the stanalone Usine into S1 so you can control it all from the one GUI
Yes, sounds like you could just use the VST version of Usine in S1 for each of your stems?
Otherwise your alternatives are to use Jack or virtual audio cable to route audio between S1 and a standalone version of Usine but I think using VSTs would be easier to manage.
I am making myself some new templates at the moment and have a question
What are ftInternText, fttUser, ftPointer, ftIntern and ftOther? All the other flowtypes seem obvious but I am not sure what these are and couldn't see any examples using them?
I thought I would share an example of how to use polyphony for recursion in Usine :) This is a technique I am planning on using in some of my patches and yet I haven't seen anyone mention it so hopefully it will be something new and useful to some of you. Normally Usine's polyphony is used to replic...
Strange, seems to work okay for me. Here is an example .csd file and a patch to test it with :) You will need to update the csd file with your own file location for the diskgrain opcode and make sure it has the correct number of output variables for it. http://www.sensomusic.com/forums/uploads.php?f...
I have not had chance to try your code yet headphoner but I have a couple of changes to it for you. First, I think you have set your samplerate wrong as you have sr = 44000. I am guessing this is a typo and should be 44100? Also, in your diskgrain code you are scaling the output's amplitude by 32000...
@bsork - I hadn't realised the midi transformer had a length input, I will do some tests and see if it can deal with receiving a new input before sending out its previous note off. If so, this could be an easy was to do it. @CleverConQueso - That is an ingenious plan! If bsork's idea works I will pr...
yes notes may overlap and may have different lengths so need a method to control a polyphonic stream of midi notes e.g turn on note 1, turn on note 2, turn off note 2, turn off note 1. Triggering the note on is okay but it is counting the time for each note off polyphonically that is the difficult b...
I am updating a patch of mine I use quite a lot. One thing it does is create midi notes using a step module. Each step sends a trigger to create a note on. I then send the same trigger through a data delay module and then use it to create a note off. This works fine but means all notes have the same...
I have fixed a bug in the user module that meant it could add in an extra zero to the output and uploaded the new version as an add-on/ berenice / fléau - The reason for it being dynamic is the size of the ouput will vary based on the input, e.g for an input of 25 the output is 11001 but for 2050 it...
Hi, I would like to change the soundfile use in a csd with a string via oscsendtext i will record a soundfile in a sampler module, so i will can name it, play it a csd ( a granular sampler) and visualize it with a display waveform module . Ah yes this can get a bit tricky with csound as in many cas...
headphoner - At the moment you would need to send the data via OSC Floego - I haven't tried it with older versions, it may still work but I would recommend updating to the latest version of Csound nay-seven - Thanks, I will fix the errors, it was inevitable I would break something somewhere. Will l...
I use IE7 at work at it is random, sometimes I can log in fine then I will have a few days where I can't login then back to normal again for a few weeks. Always works in FireFox and Opera though.
Another update. You can now launch the Csound editor CsoundQT directly from the user module and it will load you current .csd file ready for tweaking. CsoundQT should be installed automatically as part of the Csound package. This update resulted in me having to redo all the example patches so hopefu...
Okay should be fixed. Hmm may need some additional thought though. The reason they stopped working is I had changed code in addon so that it automatically resizes output buffers to same size as input buffers. This is good because because it stops risk of glitch when inputs disconnected from addon. B...
Okay, here is a beta for the latest version of Csound 4 Usine - Download - The main change is that you can now have up to 16 inputs/outputs and up to 128 parameters per instance. - Parameters are no longer constrained to the 0-1 range so can be any value you want. - I have also organised the add-on ...
I don't think I'll have time to join in but I think it is an excellent idea. Usine is so open ended it will be a great learning experience to see how people are using it differently
Hello fellow Usine addicts :) I am awaiting arrival of a Launchpad and am trying to learn about the matrix in advance ready for some patches I wish to build. One thing I want to do is run the matrix in exclusive mode however the MX_exclu_mode script seems to cause problems when reloaded as when I re...
Okay have updated the waveshaper so that the input vu should now work correctly. Also, when there is no audio input connected the audio processing is bypassed saving CPU usage.
If anyone has any particular examples they want to see then just let me know. Well, one thing I've been looking for forever is a spectral gate. Don't know if that's a job for csound or not.... So, do you mean an effect that gates any frequency bins whose amplitude is below a given threshold. If so,...
Thanks for the tip senso, I didn't realize input size was set to zero when cables were disconnected. This is very useful as I can now turn the dsp processing off entirely when the audio cable is deleted. I will also add a check as to whether a stop/pass module is connected too so that I can turn my ...
Okay found the problem :) Senso - at the end of my Process function I zero the input buffer. Presumably Usine's vu meters are called after my module's Process by which time I have already cleared the buffer?? Who is responsible for clearing the input buffer, me or Usine? Previously I had problems if...
It seems to be working okay for me but I have seen this problem with my new Csound module I am working on. Sometime the input vu meter just displays -inf even though the audio is working correctly. Any idea if this is this a Usine problem, SDK problem or my problem??
I wish I had never updated by version of GCC, this never happened with the previous versions. Still it could be worse I could be using Visual Studio :D The modules should have linked correctly the first time but I have recompiled them and the binary has grown in size so I think it should now be fixe...
I have just uploaded two new user modules for doing math with incase they are useful to anyone else. fmodf outputs the floating-point remainder of x/y, e.g is a floating-point modulus operator. modf splits the incoming data into its intergral and fractional parts, e.g if its input is 12.3 then its o...
Yes, a Usine version of partikkel is on my to-do list for the future :) The new version of c4u is coming along very nicely, it can now have either 2,4,8 or 16 audio inputs/outputs with either 4,8,16,32,64 or 128 parameters. Also the parameters are no longer required to be in the range 0-1 making it ...
Easiest way is to just use the Usine VST in Ableton. Your other options are much more limited if you wish to pass audio between applications in Windows. Jack for Windows is worth a try although I have never had any luck with it. Doesn't seem to work anywhere near as well as on Linux for many people....
Thanks bsork :) For smaller equations Usine's modules will be significantly quicker than the equation module but there is a point where more complex formulas then become quicker with the equation module instead and will possibly use less memory too. For example, on my computer one equation module us...
New vesion coming along nicely :) I have kind of settled on 2,4,8 and16 audio inputs/outputs each with either 4,8,16,32,64 or 128 parameters. Is this enough combinations or does anybody want more? I am also going to update the example patches as well. Anybody have any ideas for examples they want to...
Oops, you are correct. I did not realise the scroller in the module panel also scrolls the module params in that patch window. After all this time I still discover new things in Usine every day
I think there may be a problem somewhere then as I can only get params 0-99 even if I set the number of params to >100. I have tried this the normal way and the Test Query way and cannot get >100 params.
That is awesome Floego, I had never even thought about using the equation module as a counter like that before. Your idea has so many possibilities for manipulating arrays of data like that, for example my first thought on seeing your patch was that it could be used to create arrays containing waves...
Yes definately 16 audio inputs/outputs as some of the Csound opcodes require this many audio chanels, such as vbap16move . Also thinking of adding at least 64 parameters too. This will all be user definable using Usine's Test Query System so when you add the module you can select eg 4 in/out with 4 ...
I get something similar but it only happens very occasionally and is not repeatable. It has always happened for me with all versions of Usine, maybe once or twice in a week when I use Usine most days so is very rare for me. Senso never found a reason for it so I have always blamed by ASIO driver!
Still thinking about updates to c4u and another possible issue is the range of the params 1-6. Currently they are all limited to 0-1, which in many ways is simpler but in some ways difficult as data may need scaling to go in and out of c4u. Does anyone have preferences on whether it should stay 0-1 ...
When I try to open this module I have a message like "can't find libstdc++-6.dll on your computer". Maybe something wrong with compilation/link option in your c++ module project? Ahh I have updated to a new version of mingw and it seems it doesn't statically link to the mingw libraries by default a...
Yes I think the most likely possibilities are Usine's TestQuery system, a config file or maybe just parsing the csound .csd file for the number of audio channels etc.
I agree that in many ways the 'parameter' inputs are more straightforward to use than OSC. However their data needs scaling to 0-1 while values sent by OSC do not need scaling so in some ways OSC can be easier too. I have been wondering about having more 'parameter' inputs though, how many do you th...
If anyone is interested, I have uploaded a test version of the waveshaper module. It now comes with nice smooth anti-aliased graphics for the transfer function. The new graphics should also hopefully prevent the occasional CPU spike occurring from the drawing code. The DSP has also been optimized, u...
Glad you got it working :) I have amended the code above to stop it going into the red so try changing the script to match that one. If you want to try some other basic examples to learn from then as well as the wiki there is an article of mine recently published in the csound journal that may provi...
waolelaid - now that you have installed Csound you also need to install my Csound4Usine addon too. Once that is installed try downloading the free impulse responses from Voxengo - http://www.voxengo.com/impulses/ Next, save the script from above in a text file called convolution.csd in the same loca...
In my example the file is called l960brite_stage&hall.wav and it is located in the root directory of the C drive hence C: If the impulse response you wished to use was called my_impulse.wav and was located in a folder called Impulses then the line would be #define impulse #"C:\Impulses\my_impulse.wa...
Csound can pretty much do anything so how about a convolution reverb for Usine. I never got around to adding this to the c4u download so I thought I may as well post the Csound script here. Note that you will need Csound installed on your system as well as my c4u addon for this to work. To use it ju...
Thanks Clearscreen, they look like they are for creating addons to run inside Processing rather than allowing Processing to be run inside another program so don't think there is much I can do sadly.
The those of you interested in granular synthesis there is a new synthesis program released using Csound as the audio engine. It is basicly a wrapper around Csound's partikkel opcode which pretty much implements the entire Microsound book by Curtis Roads. It is designed to be used in M4L but the sta...
If anyone is interested, the latest edition of the Csound Journal has been published with my article in it about using Csound inside Usine. It was aimed more at Csound users who have never used Usine before but it may still be of use to anyone interested in having a go with Csound :) http://www.csou...
I have had the same problem and used different csd files with different port numbers but this is not a good solution having 8 different EQ scripts etc. I am open to suggestions of how to improve this, I have not tried this but one idea maybe to pass the port number to the module through one of the p...
Are they using OSC? I think with OSC you can only have one receiver per port number so if you have multiple Csound4Usine instances then they will each need to send/receive on different ports.
So Apple want people to pay to stream the tracks they already own? But with Spotify you can stream any track in their library, not just the ones you already own. Maybe I miss the point of what Apple are doing but seems inferior to competition :/
It seems quite stable at the moment so if anyone wants to use it and see if the changes are an improvement or not then the new state variable filter can be downloaded here
At some point in the future (not sure when as very busy at the moment) I will be updating my filter pack, so does anyone have any feature requests? I have been tweaking the SVF filter as a test so far and currently have: -Reduced CPU usage by 50% -Now using 64-bit floating point processing internall...
I haven't really dug too deep into Partikkel yet as it is a very complex opcode but at some point I want to create a GUI for it in Usine to make it easier to use. If you are new to Csound I would start off with Grain and Granule and build up to Partikkel once you are a bit more familar to its syntax...
I have uploaded a quick example of using Csound4Usine to do granular synthesis using the SyncGrain opcode. This is a quite a basic example but it shows how to get a stream of realtime audio into Csound's granular synthesis opcodes. For anyone wishing to go into more depth with granular synthesis in ...
Here is a very quick example of manipulating Csound's syncgrain opcode using Usine. The Csound code took around five minutes to do and then I just pressed record in usine and randomly twisted its params controlling grain size and density. You can hear the clean drums for the first few seconds before...
Thanks Caco for the link about CSound but, I'm totally newbie in this language, and i need to learn and study a lot for use the granular function of CSounds. So...Question: "What do you think is the best way to get started with this language ?" Programming languages like script someti...
I have removed the harmonizer patch and csd while I try and work out why some people are having issues. It works fine for me however. It is only a basic example so you are not missing much. I will replace it with an alternative example when I get some more time.
@headphoner - I cannot reproduce the bug so please could you download it again and just check whether it still happens incase there was a corruption somewhere?
you're right, kt granulator is a good reference, i don't know enough about Csound to know if it's a good tool for this. I would say Csound is the perfect tool for this based on the Granular Synthesis functions it contains: http://www.csounds.com/manual/html/SiggenGranular.html In perticular, take a...
I have uploaded a preliminary release of a new user module that allows you to run Csound within Usine. For anyone unfamiliar with Csound, it is a simple text-based computer programming language developed for creating and processing sound. It is very CPU efficient for realtime use and comes with over...
Fourier's theorem states that any waveform in the time domain can be represented by the weighted sum of sines and cosines. The difference between a sine and a cosine is purely phase shift. So perhaps you can consider the amplitude to be the strength of each frequency bin and the phase to be its rela...
If I remember correctly the Usine FFT module uses a Hann window. I am not a French speaker so I do not understand the image you posted. However, it is correct that a FFT splits a signal into complex numbers each consisting of a pair of real and imaginary numbers. Normally for a FFT on a block of 102...
Yes it now has audio in/out, midi in/out, in/out through its six generic parameters and can send/receive OpenSoundControl so lots of ways to interact with Csound! All the coding is pretty much done so I am finally getting to use it to make music and it is great fun to have this level of control over...
I know, I am the same, I am impatient it release it!! It took a little longer than originally anticipated as I added in a few new features that my original prototype lacked e.g it can now also output midi so can be used for purely midi effects. Also it can now output k-rate variables through its par...
It is currently undergoing beta testing by nay-seven so should be ready for release soon
As of today I have completed all the features I wanted to add, now it is just a case of writing documentation, examples, wiki etc and finalizing the last few tweaks to the code. Not too long to wait now...
I am trying to get the path to the current patch using GetUsinePatchPath() but it doesn't seem to be returning anything. Calling the following code just prints a blank line to the console. Am I having a bad day and made an obvious mistake or does this function not work correctly? [c]pPrototype->Trac...
Senso, could I request a module for Usine equivalent to ProcessOpenDialog from the SDK. The module would have a button as its inlet which would open the standard Windows File Open Dialog when triggered to let the user choose a file. It would then have one outlet which would output the chosen file pa...
You will need Csound installed but you don't need it or anything else running in the background, the user module dynamically access the csound .dll files when required via the csound api. Just load your .csd file into the user module and away you go, it runs independantly just like any other module ...
hi, Is it really csound? Yeaaaah! It sure is :) It has csound embedded in it and can open csound's .csd files. Csound is probably the most powerful software synth/effect in existence. With csound running in usine you can create pretty much anything you can imagine! It can be used to create effects ...
By the way you don't have to use the module to process audio as an effect, it can also be used to synthesise audio as well now that I have implemented the MIDI input
It will be released in the first week of March. I will tell you what it is before then though as some of you may want to do some preparatory work first
Another example using the same sample as before, first dry then wet.
The clip above is actually an example of convolution reverb but bsork is the closest with his guess that it is not only a reverb, it is much more than that
I will post more examples as the user module develops further...
I have been working on a new user module that I am very excited about and thought I would post some teasers :) It is still a few weeks away from being released but it has reached the point where it is good enough now for me to actually start using seriously. Example one below contains a loop taken f...
I am currently programming a new user module in which it would be advantageous to be able to alter the number of parameters the module contains. I can use the test query system to be able to set the number of parameters when the module is first created but ideally I would like to be able to add/remo...
Yes this is what I currently do but this would not preserve the cables so when breaking a large patch into sub-patches it can become complicated. A create sub-patch option would simplify this process.
IMHO Usine is designed for live use so it is essential that modules can be manipulated in realtime without causing glitches. ctImmediate is the best choice wherever possible as there is then minimal latency between the callback and the resulting parameter change. However, the callback occurs in the ...
Not got any code in front of me to check but from memory based you would do... [c]void Process (void* pModule) { // for convenience create pointer to module TTestControlsModule* pPrototype = ((TTestControlsModule*)pModule); //get pointer to the struct containing the timing info VstTimeInfo *info = p...
Hi Thomas 1) As I quick guess, I suspect you may just be calling GetVstTimeInfo() directly rather than pModule->GetVstTimeInfo()? 2) Yes, for an oscillator you will need to create BLOC number of samples per call to process() and then pass them to an audio output in your module. Have a look in the te...
Looks interesting Thomas, some of the shapes are similar to what you see when doing FM synthesis between non-sine operators :) IIRC to get the timing info you just need to call GetVstTimeInfo and it will return a struct containing tempo, ppq, samplepos etc. I don't have any code in front of me but I...
Yes some modules for synthesis would be a great addition once Usine is polyphonic :) As always I am limitied by free time for coding but it is on my to do list for the new year along with many other Usine user modules. I have some commercial projects coming to an end soon so hope to get back to Usin...
Okay I had a few minutes to spare so I have created a new DC Blocker user module based on the filter described by Julius Smith for removing the DC in a signal circulating through a delay line. Sounds like what you want to do? I haven't had chance to test the user module yet but I did plot the freque...
Hi oli_lab - Well a DC offset is technically a signal of 0Hz so to remove it you need to highpass filter your signal at a cutoff above zero. Ideally you want this cutoff to be as low as possible so you don't remove your sub-bass, so normally you would highpass somewhere around 20Hz. using a steep fi...
Hello, My second question is : In the enveloppe follower patch, there 's a sampler with a bass sample. how can it be possible to set pitch limit ? I'm only interested in low notes and actually e threre's low and quite high note played, and i don't want the high ones..... Thank you Maybe pass the ou...
Hi caco, A little request: Don't know if it would be a lot of work, but could your module be compatible with arrays, like math modules are? Not sure, presumably if the math modules can do it and the SDK allows it then it should be possible. I will take a look when I next get some free time for codi...
I love CSound but unfortunately the CSoundVST does not currently work with Usine for me, it would be awesome to be able to load CSound creations directly into Usine :) I suspect this may not be entirely Usine's fault though as the CSoundVST doesn't work in a number of other hosts. It does seem to wo...
Ah well four keys is better than one. Yes have been doing some research and limits are caused by the quality of the keyboard rather than windows itself. However, no matter how good the computer's keyboard is, the usb spec limits it to six keystrokes plus modifier (ctrl, alt, shift etc). So, it seems...
How about using the HID Device module, would this provide the information I require? I tried connecting it up and it seems to recognise both my mouse and keyboard as HID devices but I do not seem to get any bytes output from the module?
Yes I just checked in Plogue Bidule and can get data for four keys - press and hold all four down and I get a key-down message for each, then remove them one at a time and get a separate key-up message for each key so can be done. Anyone have any ideas for alternatives for Usine?? Could use midi but...
I never managed to get Jack to work properly on windows with any audio software, latency was always huge and sound quality poor no matter what the settings. Jack in Windows is a great idea but still needs a little more work yet.
Hi Usiners, I need some patching advice :) What I want to be able to do is trigger various effects by holding down keys on my laptop's keyboard, for example while I hold down the letter 'q' the delay is switched on and when I release the key it switches off. I have done this by having a switch contr...
senso wrote:probably the CallBackType should be set to 'immediate' in the user module?
Okay, I have altered the CallBackType to immediate and uploaded the new version, hopefully this should remove the latency as the CallBackType was previously set to 'normal'.
thanks Not because caco is on the board, but im truly honestly amazed by mverb quality for a free plugin. think it's one of the best free reverb ever heard, really, it match and even goes above much pricey commercials ones easily and is light on cpu,and well chosen controls. a masterPiece Master ca...
Thanks for the wiki help ethnix73, I have updated the Equation's page with the pow description now and also added about Equation writing error messages into Usine's console to warn if your formula contains errors, unrecognized symbols etc.