Recommended crates for canvas work/audio handling

If anyone has any suggestions on any crates that I should use for importing images/animations, working on a canvas inside the program, and importing audio into my program, that would be greatly appreciated.

At what level do you want to work at? You can get high level with these libraries:

  • Amethyst - An ECS system for creating games
  • Azul - A gui framework backed by webrenderer
  • Piston - An all-around graphics crate aimed at games and game design
  • Yew - A framework for building web apps

On a lower level you have:

  • Vulkano - Idiomatic bindings for the vulkan api
  • gfx-rs - A high-performance, bindless graphics API

And then you have bindings to preexisting gui libraries: