nein, Speichern muss nicht sein, es dient nur zum Debuggen / zur Verlaufskontrolle.
Später machst du den Vergleich "on the fly".
Aber das Anhören zwischendurch in der Entwicklungsphase ist schon wichtig, damit man weiss, was man verändert hat, ob es besser oder schlechter ist, und wo man jetzt steht.

"hallo Google" beweist, dass es in weiten Bereichen möglich ist, Spracherkennung auch Sprecher-unabhängig zu programmieren.
Die FT/FFT analysiert Schwingungen und Schwebungen als Summe mehrerer Grundfrequenzen (sinus/cosinus als Komplexe Funktionen), und wenn du die richtigen (niederfrequenten Sprach-/Wort/Laut-Grundfrequenzen analysierst und nicht die Stimm-Oberwellen, dann bist du sicher schon recht nah dran. Das klappte ja sogar mit dem Lego Lautstärkesensor

Bei unserer "Spracherkennung" (zumindest wie ich es mir vorstelle) wird ja auch gar nicht ein Wort "richtig erkannt" (Laut für Laut, Pause für Pause), sondern es wir das am besten passendste unter (relativ wenigen) Mustern in der Datenbank gesucht. wenn also Sprecher A "ja " sagt und Sprecher "B" auch, dann wird aller Wahrscheinlicheit nach der Raspi nicht bei B ein "rückwärts" beim Mustervergleich herauslesen.
Aber es gibt nichts, was es nicht gibt, shit happens, siehe Telekom Sprachmenü ("...dann sagen Sie jetzt bitte 'ja'.... :-/ )