Automatic Speech Recognition (ASR) is an impressive achievement of computer science, bringing together signal processing, machine-learning algorithms and computing hardware, to realize systems that effectively translate speech into text. While we can create functional ASR systems today in several languages, they are still far from human-level performance in various scenarios. Also, building an ASR system remains too expensive and data-intensive to be appropriate for low-resource languages. At CSALT, we focus on the machine-learning components that can improve ASR performance. We also focus on developing speech processing techniques for low-resource languages, together with addressing broader technical challenges that emerge when only limited amounts of data are available. More generally, we also explore the interactions between speech and text.