Input and output feature shapes in CNN for speech recognition
DNN/CNN prediction(training) is done for 1 frame at a time. The output can be any of the 183 outputs states. Length of the audio files is not a problem since the input to the DNN/CNN is of same dimension only the number of inputs change with audio length.

e.g 1.wav has 500 features and each feature is 39 dimensional and 2.wav has 300 features, 
the trained model will take a 39 dimensional input and output will be 183 dimensional. So depending on length we'll get different number of outputs.

Since all the frames in an utterances are tested against all the 183 possibilities so the output always remains 183 dimensional. There is no need to specify number of phonemes an utterance can have as everything is being done at frame level.

Frame concatenation (9-15 frames) is done to leverage contextual properties of speech data. Phone changes are context dependent. For 15 frame context, we change the input of DNN to [7*39 (left_context) 39 7*39(right_context)], a 585 dimensional vector. So now DNN will take 585 dimensional data as input and will output a 183 dimensional vector.

CNN input


  There exist several different alternatives to organizing these
  MFSC features into maps for the CNN. First, as shown in
  Fig. 1(b), they can be arranged as three 2-D feature maps,
  each of which represents MFSC f
  eatures (static, delta and
  delta-delta) distributed along both frequency (using the fre-
  quency band index) and time (using the frame number within
  each context window). In this case, a two-dimensional con-
  volution is performed (explained below) to normalize both
  frequency and temporal variations simultaneously. Alterna-
  tively, we may only consider normalizing frequency variations.
  In this case, the same MFSC features are organized as a number
  of one-dimensional (1-D) feature maps (along the frequency
  band index), as shown in Fig. 1(c). For example, if the context
  window contains 15 frames and 40
  fi
  lter banks are used for each
  frame, we will construct 45 (i.e., 15 times 3) 1-D feature maps,
  with each map having 40 dimensions, as shown in Fig. 1(c).
  As a result, a one-dimensional convolution will be applied
  along the frequency axis. In this paper, we will only focus on
  this latter arrangement found in Fig. 1(c), a one-dimensional
  convolution along frequency


So the input to the CNN will be an image patch of size 45 * 40 regardless of the length of the audio file, just the number of such inputs will depend on the length of audio file.

Why force alignment?

Now we are doing everything at frame level so for each frame we need the state labels. Usually this timing information is not available.

Transcribed data usually looks like this, 
1.wav -> I am a cat

Now I don't know how many frames belong to I or to a.

HMMs are trained on this data and force alignment is done to generate state level labels for each frame. 

Better modeling of input-output relation gives improvement over other methods. Filter bank features also contribute to improvements. A DNN trained with filter bank features gives better performance as compared a DNN trained with MFCC features.