First time here? Check out the FAQ!
x

Live input to MIDI

0 votes
540 views
Hi forum,

I would like to track the frequency and the amplitude of a live input (contact microphone) and to convert it to MIDI notes and velocity. Is there a way?

Many thanks

Luis Aly
asked May 13, 2016 in Using Kyma by luis-aly (Practitioner) (570 points)

2 Answers

0 votes

Here's a way you could get started:

In a Mixer, combine MIDIOutputEvent, FrequencyTracker (2c to 4c) Global Controller, and Amp Follower to Global Controller (all of these Sounds are in the Prototypes).  In the MIDIOutputEvent, set:

Frequency to !FreqLow

Amplitude to !Amp

Gate to !Amp threshold: !Thresh

Whenever the tracked amplitude exceeds your threshold, it will output a MIDI key event with the currently tracked frequency and amplitude.

Once you get it going, you can replace the default inputs to the trackers to be AudioInput channel or channels where your contact microphone is coming into Kyma.

Let us know how it goes!

 

answered May 14, 2016 by ssc (Savant) (128,120 points)
Hi SSC

Thanks for your help! It´s working ;-) ... but I wonder: this is for controlling a Sound in the same Kyma patch. The MIDI out goes to an outboard synth (works!) but it seems not to run inside a patch that it´s expecting MIDI in. Is there a way to do this? I think what I need is a "virtual" MIDI port for OUT and IN in the same patch ... Hope it´s clear.

Creative regards

Luis Aly
To control Sounds within Kyma, you don't need MIDI at all.  In the example, you could use !FreqLow hz for the Frequency of the Sound, !Amp for the Scale or Level, and if it is expecting a Gate or a trigger, you could use the (!Amp threshold: !Thresh) in the Gate field.
The problem is that the Sound I am trying to control is complex and has already a lot of MIDI implementation. That´s why I would really want to "talk" with that Sound via MIDI ...

Thanks for your input
0 votes

To control a Kyma Sound whose parameters are already set to Key events (KeyDown, KeyPitch, KeyVelocity, KeyTimbre), create a StepSequencer of length 1 and set its input to the keyboard Sound you want to control.

Use {!FreqLow hz} as the only entry in the KeyPitches field; use !Amp as the only entry in the KeyVelocities field; use (!Amp threshold: !Thresh) in the Step field.  This will convert the extracted features from your live input into Key Events to control the Sound.

Here's an example with the frequency-tracking and amplitude-tracking Sounds pasted directly into the StepSequencer parameter fields.

answered May 15, 2016 by ssc (Savant) (128,120 points)
...