Tag Archives: Paulstretch

New Paulstretch OS X build

As software projects go, PaulStretch is rather a shadowy enigma. Since I did the initial Mac OS X port, I’ve had very, very sporadic communications with the author Nasca Octavian Paul about it.

Then there’s the issue of versioning. Paul started a github repository, but it hasn’t been updated since March. It’s currently at version 2.2.2, but the only difference between 2.2-2 and 2.2-1 is that the version number it reports has changed.

At any rate, today I did a new build which is 1) OS X 10.6 (forward compatible with Lion, but perhaps not backwards compatible to Leopard or Tiger) 2) Up to date build, incorporating all of Paul’s changes. I also spent some time playing with it to make sure it works properly.

You can download it here: http://www.cornwarning.com/xfer/PaulStretch-2.2.2-OSX-10.6.dmg

It also has the latest refinements of the build scripts used to build PaulStretch from source. I use CMake, which is Kitware’s cross-platform build tool. CMake keeps getting smarter, and my CMake recipe for PaulStretch will download all the prerequisite libraries, build them, and then download the PaulStretch source, build it, and generate an Apple App Bundle.

And CMake really is cross-platform — the same build recipe will work unmodified on Linux (which I have tested) and possibly on Windows (which I haven’t tried).

If you still have a PowerPC Mac, you can try using http://www.cornwarning.com/xfer/PaulStretch-OSX-PPC.dmg which a friend of mine built, but it isn’t the most recent version of PaulStretch.

PaulStretch 2.1 is Out! New build instructions + new x86 OS X build

Please go Here for latest build!

Paul added a new library dependency, which I hacked into my build recipe here: http://www.cornwarning.com/xfer/PaulStretchBuild-2.1.tar.gz

Instructions for building

I have a completely UNTESTED binary for people to try here. It should work, but I can’t test it right now.

http://www.cornwarning.com/xfer/PaulStretch2.1-OSX-10.6.tar.gz

If you’re not a command line jockey, just downloading and clicking on it will create paulstretch.app where ever you dropped the downloaded file. If you know about command line stuff:

This is built on OS X 10.6, 32bit. No idea what OS X versions will run it.

PaulStretch Build Instructions – Now with Linux!

GO HERE FOR LATEST AND GREATEST


The world of open source software development doesn’t sit still. A program that I rely on to build PaulStretch on OSX is CMake, which is an open source, cross-platform program that hides some of the complexity of building software on different platforms.

If you’ve built any software on OS X or Linux you’re probably familiar with the “./configure ; make ; make install” method of working with source packages. CMake does that but it goes out of its way to handle the low level crap that is a pain in the ass to set up program configuration with autoconf. On top of that, it will run on any Unix, OS X or Windows. And on top of THAT, it will generate Makefiles, or project files for any of the commonly used integrated development programs like Visual Studio (on PC) and XCode (on Mac).

CMake really is as close as you can get to ‘write once, run anywhere’ in the world of C and C++. Not that there won’t be platform-specific stuff you’ll have to do, but it’s a lot easier and more concise in CMake.

Anyway, as of CMake 2.8, there is a powerful new CMake Module called ExternalProject. It automates downloading, configuring and building open source packages. I’ve used ExternalProject heavily in my day job, so it seemed natural to use it to streamline building PaulStretch. The result is maybe just as complex as the original build setup, but it is a lot more robust. Reading through the CMakeLists.txt files I’ve set up will be a good introduction to how things work in CMake — I’ve done a bunch of things in there you’ll want to know how to do for your own projects — use ExternalProject_add to download and build libraries, do some platform-specific configuration, create an executable, etc.

You can download the new PaulStretch Build package here: http://www.cornwarning.com/xfer/PaulStretchBuild-2.1.tar.gz

The instructions are pretty straightforward:

0. Make sure you have the compilers and development libraries installed on your system.
1. Download the Tar file
2. unpack the tar file, somewhere you have write permission.
3. Run PaulStretch/BuildPaulStretch.sh

On OS X, this will create a paulstretch.app, that you can drag and drop wherever you want. On Linux, the executable will be in bin/paulstretch — it’s statically linked so it will run without needing anything besides the program file on your system. Or, for that matter, any other compatible Linux distribution.

The result is an executable program in whatever directory you’ve run this process in. The following commands would accomplish this whole process in a directory called ‘PaulStretch’ in your home directory.

mkdir -p ~/PaulStretch
cd ~/PaulStretch
curl http://www.cornwarning.com/xfer/PaulStretchBuild.tar.gz | tar xzf –
PaulStretch/BuildPaulStretch.sh

After running these commands, on OS X your PaulStretch program will be ~/PaulStretch/paulstretch.app. On Linux, it will be ~/PaulStretch/bin/paulstretch.
As an added bonus, I took the time to try building on a couple of different Linux systems, to verify it works there.

Once again, what will trip up the non-software-developer types in this whole process is step 0: making sure the dev tools are available on your system. That’s something I’m not going to explain here. Google it. You’ll need GCC installed, all the development libraries, and on Linux the development libraries for libasound — the ALSA sound library.

If you happen to be a Windows developer, you could take a crack at building using Visual Studio or MinGW. The CMake build files are theoretically portable, but you’ll have to download CMake for Windows (here: http://www.cmake.org/files/v2.8/cmake-2.8.3-win32-x86.exe)I haven’t done this, because I avoid doing development work on my Windows machines at home. If I’m at home, and farting around on the computer, I want to be able to just use music software, not build it. Plus you can download the Windows version of PaulStretch here: http://sourceforge.net/projects/hypermammut/.

Let me re-iterate again — I don’t want to be tech support for this — if you can’t figure out from this post how to use what I’ve put together, you probably shouldn’t even be trying to build it yourself. Ask your kid nephew who’s a big H4X0R to do it for you.

New Track: Expemsible

All the hootenanny about PaulStretch got me playing with it again, and this is what I came up with. As my vrave buddies used to say ‘very ambient.’

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

http://www.cornwarning.com/chaircrusher/Chaircrusher-Expemsible.mp3

The source material was a couple of samples downloaded from the Internet — a drumloop and a bassline. I added the phaser effect. So the original audio was on the order of 2 seconds long.

Forensic Examination of the Slowed Down Justin Bieber “Love U”


This will be my last post on the subject. It’s been fun to get a lot more site visits, but just for perspective, my friend Jerry’s Retarded Ravers Of America site was getting ten times the traffic ten years ago that my blog does today. It also feels a little weird riding Justin Bieber’s coat tails to this new level of web notoriety. As it happens the PaulStretch OS X posts consistently generate more traffic than anything else on this blog, which puts me in my place–doing a port of PaulStretch may be my most enduring Internet legacy, even if I wish I was known more for my own music.

Anyway, as regards the “Love U” stretched version, there was some speculation that it was a hoax, and then some speculation that the ‘group’ claiming they’d made the track themselves was itself a hoax. I decided to investigate, and came to these conclusions:

  • It was, in fact, produced using PaulStretch, perhaps even using my OS X port
  • The actual slowdown was actually on the order of 10x
  • It was pitched down a little more than a half-step.
  • Either it was MP3 encoded at a low quality/bitrate, or slightly lowpass filtered. My version (which is encoded from the raw output of PaulStretch) sounds noticeably brighter.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.


http://www.cornwarning.com/xfer/JB-USmile-Stretched.mp3

The original:
J. BIEBZ – U SMILE 800% SLOWER by Shamantis

Paulstretch for OS X — the Justin Bieber Edition

GO HERE FOR LATEST AND GREATEST

Well, someone may — or may not — have posted a slowed down version of Justin Bieber’s “Love U” and as a result my janky little blog is experiencing a 25-fold bump in traffic. I’m hoping the fine folks at Midphase don’t mind — I have an ‘unlimited bandwidth’ account, but I think it’s only unlimited until you start saturating their net connection.

Anyhow, if you’re here looking for Paulstretch, get it from this post — the new build can actually load MP3 files due to a new version of one of the libraries it needs. If you’re still on a Power Mac, go here.

The build scripts are Here, but don’t even bother unless you are an actual programmer, because I can’t troubleshoot your problems for you. What I wrote worked perfectly from a standing start back when I wrote it, but library versions change, source code archive links get moved, and you may not have all the build tools on your machine.

Let the stretching begin!
EDIT: I listened again to the example I put up back when I first started playing with Paulstretch and I still really dig it. It’s the Bitone Troupe’s cover of Björk’s “All Is Full Of Love.”

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.


http://www.cornwarning.com/xfer/BitoneTroupe-AllIsFullOfLove-Stretched.mp3

PaulStretch 2.0 — OS X PPC Build!

GO HERE FOR LATEST AND GREATEST

My PaulStretch build was unfortunately Intel-only, and probably would only work with OS X 10.5 or later.

Now, a friend who shall be known (at his request) as “the anonymous benefactor” has done the build on a G5 PowerMac, running OS X 10.5.8:

http://www.cornwarning.com/xfer/PaulStretch-OSX-PPC.dmg

This is supplied with no warranty, express or implied, and no doubt, it will NOT run on some PowerMacs. I have no idea how binary compatibility works OS X and the PPC chips, except that it does not, as Apple is wont to say “just work.”

Again, if you download either of the disk images and they do not work, feel free to follow these instructions in order to build things for yourself. According to the aforementioned Anonymous Benefactor — the instructions do, in fact “just work.”