Hello! I think what you may be after is remapping time. You can remap time globally for everything in your scene using Maya's Time Warp, BUUUT, if you only want to remap time for certain things, (in this case just the wings) you can use an animCurveTT node to do just that.
In the attached video, I have a simple "bat like" animation with looping animation on the wings. I then use an animCurveTT node to remap time on the joints driving the wings. Here are the steps involved, and they should match the video. (Of note, the steps start off with the wings already set up with a simple loop, which I assume you have)
- select the things you want to remap time on (in this case I just grabbed the wing joints)
- open the node editor, and click on the "input and output connections" button to see the nodes related to the joints
- with the node editor still active, press TAB to bring up the new node dialog, and type in "animCurveTT"
- once it is created, connect the output of the animCurveTT node to the input of all anim curve nodes you want to remap time on.
- select your animCurveTT node, and move the time slider to the first frame of your animation.
- in the Mel command line, run "setKeyframe". This will create a starting keyframe for the animCurveTT node.
- move the timeslider to the end of your animation, and run "setKeyframe" again.
- in the Graph editor, select the end keyframe, and set it's value to match the current frame (500 in the case of the video)
-select the 2 keyframes, and set the tangent type to linear. This basically recreates time, but now we can remap it using the graph editor.
- add keyframes on the anim curve for the animCurveTT node where you need to speed up and slow down time. Don't forget to move your end keyframe to adjust for the time warping.
That should be enough to get it working, and I hope it helps! Let me know if you have any questions or need more info on any of that. I know it's a lot haha, but hopefully the video helps as well.
Cheers!