From a8c1dbc9c923cf901ab357c9d3039a8abc7b7e32 Mon Sep 17 00:00:00 2001 From: pricelees Date: Wed, 20 Aug 2025 21:16:48 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B8=B0=EB=8A=A5=201=EC=B0=A8=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84=20=ED=9B=84=20=EC=A0=95=EC=83=81=20=EB=8F=99=EC=9E=91?= =?UTF-8?q?=20=ED=85=8C=EC=8A=A4=ED=8A=B8=EC=97=90=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=EB=90=98=EB=8A=94=20CommandLineRunner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../text_to_speech/SampleCreateTestRunner.kt | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 src/main/kotlin/com/sangdol/text_to_speech/SampleCreateTestRunner.kt 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" + } +}