38 lines
1 KiB
Go
38 lines
1 KiB
Go
package platform
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"github.com/Gleipnir-Technology/bob"
|
|
"github.com/Gleipnir-Technology/nidus-sync/db"
|
|
"github.com/Gleipnir-Technology/nidus-sync/db/models"
|
|
//"github.com/Gleipnir-Technology/nidus-sync/platform/background"
|
|
"github.com/Gleipnir-Technology/nidus-sync/platform/subprocess"
|
|
//"github.com/google/uuid"
|
|
//"github.com/rs/zerolog/log"
|
|
)
|
|
|
|
func processAudioFile(ctx context.Context, txn bob.Executor, audio_id int32) error {
|
|
a, err := models.NoteAudios.Query(
|
|
models.SelectWhere.NoteAudios.ID.EQ(audio_id),
|
|
).One(ctx, db.PGInstance.BobDB)
|
|
|
|
if err != nil {
|
|
return fmt.Errorf("note audio query: %w", err)
|
|
}
|
|
// Normalize audio
|
|
err = subprocess.NormalizeAudio(a.UUID)
|
|
if err != nil {
|
|
return fmt.Errorf("failed to normalize audio %s: %v", a.UUID, err)
|
|
}
|
|
|
|
// Transcode to OGG
|
|
err = subprocess.TranscodeToOgg(a.UUID)
|
|
if err != nil {
|
|
return fmt.Errorf("failed to transcode audio %s to OGG: %v", a.UUID, err)
|
|
}
|
|
|
|
//background.NewLabelStudioAudioCreate(ctx, db.PGInstance.BobDB, audio_id)
|
|
return nil
|
|
}
|