Speech recognition in adverse environments