Have you ever wondered what bones/morphs a VMD motion is trying to use? I wrote a script in Python that can parse a VMD motion file and unpack all of the frame-data it contains, and converts it to a human-readable text form.
It creates two files: a "dump" file, which is just all of the frame-data in TXT, and a "summary" file which lists all of the bones and morphs that were in the original motion, and how many times each was used. The dump file could be used with some other file-compare tool to compare two variations of the same motion and see what exactly is different. The summary file can be used to answer the question, "does the motion use the same names for bones and morphs that my model uses?" when you load a motion and something seems wrong.
There are 3 types of data in VMD files: bone-frames, morph-frames, and camera-frames. This script handles all of them, meaning this works for both dance motions and camera motions.
To run this script:
Side note: I learned that bones and morphs are matched with your model by comparing only the first 15 bytes of the Japanese name, the English name is totally ignored.
If you manage to break this script in some way, please send me a direct message on Iwara. I can't fix the bug unless I know about the bug.