Απομαγνητοφωνήσεις που μπορείτε να αναζητήσετε
Ένα κουμπί Απομαγνητοφώνηση δίπλα στον ήχο στα έγγραφα του Sanity Studio σας. Η απομαγνητοφώνηση αποθηκεύεται στο έγγραφο ως επεξεργάσιμο κείμενο και χρονισμένες προτάσεις, οπότε το GROQ, το frontend και η αναζήτησή σας τη διαβάζουν όπως κάθε άλλο πεδίο.
SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · ΑΠΟ $0.20 ΤΗΝ ΩΡΑ ΗΧΟΥΑναζητήστε το με GROQ
Η απομαγνητοφώνηση και οι χρονισμένες προτάσεις της βρίσκονται στο έγγραφο, οπότε το GROQ και το GraphQL API τις επιστρέφουν μαζί με όλα τα άλλα.
Πρόοδος που φαίνεται
Το πεδίο δείχνει πόσος ήχος έχει ολοκληρωθεί και αντέχει την ανανέωση της σελίδας. Η Διακοπή τερματίζει μια εργασία που δεν χρειάζεστε πια.
Ο έλεγχος μένει στους συντάκτες
Η απομαγνητοφώνηση είναι απλό κείμενο που μπορεί να διορθώσει ένας συντάκτης, με το ίδιο ιστορικό και την ίδια δημοσίευση όπως το υπόλοιπο έγγραφο.
Το κλειδί μένει στον διακομιστή
Το Studio επικοινωνεί με μία διαδρομή στον δικό σας διακομιστή, που κρατά το κλειδί API. Το κλειδί δεν φτάνει ποτέ στο πρόγραμμα περιήγησης.
Ένα πρόσθετο, ένα πεδίο, μία διαδρομή
Προσθέστε το πρόσθετο στο sanity.config.ts, ένα πεδίο vocalstack.transcript δίπλα στον ήχο στο schema σας και τη διαδρομή του VocalStack στο frontend σας (μια διαδρομή Next.js ή οποιονδήποτε διακομιστή Node ή edge). Η διαδρομή κρατά το κλειδί API, οπότε αυτό δεν φτάνει ποτέ στο πρόγραμμα περιήγησης.
vocalstack.transcript δίπλα σε ένα πεδίο αρχείου ήχου και πατήστε Απομαγνητοφώνηση.npm install github:vocalstack/sanity-plugin// app/api/vocalstack/[...path]/route.ts
import { createVocalStackHandler } from '@vocalstack/sanity/server'
// The key is read from VOCALSTACK_API_KEY
const handler = createVocalStackHandler({ sanity: { projectId, dataset, token } })
export { handler as GET, handler as OPTIONS, handler as POST }
// sanity.config.ts
import { vocalstack } from '@vocalstack/sanity'
export default defineConfig({
plugins: [vocalstack({ handlerURL: 'https://www.example.com/api/vocalstack' })],
})
// schemas/episode.ts
defineField({ name: 'audio', type: 'file' }),
defineField({ name: 'transcript', type: 'vocalstack.transcript' }),Ταιριάζει με τον τρόπο που το στήσατε
Λογικές προεπιλογές, και ένα hook για κάθε σημείο όπου η ρύθμισή σας διαφέρει.
handlerURLΠού είναι προσαρτημένη η διαδρομή του VocalStack στον διακομιστή σας. Το Studio καλεί μόνο αυτή τη διεύθυνση.
audioFieldΠοιο πεδίο αρχείου του εγγράφου περιέχει τον ήχο. Από προεπιλογή, το πρώτο που έχει αρχείο ήχου.
spokenLanguageΗ γλώσσα που ομιλείται στον ήχο. Παραλείψτε την για αυτόματη αναγνώριση.
fileURLΗ διεύθυνση από την οποία το VocalStack λαμβάνει τον ήχο. Από προεπιλογή, η διεύθυνση του αρχείου στο CDN του Sanity· επιστρέψτε μια υπογεγραμμένη για ιδιωτικά αρχεία.
allowedOriginsΠοιες διευθύνσεις του Studio μπορούν να καλούν τη διαδρομή.
Χωρίς χρέωση για το πρόσθετο
Πληρώνετε στο VocalStack μόνο για τον ήχο που απομαγνητοφωνείτε, με την ίδια τιμή όπως στον Πίνακα ελέγχου και στο API. Χρέωση ανά δευτερόλεπτο, με ελάχιστο 5 λεπτά ανά απομαγνητοφώνηση.
Κάθε αρχείο ήχου που απομαγνητοφωνείτε, με ομιλητές, στίξη και χρονισμούς.