Always Channel 1 + Channel 2 for Piano parts?

Have questions? Just saying hello? This is the place.
No explicit, hateful, or hurtful language. Nothing illegal.
Post Reply
paronym
Posts: 25

Post by paronym »

For the MIDI files from the Synthesia Music Store, are the piano parts always in Channel 1 and Channel 2?

I'm wanting to play the MIDI files with Pianoteq, and currently it appears to support playing either ALL the channels, or just ONE of the channels, so I'm hoping they can implement a feature to allow multiple channels to be selected. If they do, I want to be sure that if I choose Channel 1 + Channel 2 it'll always be the piano parts that play.
paronym
Posts: 25

Post by paronym »

I've since figured out that the channel numbers for the different instruments can be viewed in Synthesia, and that the different MIDI files from the store use different channel numbers for the piano parts (which is a pity). But what I can't figure out now, is why when I load the MIDI files into Pianoteq, it sees MIDI 'Tracks' not 'Channels' and the numbers don't match up at all. Below are screenshots of the 'Channels' that Synthesia sees in the file 'Silver Bells.mid' and the 'Tracks' that Pianoteq sees when loading the same file. In this example, playing Tracks 2 + 3 in Pianoteq doesn't play the piano parts. And Channels 12, 13, etc. are not visible as Tracks at all.
synthesia.png
synthesia.png (117.85 KiB) Viewed 647 times
pianoteq.png
pianoteq.png (167.13 KiB) Viewed 647 times
Bavi_H
Posts: 89

Post by Bavi_H »

paronym wrote: 11-29-22 6:35 amwhy when I load the MIDI files into Pianoteq, it sees MIDI 'Tracks' not 'Channels' and the numbers don't match up at all.
This is a very confusing part of MIDI files. A complete explanation can get very technical.

Putting it in overly simplified terms, each note in a MIDI file can have a track number, a channel number, and a program change number.
  • Some MIDI file software likes to display things mainly by track. For example, the Pianoteq screenshot you posted shows tracks 0 to 11.

    Some MIDI file software likes to display things mainly by channel. For example, in vanBasco's Karaoke Player, the MIDI Output window shows 16 rows for channels 1 to 16.

    Synthesia goes even further. When Synthesia opens a MIDI file, it examines all the notes in the file. Any notes that have the same combination of track number, channel number, and program change number are considered a unique part to Synthesia. Each part shows up on the "Hands, Colors, and Instruments" screen as a separate block. You should also be aware that Synthesia might use a different channel number than the MIDI file specifies in order to give each part a unique channel number.

If you have a Windows computer and you want to further investigate how MIDI files work, I recommend you use Sekaiju to open the MIDI file, then look in the Event List (in the View menu, choose "Show new Event List window"). Sekaiju shows everything in the MIDI file almost directly.
  • When you open a MIDI file, if Sekaiju prompts you to "move events into the first track" or "move events into the second or later track", click No to see the MIDI file without any changes.

    In the Setup menu, choose the Options command. On the General page, I recommend you check the box for "Count track number from 0". If this setting is checked, when you open a MIDI file that contains multiple tracks, Sekaiju will number the first track in the MIDI file (sometimes called the "conductor track") as "track 0" and the first track that can contain notes as "track 1".
paronym
Posts: 25

Post by paronym »

Thanks Bavi_H for your detailed explanation. I didn't know there were so many different ways that MIDI files can be interpreted by different applications. It's a little disappointing, though, as I think this means there's little prospect of me being able to do what I want, which is to open the MIDI files in Pianoteq and have it play the piano parts only. The way the MIDI files from the Synthesia Music Store are constructed seems to be at odds with the way that Pianoteq interprets them by Track only (and I guess we can't say that Pianoteq is objectively doing anything wrong necessarily).
Nicholas
Posts: 13047

Post by Nicholas »

If you use something like MIDI-OX as an intermediary (with a virtual MIDI driver like loopMIDI to send the messages between apps), you could do something like:

Synthesia ----[loopMIDI device 1]---> MIDI-OX ----[loopMIDI device 2]---> Pianoteq

Once that's all set up so MIDI-OX is forwarding Synthesia's input out to Pianoteq, you should be able to use its built-in "Data mapping" feature to reroute events from one channel to another. You could use that to "merge" the piano channels and then just set Pianoteq to only listen to one channel.
paronym
Posts: 25

Post by paronym »

Thanks Nicholas, that sounds like a good idea, and I may look into doing something like that in future. But it also sounds quite complicated, and possibly not worth all the effort.
Nicholas
Posts: 13047

Post by Nicholas »

It's not so bad. Once it's all set up, it'll just be a matter of having one extra app running in the background.

Here are the rough steps. For your case, you'd just change step 8 so that instead of redirecting "Any" channel to "1", you'd be pointing one of the piano channels to the other one, so they both ended up on the same channel.

(That guide recommends LoopBe1 for the virtual MIDI driver, but its free version only lets you use one software port. Because you'll further need to redirect MIDI-OX's output to another app, you'll need two software ports. loopMIDI's free version can do that.)
Bavi_H
Posts: 89

Post by Bavi_H »

paronym wrote: 11-28-22 5:33 pmFor the MIDI files from the Synthesia Music Store, are the piano parts always in Channel 1 and Channel 2?
I've got four MIDI files from the store: "Linus and Lucy", "Love is Strange", "Still Alive", and "The Wanderer". These files all use Channel 1 for the right hand piano part and Channel 2 for the left hand piano part. But I don't know if all the MIDI files in the store follow the same pattern.

paronym wrote: 11-29-22 6:35 amI've since figured out that the channel numbers for the different instruments can be viewed in Synthesia, and that the different MIDI files from the store use different channel numbers for the piano parts
Be aware that Synthesia might change the channel numbers in some cases. When this happens, the channels numbers shown on the "Hands, Colors, and Instruments" screen might not match the channel numbers originally specified in the MIDI file.

To make sure you are seeing the channel numbers that MIDI file contains, you can change the following setting in Synthesia:
  • Go to the Settings, Advanced page, and scroll down to the MIDI Data section.
    If you are using Synthesia 10.8, change "MIDI Track Channels" to "Use Original".
    If you are using Synthesia 10.9, turn off the switch for "Force Unique Track Channels".

    Now the "Hands, Colors, and Instruments" screen will show the original channel numbers specified in the MIDI file.

__________


If I understand correctly, paronym wants to have the Pianoteq virtual instrument play MIDI files from the Synthesia Music Store, but they only want to hear the left and right hand piano parts play on the Pianoteq, any other part in the MIDI file should not play on the Pianoteq. Here are some ideas.


Connect Synthesia to Pianoteq

Use just use one loopMIDI connection from Synthesia to Pianoteq. Open the MIDI file in Synthesia and use the "Hands, Colors, and Instruments" screen to mute all the parts except the left and right hand. Now when you play the MIDI file in Synthesia's "Watch and Listen" mode, only the piano parts will get sent over the loopMIDI connection to Pianoteq.


Convert the MIDI file to Format 0

Use a tool to convert the MIDI file to a Format 0 MIDI file. Now when you play the MIDI file with Pianoteq's built-in MIDI player, it will let you enable and disable individual channels:
  • pianoteq-format-0.png
    pianoteq-format-0.png (14.35 KiB) Viewed 598 times
If you disabled the "Force Unique" setting in Synthesia described earlier, then the channel numbers you see in Synthesia will match the channel numbers you see in Pianoteq. It may be easier to find the piano parts you want in Synthesia's "Hands, Colors, and Instruments" screen, then enable those same channel numbers in Pianoteq's built-in MIDI player.

You can use Sekaiju to convert a MIDI file to Format 0:
  • Since you can't re-download your store files, it's a good idea to make a backup copy of the MIDI file before attempting the conversion. Or make the original file "Read Only" (right-click, Properties) to help prevent overwriting it.

    1. Open the MIDI file in Sekaiju. If Sekaiju prompts you to "move events into the first track" or "move events into the second or later track", click Yes to fix the MIDI file. (If you click No, you won't be able to edit the MIDI file.)

    2. Go to the File menu and choose Property. (Or in the status bar, double-click on "Format 1" to open the property window.)

    3. In the property window, look in the "SMF Format" section and select "SMF Format 0", then click OK.

    4. Use "File, Save As" to save the converted MIDI file with a new name.

(Technical information: A Format 0 MIDI file has one track that contains data for all the channels.)
Bavi_H
Posts: 89

Post by Bavi_H »

Here's another idea. Open the MIDI file in MIDI sequencer software such as Sekaiju to find which tracks are the piano parts. Then you can enable the same track numbers in Pianoteq's built-in MIDI player.
  • Sekaiju notes:

    When you open a MIDI file, if Sekaiju prompts you to "move events into the first track" or "move events into the second or later track", click No to see the MIDI file without any changes.

    In the Setup menu, choose the Options command. On the General page, I recommend you check the box for "Count track number from 0". Then both Sekaiju and Pianoteq will call the first track in the file "track 0".
paronym
Posts: 25

Post by paronym »

Thanks Bavi_H and Nicholas for your suggestions and detailed steps. I very much appreciate the time that you've both spent outlining possible ways to make this work. Bavi_H, it sounds like your most recent idea will be the simplest, if indeed a couple of the tracks do correspond to just the piano parts that Synthesia sees as channels. I'll explore Sekaiju, loopMIDI, and MIDI-OX over the Christmas / New Year period, and I'm sure I'll get it working. Thanks again.
Post Reply