Speaking Flashcards is a speech-in/speech-out flashcard app. Great for language studies!
It uses spaced repetition and it's open-source.
It uses speech input (speech recognition) and speech output (speech synthesis) to make studying easier. Speaking Flashcards also schedules questions based on your performance (i.e. spaced repetition). Get a question right, and see it less often - get it wrong, and see it more often!