|
#1
|
|||
|
|||
|
Hi Jeff,
I'm really interested in timestretching so that I can play with others and change tempos on the fly without changing pitch. I know I can do both a rate and pitch shift, but the quality and stability of that option are not so good. I was wondering how difficult it would be to incorporate the free algorithms available from DSPdimension to do timestretching (http://www.dspdimension.com/technology-licensing/dirac/). I've made my own looper in MaxMSP with their DiracLE~ external, but it would set Mobius a level above if it had some high quality timestretching. Any hope for a future version or would the code not work for Mobius's current syncing method? Jesse |
|
#2
|
|||
|
|||
|
Hi all,
Jesse has a point. The only advantage of the original Electrix Repeater over Mobius is the quality of it's pitch transposition. Mobius already is above all the rest, but higher quality pitch shifting would make it even greater ! Best regards, Filip |
|
#3
|
||||
|
||||
|
I tried Dirac a few years ago but it required way to much computer power to use in real time. Clicks and pops like crazy when engaged. Were you using it in real time in Max? They may have improved the algorithm performance since then and of course machines are more powerful now so it's worth another look. Oh...I just checked and their free "LE" version is restricted to only one channel at a time, meaning mono. To process stereo I would need to license the commercial version which is around $6000 USD.
I use a different pitching shifting algorithm that requires less resources. It sounds okay, Dirac was better, but it can be used in real time. I actually have time stretch working but there are a few issues to clean up before I can release it. High quality time stretch done in real time is a very, very hard problem. It isn't something I can do. There are only two or three free implementations available and a small number of very expensive commercial implementations. The Repeater's algorithm was indeed their "secret sauce". My understanding was they licensed it from IVL and their inability to get that license for a software version was the main reason they canceled the Virtual Repeater a few years ago. The main problem with pitch shift and time stretch algorithms of any kind is that they add a large amount of output latency. The one I use needs around 5000 samples which adds about 113 milliseconds, or a little over 1/10 second. I can compensate for this but it is very audible when you do certain things. |
|
#4
|
||||
|
||||
|
Ha. In order to get a 2 channel version of Dirac that allows you to change pitch/time stretch more than once without a large delay I have to buy the "Pro" version which is $12,000 USD. If anyone wants to donate that I will gladly integrate it :-)
|
|
#5
|
|||
|
|||
|
Hey Jeff,
Thanks for getting back. I've been building the looper using the DiracLE~ external written by Timo Rozendal http://www.timorozendal.nl/?p=434. It uses the free implementation. It also works in stereo with no latency, but requires working off of a recorded buffer. It sounds really good, and doesn't require much resources. The realtime implementation is more costly, and introduces latency for all the intrinsic reasons related to a frequency based technique. I believe they use wavelet transforms, but maybe I'm wrong. Anyhoo, the external doesn't have the source code posted, but I'm bet Timo would be happy to share. Downside is that it can't do perfectly smooth realtime tweaking of speed parameters (gets a little clicky), but unless you want to really abuse the timestretching, like in Live, that shouldn't be a problem. The external is currently Mac only, and all this C programming is still a little over my head (working my way up to it with Max and Java), but I thought it might be possible to implement a similar algorithm to the external in mobius since you record into a bunch of buffers anyways. Jesse |
|
#6
|
||||
|
||||
|
Interesting, according to their licensing page:
http://dirac.dspdimension.com/Dirac3...e/License.html Dirac LE is the free version of the library that provides the exact same audio quality as the STUDIO and PRO versions but has some usability restrictions. For example, Dirac LE can only process one audio channel per Dirac instance. This doesn’t mean that you cannot process stereo files with the LE version – you simply need to create one separate Dirac LE object per channel. To process 2 channel audio in a phase synchronous manner you will need to license STUDIO or PRO. So, I could probably create two instances for stereo but they won't be in perfect phase. I'll give it a try someday. |
|
#7
|
|||
|
|||
|
Cool, glad I could bring it to your attention
. My guess is, certain aspects of syncing would maybe be more difficult with the code they give you (don't let you see inside the Dirac objects), but the sound quality would definitely be worth it if it's anything like what I get with the external in Max. For now, I guess I'll keep plugging away at my max4live device, as it's sort of a separate thing / different workflow. Feel free to let me know how it goes, or if you'd like to see my device for kicks (if you have m4l).Thanks! Jesse |
|
#8
|
|||
|
|||
|
Hi Jeff,
Just wanted to point you to this other option I found. If you want an open source option, the RubberBand Library sounds pretty darn good from the examples. It's free, and seems to have good specs. A "commercial" version is available on a sliding scale, but since Mobius is freeware, I don't think you'd need it. And if you do, I sure we might be willing to take up a collection .http://breakfastquay.com/ All the best, Jesse |
|
#9
|
||||
|
||||
|
Yes, I've seen RubberBand, I think SooperLooper uses this.
The problem with it is that it is released under a GPL license, which while "free" requires that I release all of my source code under the same license. Mobius is "free" because it costs nothing, but it is not open source and I don't have any immediate interest in releasing it that way. I know open source has become a popular buzzword but it has a lot of implications that aren't always good for esoteric niche developers like me. Seriously, there are maybe ten people in the entire world that have both the interest and the competence necessary to contribute to Mobius development. I gain nothing by making it open source and I lose control over parts of it that I may want to make into a commercial product someday. Thanks for the suggestion though, I will contact them and see what kind of commercial deal we can work out. |
|
#10
|
|||
|
|||
|
Understood. That's an interesting perspective on open source from a small developer viewpoint. Mobius is your creation / work in progress and should of course remain so. I just want to say thanks to being so responsive to your user base and looking into these things.
All the best, Jesse |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|