متنهای رونویسی قابل پرسوجو
یک دکمهٔ رونویسی کنار صدا در سندهای Sanity Studio شما. متن رونویسی بهصورت متن ویرایشپذیر و جملههای زماندار روی سند ذخیره میشود، پس GROQ، فرانتاند و جستوجوی شما آن را مثل هر فیلد دیگری میخوانند.
SANITY STUDIO 3+ · REACT 18+ · NODE 20+ · از $0.20 برای هر ساعت صدابا GROQ پرسوجو کنید
متن رونویسی و جملههای زماندار آن روی سند قرار دارند، پس GROQ و GraphQL API آنها را همراه بقیهٔ دادهها برمیگردانند.
پیشرفتی که میبینید
فیلد نشان میدهد چه مقدار از صدا انجام شده و با بارگذاری دوبارهٔ صفحه از بین نمیرود. با توقف، کاری را که دیگر نمیخواهید پایان میدهید.
اختیار دست ویراستاران است
متن رونویسی متن سادهای است که ویراستار میتواند اصلاحش کند، با همان تاریخچه و روند انتشار بقیهٔ سند.
کلید روی سرور میماند
Studio فقط با یک مسیر روی سرور خودتان صحبت میکند که کلید API را نگه میدارد. کلید هرگز به مرورگر نمیرسد.
یک افزونه، یک فیلد، یک مسیر
افزونه را به sanity.config.ts اضافه کنید، یک فیلد vocalstack.transcript کنار صدا در schema خود بگذارید و مسیر VocalStack را به فرانتاند خود اضافه کنید (یک مسیر 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 دقیقه برای هر رونویسی.
هر فایل صوتی که رونویسی میکنید، همراه با گویندگان، نشانهگذاری و زمانبندی.