summaryrefslogtreecommitdiff
path: root/internal/processor/processor.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/processor/processor.go')
-rw-r--r--internal/processor/processor.go25
1 files changed, 10 insertions, 15 deletions
diff --git a/internal/processor/processor.go b/internal/processor/processor.go
index 3b49cf0..d52ca53 100644
--- a/internal/processor/processor.go
+++ b/internal/processor/processor.go
@@ -728,17 +728,6 @@ func (p *Processor) isWordFullyProcessed(word string) bool {
return true // All required files exist
}
func (p *Processor) saveAudioAttribution(word, audioFile string, config *audio.Config) error {
- // Create attribution text
- attribution := fmt.Sprintf("Audio generated by OpenAI TTS\n\n")
- attribution += fmt.Sprintf("Bulgarian word: %s\n", word)
- attribution += fmt.Sprintf("Model: %s\n", config.OpenAIModel)
- attribution += fmt.Sprintf("Voice: %s\n", config.OpenAIVoice)
- attribution += fmt.Sprintf("Speed: %.2f\n", config.OpenAISpeed)
-
- if config.OpenAIInstruction != "" {
- attribution += fmt.Sprintf("\nVoice instructions:\n%s\n", config.OpenAIInstruction)
- }
-
// Add preprocessing information
cleanedWord := strings.TrimSpace(word)
punctuationToRemove := []string{"!", "?", ".", ",", ";", ":", "\"", "'", "(", ")", "[", "]", "{", "}", "-", "—", "–"}
@@ -746,12 +735,18 @@ func (p *Processor) saveAudioAttribution(word, audioFile string, config *audio.C
cleanedWord = strings.ReplaceAll(cleanedWord, punct, "")
}
processedText := fmt.Sprintf("%s...", strings.TrimSpace(cleanedWord))
- attribution += fmt.Sprintf("\nProcessed text sent to TTS: %s\n", processedText)
-
- attribution += fmt.Sprintf("\nGenerated at: %s\n", time.Now().Format("2006-01-02 15:04:05"))
+ attribution := audio.BuildOpenAIAttribution(audio.AttributionParams{
+ Word: word,
+ Model: config.OpenAIModel,
+ Voice: config.OpenAIVoice,
+ Speed: config.OpenAISpeed,
+ Instruction: config.OpenAIInstruction,
+ ProcessedText: processedText,
+ GeneratedAt: time.Now(),
+ })
// Save to file
- attrPath := strings.TrimSuffix(audioFile, filepath.Ext(audioFile)) + "_attribution.txt"
+ attrPath := audio.AttributionPath(audioFile)
if err := os.WriteFile(attrPath, []byte(attribution), 0644); err != nil {
return fmt.Errorf("failed to write audio attribution file: %w", err)
}