In this paper we examine the efficiency of a generalization of the traditional normal linear (LDA) or quadratic (QDA) discriminant analysis. This procedure (the generalized discriminant analysis, GDA) replaces each normal density used in the traditional classification rule by a Fourier series density estimator which 'adjusts' the normal density if the data deviate markedly from normality (for example, heavily skewed or multimodal). We derive the GDA in both the univariate and multivariate situations. In a simulation study for the univariate situation, we evaluate the relative efficiency of the GDA. In addition, we demonstrate the performance of the GDA through a series of multivariate applications. We conclude that if the distributions of the data do not deviate markedly from normality, the GDA is as efficient as the LDA or QDA. On the other hand, if either of the distributions deviates from normality, then the GDA, which performs as a semiparametric discriminant procedure, is more efficient than the LDA or QDA.