The Jacobian of any compact Riemann surface carries a natural theta
divisor, which can be defined as the zero locus of an explicit function,
the Riemann theta function. I will describe a generalization of this idea,
which starts by replacing the Jacobian with the moduli space of higher
rank bundles. These moduli spaces also carry theta divisors, described via
"generalized" theta functions. In this talk, I will describe recent
progress in the study of generalized theta functions. In particular, I
will explain a level-rank duality relating different spaces of generalized
theta functions. This is based on joint work with Alina Marian.