Circular Labs Forums  

Go Back   Circular Labs Forums > Mobius Discussion > General

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 05-26-2012, 06:49 AM
Jengel Jengel is offline
Member
 
Join Date: Mar 2011
Posts: 33
Default Timestretch DiracLE

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
Reply With Quote
  #2  
Old 05-26-2012, 09:12 AM
owm owm is offline
Junior Member
 
Join Date: May 2012
Posts: 4
Default

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
Reply With Quote
  #3  
Old 05-26-2012, 03:51 PM
Jeff's Avatar
Jeff Jeff is offline
Benevolent Dictator
 
Join Date: Oct 2009
Location: Austin, Texas
Posts: 716
Default

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.
Reply With Quote
  #4  
Old 05-26-2012, 04:00 PM
Jeff's Avatar
Jeff Jeff is offline
Benevolent Dictator
 
Join Date: Oct 2009
Location: Austin, Texas
Posts: 716
Default

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 :-)
Reply With Quote
  #5  
Old 05-31-2012, 02:44 PM
Jengel Jengel is offline
Member
 
Join Date: Mar 2011
Posts: 33
Default

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
Reply With Quote
  #6  
Old 05-31-2012, 04:04 PM
Jeff's Avatar
Jeff Jeff is offline
Benevolent Dictator
 
Join Date: Oct 2009
Location: Austin, Texas
Posts: 716
Default

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.
Reply With Quote
  #7  
Old 06-01-2012, 04:07 PM
Jengel Jengel is offline
Member
 
Join Date: Mar 2011
Posts: 33
Smile

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
Reply With Quote
  #8  
Old 06-17-2012, 07:22 PM
Jengel Jengel is offline
Member
 
Join Date: Mar 2011
Posts: 33
Default Rubberband

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
Reply With Quote
  #9  
Old 06-18-2012, 03:22 AM
Jeff's Avatar
Jeff Jeff is offline
Benevolent Dictator
 
Join Date: Oct 2009
Location: Austin, Texas
Posts: 716
Default

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.
Reply With Quote
  #10  
Old 06-18-2012, 08:33 AM
Jengel Jengel is offline
Member
 
Join Date: Mar 2011
Posts: 33
Default

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
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 10:31 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.