An Instrumental Role in Violin Instruction
University of Maryland computer science Ph.D. student Snehesh Shrestha seldom turns down a challenge, whether it’s fixing a complicated machine, learning a new song on guitar or running a little faster than his last mile. Now, he’s learning how to play the violin.
But Shrestha is not taking on this challenge alone—he’s building an app that helps violin students, himself included, improve their skills. Though Shrestha has played guitar for 25 years, he finds the fiddle’s four strings to be far more formidable.
“If a beginner practiced guitar for about a month or two, they should be able to play a couple songs. Not in violin,” Shrestha said. “In violin, the beautiful thing—as well as the challenge—is the fact that you have a bow, and with a bow comes tremendous control. My bow strokes have gotten better, but I’m still struggling with the control aspect, and a lot of my skills are a reflection of the technology I’ve built.”
That technology is called VAIolin—pronounced like “violin”—and it’s a joint venture between UMD’s Department of Computer Science, School of Music and the University of Maryland Institute for Advanced Computer Studies (UMIACS). The app uses sound, video and artificial intelligence (AI) to provide personalized feedback to violin players, with the aim of making the violin, one of the most difficult instruments to master, more accessible. The technology could be applied to other instruments in the future.
This project is part of a longtime mission for Shrestha: to develop technologies that make people’s lives easier and more enjoyable.
From toddler to tinkerer
Growing up in Kathmandu, Nepal, Shrestha was a restless middle child with boundless curiosity. He was fascinated by machines, whether it was the robotic toys he saw on store shelves or the floppy discs in his father’s office that contained (to his astonishment) a library’s worth of information.
As a teenager, Shrestha took a crack at fixing his family’s French-made washing machine. Unable to understand the manual, Shrestha relied on his instincts while taking the machine apart. Ultimately, he was able to diagnose and fix the problem.
“Even though it was tough, it felt like a big puzzle—almost like decoding,” he said. “My parents gave me a lot of freedom and opportunity to tinker—within limits.”
When Shrestha was in high school, he discovered a love of programming and started competing against his brother and his best friend to come up with the coolest ideas. The three boys joined a Southeast Asia software competition and met other students who shared their passion, which later inspired them to launch an intraschool organization of young software developers called the Nepal Society of Programmers.
“We were really curious and wanted to go beyond how we were being challenged in class,” Shrestha said. “I think that was the start of entrepreneurship for me, as well as an introduction to all the different things you could do with a computer.”
Join the club
Shrestha’s love of friendly competition and camaraderie carried over into his college years. He received a scholarship to study computer engineering at Elizabethtown College in Lancaster County, Pennsylvania, where he and his friends started a robotics club.
The members raised enough money to build a 300-pound ultrasonic robot dubbed the “WunderBot.” They entered it into the Intelligent Ground Vehicle Competition (IGVC) in Rochester, Michigan, and placed 12th in the design division. The experience cemented Shrestha’s love of hands-on engineering and digital interfacing.
After graduating from Elizabethtown in 2005, Shrestha worked as a software developer at Two Technologies, Inc. for two years before accepting an engineering role at Qualcomm Inc., one of the world’s largest cell phone chip manufacturing companies. At the time, the company had not yet delved into robotics, so Shrestha once again formed a robotics club. The group attracted hundreds of his coworkers and ultimately built Qualcomm’s first robotics development platform.
Shrestha appreciated the group’s ability to break down barriers and create a bond over a shared interest.
“With robotics clubs, there’s no hierarchy. You have senior vice presidents and people from all walks of life, from the hardware team to the software team,” Shrestha said. “It didn’t matter—we all came together. We were all just excited to build something cool.”
Beginning in 2011, Shrestha served as a judge for Qualcomm’s Innovation Fellowship, which provides funding to Ph.D. students around the world. There, he crossed paths with UMD Computer Science Professor Yiannis Aloimonos and UMIACS Research Scientist Cornelia Fermüller, and the more Shrestha learned about UMD’s computer science program, the more he wanted to be a part of it. Thanks in part to Aloimonos’ encouragement, Shrestha applied and was accepted into the program.
—Story by Emily Nunez, College of Computer, Mathematical, and Natural Sciences