diff --git a/externals/moocow/flite/flite.c b/externals/moocow/flite/flite.c
index 0120b47f3ff37ea46daaca507fa9f25516dec232..5b396c1aa6b35b54baced317a2dc160bcf7e1366 100644
--- a/externals/moocow/flite/flite.c
+++ b/externals/moocow/flite/flite.c
@@ -75,7 +75,7 @@ void flite_synth(t_flite *x) {
   cst_wave *wave;
   int i,vecsize;
   t_garray *a;
-  t_float *vec;
+  t_word *vec;
 
 # ifdef FLITE_DEBUG
   post("flite: got message 'synth'");
@@ -112,15 +112,15 @@ void flite_synth(t_flite *x) {
   post("flite: garray_resize(%d)", wave->num_samples);
 # endif
 
-  garray_resize(a, wave->num_samples);
-  if (!garray_getfloatarray(a, &vecsize, &vec))
+  garray_resize_long(a, wave->num_samples);
+  if (!garray_getfloatwords(a, &vecsize, &vec))
     pd_error(x,"flite: bad template for write to array '%s'", x->x_arrayname->s_name);
 
 # ifdef FLITE_DEBUG
   post("flite: ->write to garray loop<-");
 # endif
   for (i = 0; i < wave->num_samples; i++) {
-    *vec++ = wave->samples[i]/32767.0;
+    vec[i].w_float = wave->samples[i]/32767.0;
   }
 
   // -- outlet synth-done-bang