A time-domain to frequency-domain Modified Discrete Cosine Transform (MDCT) digital signal processing method performed for audio coding by an apparatus, comprising: pre-processing time-domain data x n, n = 0,..., N-1, said pre-processing comprising: windowing the input signal according to y n = h n x n n = 0,···, N -1, where h n is a window function, twiddling the windowed data according to u n = z 2 n + j z N 2 − 1 − 2 n n = 0, ⋯, N 4 − 1 where: { z n + N 4 = y n − y N 2 − 1 − n z N 4 − 1 − n = − y N − 1 − n − y N 2 + n n = 0, ⋯, N 4 − 1 or, { z n = − y n + 3 N 4 − y 3 N 4 − 1 − n n = 0, ⋯, N 4 − 1 z n = − y n − N 4 − y 3 N 4 − 1 − n n = N 4, ⋯, N 2 − 1; pre-rotating the pre-processed data by using a rotation factor a ⋅ W N n + 0.5 obtained from a data table stored in memory containing either only the N/4 values defined by a·cos(2π(n+0.5)/N), n=0,..., N/4-1, or only the N/4 values defined by a·sin(2π(n+0.5)/N), n=0,..., N/4-1, thereby obtaining pre-rotated data equal to a ⋅ W N n + 0.5 ⋅ u n; performing a discrete Fourier transform of N/4 points on the pre-rotated data; and post-rotating the data transformed by the DFT by using a rotation factor b ⋅ W N k + 0.5 obtained from the data table stored in memory, to obtain frequency-domain data representing the final signal spectrum equal to; X 2 k = Re b ⋅ W N k + 0.5 ∑ n = 0 N 4 − 1 u n ⋅ a ⋅ W N n + 0.5 W N 4 n k k = 0, ⋯, N 4 − 1 X N 2 − 1 − 2 k = − Im b ⋅ W N k + 0.5 ∑ n = 0 N 4 u n ⋅ a ⋅ W N n + 0.5 W N 4 n k k = 0, ⋯, N 4 − 1, where: a and b are constants, a = 2 N 4, b = 2 N 4, N is the length of the time-domain data, W N = e − j 2 π N, W N n + 0.5 = e − j 2 π N n + 0.5, W N k + 0.5 = e − j 2 π N k + 0.5, n = 0,···, N /4-1 and k = 0,···, N /4-1; windowing the input signal according to y n = h n x n n = 0,···, N -1, where h n is a window function, twiddling the windowed data according to u n = z 2 n + j z N 2 − 1 − 2 n n = 0, ⋯, N 4 − 1 where: { z n + N 4 = y n − y N 2 − 1 − n z N 4 − 1 − n = − y N − 1 − n − y N 2 + n n = 0, ⋯, N 4 − 1 or, { z n = − y n + 3 N 4 − y 3 N 4 − 1 − n n = 0, ⋯, N 4 − 1 z n = − y n − N 4 − y 3 N 4 − 1 − n n = N 4, ⋯, N 2 − 1; pre-rotating the pre-processed data by using a rotation factor a ⋅ W N n + 0.5 obtained from a data table stored in memory containing either only the N/4 values defined by a·cos(2π(n+0.5)/N), n=0,..., N/4-1, or only the N/4 values defined by a·sin(2π(n+0.5)/N), n=0,..., N/4-1, thereby obtaining pre-rotated data equal to a ⋅ W N n + 0.5 ⋅ u n; performing a discrete Fourier transform of N/4 points on the pre-rotated data; and post-rotating the data transformed by the DFT by using a rotation factor b ⋅ W N k + 0.5 obtained from the data table stored in memory, to obtain frequency-domain data representing the final signal spectrum equal to; X 2 k = Re b ⋅ W N k + 0.5 ∑ n = 0 N 4 − 1 u n ⋅ a ⋅ W N n + 0.5 W N 4 n k k = 0, ⋯, N 4 − 1 X N 2 − 1 − 2 k = − Im b ⋅ W N k + 0.5 ∑ n = 0 N 4 u n ⋅ a ⋅ W N n + 0.5 W N 4 n k k = 0, ⋯, N 4 − 1, where: a and b are constants, a = 2 N 4, b = 2 N 4, N is the length of the time-domain data, W N = e − j 2 π N, W N n + 0.5 = e − j 2 π N n + 0.5, W N k + 0.5 = e − j 2 π N k + 0.5, n = 0,···, N /4-1 and k = 0,···, N /4-1; a and b are constants, a = 2 N 4, b = 2 N 4, N is the length of the time-domain data, W N = e − j 2 π N, W N n + 0.5 = e − j 2 π N n + 0.5, W N k + 0.5 = e − j 2 π N k + 0.5, n = 0,···, N /4-1 and k = 0,···, N /4-1;