![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: Lock Sound to MIDI Clock? |
valentine Member |
![]() ![]() ![]() Is there any way to lock a sound such as "nested phonemes" (in Sample Backgrounds) to MIDI clock? Thanks. IP: Logged |
ukuphambana Member |
![]() ![]() ![]() I've been playing with this myself lately. There are some examples in the Sound Library under "MIDI Timing Clock ctrl seq & del" on how to use the Event Values !TimingClockDuration and !TimingClock to sync things to external MIDI. I use MIDI clock rather than timecode to sync my gear up generally, and I'm getting to the point of wanting to use Kyma more together with other gear, instead of as a standalone thing -- I'm planning to start gigging with it et cetera but don't really want to do EVERYTHING through Kyma. The thought of modifying every BPM based sound I've made (not to mention the Sound Library) individually to use the timing clock events rather than !BPM was sort of horrifying. So I spent some time playing around and came up with a hack that I think will save me from this. What I did was take a SoundToGlobalController, throw the MIDI clock expression corresponding to BPM in as its value -- the expression to use is (!TimingClockDuration * 24 * 60) inverse if I remember right -- and then set !BPM up as its output. Then I threw this through an attenuator to keep the control signals from clicking on the output or anything, and mixed the whole branch in with my original sound. Voila! The original sound's BPM was now slaved to external MIDI clock! I've tried substituting various BPM based things using this setup and it's worked out pretty well so far. I've only been toying with it for a few days though, so I may run into problems yet. I'm keeping my fingers crossed... What really surprised me was that when I tried this same trick in the TimeLine, it wouldn't work. Instead the TimeLine gave me a Smalltalk error complaining about an undeclared variable called "an". I don't understand this bit at all! If someone at SSC would like to help me out with this one, I'd appreciate it quite a bit! On second thought, if you would add "MIDI clock" to MTC and free-running as a sync option in the TimeLine, that would be even better! Please?! (Ignore this complaint if it's already in the latest update -- I haven't downloaded that yet...) IP: Logged |
valentine Member |
![]() ![]() ![]() Thanks, very good information. I'll give it a try. Regards, Bob IP: Logged |
SSC Administrator |
![]() ![]() ![]() I checked this out just now by putting a SoundToGlobalController in the top track of a timeline and using it to generate !BPM. In the timeline, this was automatically slaved to the global BPM. In the next track I put BPMRandoMiniLoops so I could hear if BPM was changing. Then I set the global !BPM to Live. This worked except that the range of values was too large. So I edited the range of !BPM in the VCS to be 0 to 1. (BTW, this technique controls the !BPM variable and affects any Sounds that refer to !BPM, but it does not change the speed of the time cursor. To do this, put a TimeControl Sound into another track and set its Rate to !BPM/60. The default TimeControl has a SetDuration as its input. Just delete that and leave the Constant zero input instead). IP: Logged |
ukuphambana Member |
![]() ![]() ![]() Hmmm...is the order of tracks in the timeline relevant? I guess I'll try moving the SoundToGlobalController to the top of my timeline and see if it makes a difference. Failing that, I'll try attaching one of my timeline examples here so you can take a look at it. While we're on the subject (more or less), I'm wondering, is there actually a difference between an Event and a GlobalController? I noticed that the prototype mentioned in the big book (4.5 manual) is called SoundToEvent but the one actually found in Kyma 5.x is called SoundToGlobalController. I guess another way to put this would be, are all Events global by default or is there some internal distinction between global and local scope? In all the sequencer examples and prototypes, for example, the sequencer is in front of of the thing it controls in the diagram. Same thing with MIDIVoice and Script examples. So I was (pleasantly) surprised that this timing clock -> BPM sync trick worked, because I had previously assumed that any Event generating sound had to be in front of the Sound that uses those events for them to be used. It definitely wasn't the first thing I tried. IP: Logged |
SSC Administrator |
![]() ![]() ![]() No, the ordering of the tracks is irrelevant. Try the thing I described and if you run into problems please attach it to an email to symsound@symbolicsound.com rather than posting here. Yes, Events are global by default. However, the AnalogSequencerModule and MIDIVoice can bind the red variables in all Sounds to the left of where they are in the signal flow diagram. But the SoundToGlobalController (just a different name for the SoundToEvent module) generates Events that look as though they are coming in from an external MIDI source. You just have to schedule them in parallel with the rest of your Sound (by putting both your Sound and the SoundToGlobalController into a Mixer). That may seem a little odd at first (since the SoundToGlobalController is not generating an audio signal), but just think of the Mixer (and the Timeline) as ways to schedule programs (aka Sounds) to run in parallel on the Capybara. IP: Logged |
ukuphambana Member |
![]() ![]() ![]() Okay, just to follow up...the timeline bug using SoundToGlobalController mapping to sync BPM to external MIDI is fixed in the newest version (5.22), which I hadn't downloaded and installed yet. I must remember to upgrade earlier from now on. This is the second time I've posted to the forum about a problem fixed in the last release! As a nag for the future: I definitely think that making this technique for external MIDI clock sync should be in the documentation somewhere. The discussion of MIDI sync in the big book (4.5 design guide) almost had me convinced that the only way to sync Sounds up to MIDI clock would be to modify them all manually. [This message has been edited by ukuphambana (edited 11 May 2002).] IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() ![]() |
This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.