Jump to content

Bavi_H

Members
  • Posts

    9
  • Joined

  • Last visited

Everything posted by Bavi_H

  1. If you change your mind and want to stop Cakewalk shifting events because of the setup measure (and System Exclusive banks and RPN messages) check out the settings I mentioned in this post: Re: Cakewalk notes events shifting issue
  2. I found another setting that, together with the other settings I recommended in my previous post, will work around the problem. When you use these settings, the initial markers and the notes are no longer shifted. Be aware that Cakewalk still reorders and modifies other events, see the details in my earlier post. But using the following settings should make your style editing process useable without having to re-shift events back to their original positions. Suggested settings: In Cakewalk Preferences, MIDI, Playback and Recording, uncheck "Always Use Sysx Banks for MIDI Files (Instead of Sysx Data)". In the TTSSEQ.ini [Options] section, set GeneralMidiSMFs to 0. In the TTSSEQ.ini [Options] section, set TranslateRPN to 0. Detailed steps to change these settings: In Cakewalk, go to the Edit menu and choose the Preferences command. Under the MIDI category, click on "Playback and Recording". At the bottom of the page, uncheck the box "Always Use Sysx Banks for MIDI Files (Instead of Sysx Data)", then click OK: Close Cakewalk and open Notepad (or another text editor). In Notepad, go to the File menu and choose the Open command. In the File name box, put in the following name then click the Open button. %AppData%\Cakewalk\Cakewalk Core\TTSSEQ.ini Note: %AppData% is an environment variable that will take you to your App Data folder. Under the [Options] section add the following lines: GeneralMidiSMFs=0 TranslateRPN=0 (If these lines already exist, change the values on the end to 0). Save the file and close Notepad. Now when you open your style MIDI file in Cakewalk and re-save it, the markers and notes are no longer shifted. __________ Sources I mentioned the source of the GeneralMidiSMFs setting in this previous thread: Saved MIDI file misaligned track starts. Specifically from Special handling of GM, GS, and XG MIDI files: and Cakewalk Help - TTSSEQ.INI: I read about the TranslateRPN setting in a PDF file called The Cakewalk Application Language Programming Guide for SONAR (Version 2.2. Febrary, 24, 2010). You can download it from the link in this post: Re: CAL manual or guide in PDF. In this document, section 5.9 "Details on RPN and NRPN Controller Events" describes how Cakewalk combines the CC events for RPN or NRPN commands into one event. On page 84 it says:
  3. By the way, I was also interested in reading what other people said about this issue. Could you provide a link to your question about this issue on Yamaha arrangers forum?
  4. In general, when you open a MIDI file, Cakewalk seems to convert MIDI file events into various internal events and properties, and when you save as a MIDI file, it converts those internal items back into MIDI file events. This causes various MIDI file events to get rearranged or moved. I have found some settings that will improve the situation, but there are still events that get moved. Until we find workarounds (or Cakewalk is updated) to stop all the unwanted event movement, you might have to use other MIDI file editors. Suggested settings so far: Uncheck "Always Use Sysx Banks for MIDI Files (Instead of Sysx Data)". Set GeneralMidiSMFs to 0. UPDATE: See my later post for an additional setting to use. More information So far I have tested opening then saving the example MIDI file in Cakewalk, then looking at the MIDI file using other tools. I mainly looked at the events up to the first Note On event, investigating what Cakewalk changed, and trying to figure out why Cakewalk changed things, hoping to find workarounds to prevent unwanted changes. Here's what I know so far. Cakewalk always makes the following changes: Changes the MIDI file resolution from 1920 ticks per quarter note to 960 ticks per quarter note. Events at the same tick position can be reordered. Modifies the tempo meta event from 472440 microseconds per quarter note to 472441 microseconds per quarter note (from 127.000254... quarter notes per minute to 126.999985... quarter notes per minute) Inserts a key signature meta event. Inserts a Data Entry LSB (CC38) event after every Data Entry MSB (CC6) event. Changes the Text meta event into a Marker meta event. (Cakewalk assumes any Text event in a Format 0 MIDI file is acting as a Marker.) Changes Note Off events (with any velocity) to Note On with velocity zero. With the following options: "Always Use Sysx Banks for MIDI Files (Instead of Sysx Data)" option is checked GeneralMidiSMFs setting is 1 Cakewalk makes the following changes: All of the System Exclusive messages get moved to the beginning. The initial markers end up getting moved from 1:1:0 to 1:1:58 (in the 1920 ticks per quarter note resolution that MixMaster uses) The first note (on channel 10) gets moved from 2:1:0 to 3:1:0 With the following options: "Always Use Sysx Banks for MIDI Files (Instead of Sysx Data)" option is unchecked GeneralMidiSMFs setting is 0 Cakewalk makes the following changes: The first note (on channel 10) gets moved from 2:1:0 to 2:1:54 (in the 1920 ticks per quarter note resolution that MixMaster uses) The movement of the first note from 2:1:0 to 2:1:54 seems to be related to the RPN messages (CC101, CC100, CC6, plus the CC38 that Cakewalk adds). When Cakewalk opens a MIDI file, it combines the CC messages that make up an RPN command into one "RPN" event in its event list. When Cakewalk saves a MIDI file, it splits an "RPN" event into four MIDI file events spread over 4 ticks: "RPN" tick + 0: CC101 (Registered Parameter Number MSB) "RPN" tick + 1: CC100 (Registered Parameter Number LSB) "RPN" tick + 2: CC6 (Data Entry MSB) "RPN" tick + 3: CC38 (Data Entry LSB) If the CC events generated from the "RPN" event end up at a position that would overlap other events, Cakewalk normally tries to only adjust the overlapped events' positions to a minimum later position. But it sometimes seems to get confused, and shifts all the following events in the track by a constant number of ticks. As a test, if I remove all the CC101, CC100, and CC6 events in the original MIDI file, then... With the following options: "Always Use Sysx Banks for MIDI Files (Instead of Sysx Data)" option is unchecked GeneralMidiSMFs setting is 0 The first note (on channel 10) remains at 2:1:0.
  5. (This was a preview test post that I accidentally submitted.)
  6. Could you provide or link to an example style file I could look at? (I can strip the CASM and following sections myself using a hex editor.) Could you describe one example of a note that had its tick position shifted? What is the correct position you expect and the wrong position you're seeing? Could you link to your question about this issue on Yamaha arrangers forum? I want to read what other people say about the issue. I recently looked at a possibly similar issue where saving a MIDI file in Cakewalk caused all the notes to get moved 1 measure later. I found Cakewalk documentation that explains when Cakewalk sees a GM, GS, or XG Reset System Exclusive message at the beginning of the file, it will insert an initial "setup measure" when you save the MIDI file. You can add a line to a configuration file to disable this behavior.
  7. Alternatively, it looks like you can achieve the same effect by (temporarily) removing the GS Reset System Exclusive message from your MIDI file. As a test, I removed the GeneralMidiSMFs=0 from TTSSEQ.INI I had previously added. Using another MIDI file editor I removed the GS Reset from your MIDI file, then opened the file in Cakewalk and saved it, then examined the MIDI file in another editor. I saw the same results as when I had added the GeneralMidiSMFs=0 line to TTSSEQ.INI. (Cakewalk no longer moves all notes 1 measure later. However, there is still some slight adjustment of the notes at time zero in your MIDI file, they're now 3 ticks later. And the initial setup events in each track are still reordered and some are moved 1 to 3 ticks later.) Source: Special handling of GM, GS, and XG MIDI files:
  8. I found a setting that will help avoid most of the problem. Close Cakewalk, then edit the following file in a text editor: %AppData%\Cakewalk\Cakewalk Core\TTSSEQ.INI In the [Options] section, add the following line: GeneralMidiSMFs=0 Save and close the file, then you can re-open Cakewalk. Now when you save your MIDI file, Cakewalk no longer moves all notes 1 measure later. However, there is still some slight adjustment of the notes at time zero in your MIDI file, they're now 3 ticks later. And the initial setup events in each track are still reordered and some are moved 1 to 3 ticks later. Source: Cakewalk Help - TTSSEQ.INI: Perhaps it should really say "when saving Standard MIDI Files" since that's when Cakewalk seems to make the change, but otherwise this description fits the behavior we were seeing happen. (And I think a better name for it would have been something like "SetupMeasureSMFs" -- it doesn't seem related to General MIDI to me.)
  9. Note to everyone: This problem is also discussed starting at this midi.org post. It looks like Cakewalk decided there wasn't enough time at the beginning to send all of the initial setup events, so Cakewalk moved all the notes one measure later. Some of the tracks in your file have events before the first note event. For the most part, Cakewalk left the events before the first note in each track at the same position. (Some of the initial setup events in each track were moved between a few ticks to around one beat later.) In each track, the events starting with the first note and after were moved one measure later.
×
×
  • Create New...