diff --git a/src/main/kotlin/com/sangdol/text_to_speech/SampleCreateTestRunner.kt b/src/main/kotlin/com/sangdol/text_to_speech/SampleCreateTestRunner.kt new file mode 100644 index 0000000..88233c4 --- /dev/null +++ b/src/main/kotlin/com/sangdol/text_to_speech/SampleCreateTestRunner.kt @@ -0,0 +1,91 @@ +package com.sangdol.text_to_speech + +import io.github.oshai.kotlinlogging.KLogger +import io.github.oshai.kotlinlogging.KotlinLogging +import org.springframework.boot.CommandLineRunner +import org.springframework.context.annotation.Profile +import org.springframework.stereotype.Component + +private val log: KLogger = KotlinLogging.logger {} + +@Profile("none") +@Component +class SampleCreateTestRunner( + private val singleTextConverter: SingleTextConverter +) : CommandLineRunner { + + override fun run(vararg args: String?) { + listOf( + ConvertSingleTextRequest( + text = "Did you find the book you were looking for?", + type = Neural2FemaleVoice.TYPE_C, + speakingRate = 1.0, + order = 1 + ), + ConvertSingleTextRequest( + text = "Yes, it’s right here. It’s exactly what I need for my project.", + type = Neural2MaleVoice.TYPE_A, + speakingRate = 1.0, + order = 2 + ), + ConvertSingleTextRequest( + text = "Great. Do you need help with anything else?", + type = Neural2FemaleVoice.TYPE_E, + speakingRate = 1.0, + order = 3 + ), + ConvertSingleTextRequest( + text = "Could you show me how to use the copy machine?", + type = Neural2MaleVoice.TYPE_D, + speakingRate = 1.0, + order = 4 + ), + ConvertSingleTextRequest( + text = "Sure, it’s over there in the corner. Let me guide you.", + type = Neural2FemaleVoice.TYPE_F, + speakingRate = 1.0, + order = 5 + ), + ).forEach { + val type: VoiceType = it.type + val filePath = "library/sample-scripts-1/${it.order}(${genderString(type)}-${type.name}).mp3" + singleTextConverter.convert(it, filePath) + } + + listOf( + ConvertSingleTextRequest( + text = "I want to pick up a new hobby, but I’m not sure what to try.", + type = Neural2FemaleVoice.TYPE_C, + speakingRate = 1.0, + order = 1 + ), + ConvertSingleTextRequest( + text = "Have you thought about gardening? ", + type = Neural2MaleVoice.TYPE_A, + speakingRate = 1.0, + order = 2 + ), + ConvertSingleTextRequest( + text = "Gardening? I’ve never tried it before. What can I grow?", + type = Neural2FemaleVoice.TYPE_E, + speakingRate = 1.0, + order = 3 + ), + ConvertSingleTextRequest( + text = "You can start with some flowers for your balcony.", + type = Neural2MaleVoice.TYPE_D, + speakingRate = 1.0, + order = 4 + ), + ).forEach { + val type: VoiceType = it.type + val filePath = "library/sample-scripts-1/${it.order}(${genderString(type)}-${type.name}).mp3" + singleTextConverter.convert(it, filePath) + } + } + + private fun genderString(type: VoiceType) = when(type) { + is Neural2MaleVoice -> "male" + is Neural2FemaleVoice -> "female" + } +}