MegaCurtis FREE

They said it was only a matter of time. They were right. The Curtis saga continues with the release of MegaCurtis FREE. This version brings the MegaCurtis multi-voice, audio-paste, longer-recording, dynamic-keyboard glory to your iPhone 3GS, 4, and 4S for nothing!

 

But wait, there’s more: Curtis Heavy has been transmogrified into MegaCurtis FREE, so those of you that already own Curtis Heavy need only update to get this slew of new features. (Did we mention slew? There’s now portamento in every copy!) Also, to keep change-averse Curtis Heavy customers from getting grumpy, both the free and paid versions of MegaCurtis now also get a pitch-control mode (optionally activated in the settings panel in the paid version) that mimics the horizontal-swipe-to-pitch (i.e. grain size) mapping of Curtis Heavy. We hope this makes everyone feel that they’ve only gained!

 

Switching to the paid version gives you these added features:

 

• MIDI input
• Performance recording (record and share your MegaCurtis jams)
• Modal Scales (cool keyboard presets)
• Low-pass filter
• Echo
• Position modulation
• Position jitter
• Unique wave keyboard mode (play keys while touching the recording)
• Grain jitter
• Grain overlap control with modulation

Strange MIDI in HyperSpace

HyperSpace 1.1 was just released, adding MIDI input and VGA output. Now you can control HyperSpace with your MIDI keyboard or DAW, and you can send just the visualization graphics to a TV or projector. It’s an instant VJ setup! Just add an Apple VGA output cable. Both MIDI and VGA support are new to us, so please comment away below with your feature requests and suggestions. A map of MIDI parameters can be found on the HyperSpace page. Portamento (slew or glide to some of you) has also been added for a more smoothed-out sci-fi sound. See it in action:



Mega Update, MegaCurtis 1.3

The latest MegaCurtis update has gone live at the App Store. It adds a slew of new features, making the app more fun, more playable, and more strange. There are now selectable scales and modes, a fat key option for those of us with fat fingers, and there’s a new wave keyboard overlay mode that lets you play by touching the wave, selecting pitch and granulation position simultaneously, with four-voice multi-touch. Check out the video below to see it in action!


MegaCurtis v 1.3 from strange agency on Vimeo.


  • Selectable keyboard scales for easier jams
  • All new keyboard overlay mode
  • Fat keys option for easier keyboard playing
  • Fixes voice assignment glitch
  • Fixes occasional deallocation of source sound
  • Adds some default sounds
  • Activates iTunes file sharing

MegaCurtis, more Mega

Version 1.2 of MegaCurtis just dropped at the App Store. The previous update gave us iPhone 3GS (and iPad) compatibility as well as a vocoder-like live granulation mode. Now MegaCurtis adds new visuals and an improved control interface. A single touch will control granulation position and filter cutoff, while a second touch lets you drag position modulation rate and depth settings. This setup is far more expressive than that of the previous version, but do drop a note below if you’d like to see a different control scheme.

Arcball rotation with GLKit

A while back Apple finally added some basic 3d classes with GLKit. They included vectors, matrices, and even quaternions. Awesome! Time to do some arcball rotation! Well, I googled myself silly and couldn’t dig up a single sample of using these classes to do a simple object rotation. There are tons of articles about quaternions, gimbal lock, SLERP, and so forth, but I couldn’t locate a basic iOS arcball example. The clearest code I could find is here, but it’s straight C and uses its own Vector and Matrix classes. Arguably straight C can be faster, but wouldn’t it be great to get this all nice and Objective? Well, below is a simple snippet based on the above that uses GLKit. You can plug this right into the Xcode OpenGL Game template, et voila.

 
#define RADIANS_PER_PIXEL (M_PI / 320.f)
 
/**
 * do this in viewDidLoad
 *
 * these are class variables:
 
	CGPoint iniLocation;
	GLKQuaternion quarternion;
 
 */
- (void) initArcBall
{
	quarternion = GLKQuaternionMake(0.f, 0.f, 0.f, 1.f);
	iniLocation = CGPointMake(0.f, 0.f);
}
 
/**
 * do this in update
 
 // skip auto rotation
 //baseModelViewMatrix = GLKMatrix4Rotate(baseModelViewMatrix, _rotation, 0.0f, 1.0f, 0.0f);
 
 // rotate with quaternion instead
 [self rotateMatrixWithArcBall:&baseModelViewMatrix];
 
 */
- (void) rotateMatrixWithArcBall:(GLKMatrix4 *)matrix
{
	GLKVector3 axis = GLKQuaternionAxis(quarternion);
	float angle = GLKQuaternionAngle(quarternion);
	if( angle != 0.f )
		*matrix = GLKMatrix4Rotate(*matrix, angle, axis.x, axis.y, axis.z);
}
 
// ------------------------------------------------------------------------------------------
 
- (void) rotateQuaternionWithVector:(CGPoint)delta
{
	GLKVector3 up = GLKVector3Make(0.f, 1.f, 0.f);
	GLKVector3 right = GLKVector3Make(-1.f, 0.f, 0.f);
 
	up = GLKQuaternionRotateVector3( GLKQuaternionInvert(quarternion), up );
	quarternion = GLKQuaternionMultiply(quarternion, GLKQuaternionMakeWithAngleAndVector3Axis(delta.x * RADIANS_PER_PIXEL, up));
 
	right = GLKQuaternionRotateVector3( GLKQuaternionInvert(quarternion), right );
	quarternion = GLKQuaternionMultiply(quarternion, GLKQuaternionMakeWithAngleAndVector3Axis(delta.y * RADIANS_PER_PIXEL, right));
}
 
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
	UITouch *touch = [touches anyObject];
	CGPoint location = [touch locationInView:self.view];
 
	iniLocation = location;	
}
 
- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
	UITouch *touch = [touches anyObject];
	CGPoint location = [touch locationInView:self.view];
 
	// get touch delta
	CGPoint delta = CGPointMake(location.x - iniLocation.x, -(location.y - iniLocation.y));
	iniLocation = location;
 
	// rotate
	[self rotateQuaternionWithVector:delta];
}

Introducing MegaCurtis for iPhone 4 and 4s

Today we launch the latest iteration of the Curtis granular synth series, MegaCurtis for the iPhone. The app was completely rewritten for better performance, longer recording time, session recording, polyphony, Retina display and more! We’ve added jitter, LFOs, amp envelope control, and even a proper keyboard.

See it in action at http://www.youtube.com/thestrangeagency

More awesome features are on their way to the app store as free updates, but the launch version is only $.99 for a limited time. So, save a few bucks and get your tweak started early.

If you haven’t yet, grab Curtis Heavy for free to get a taste of the sound. Record vocals, drums, guitar, or even your cats, and turn them into synthesizers!