With the packed data, I'm pretty sure I'll be able to make the simple phrases fit into the game. It also increases the odds of fitting in some additional words.
Instead of overlapping 2 samples together, I just packed each sample's data by itself. This means I only need 1 function to expand the data instead of 2. The utility raw_to_dpc was modified to pack the data when it converts the 8 bit samples to 4 bit.
Anyway, back to kernel development.
alex_packed_simple = 3740 bytes
alex_packed = 7579 bytes