UbiEar: Bringing Location-independent Sound Awareness to the Hard-of-hearing People with Smartphones