Transcrições que sabem quem está falando
Entrevistas, podcasts, painéis e reuniões têm mais de uma voz. Quando uma transcrição junta tudo em um único bloco de texto, você precisa adivinhar quem disse o quê. Legendas que passam rápido sem indicar quem fala são ainda mais difíceis de acompanhar.
🤖 /speech/transcribe agora identifica quem está falando, e todas as saídas mostram isso: uma transcrição em texto que se lê como um roteiro, legendas com tags de voz padrão e legendas para redes sociais que dão a cada falante sua própria cor.
Um clipe do episódio 441 de Houston We Have a Podcast, da NASA, criado por uma única Assembly apenas a partir do áudio: o apresentador em amarelo, o astronauta da Artemis II em ciano. Servido pelo Transloadit Storage.
Um só comando
npx -y @transloadit/node speech transcribe --speaker-labels -i interview.mp3 -o interview.txt
Para o clipe acima, interview.txt contém:
Speaker 1: If you could just maybe we'll take a step into those 10 days in orbit and what it was like in Orion, um, and just zooming back, looking at the overall perspective of the flight, now a couple months separated from it, you know, how are you characterizing the entirety of the experience, um, over those 10 days?
Speaker 2: Well, there's a lot that you could, you could dig into there. The, you know, I think one thing that comes to mind is we are busy, uh, really busy and really working together to try to stay on the schedule.
Adicione --max-speakers 2 quando souber quantas pessoas estão falando, e
--format para escolher outra saída.
Todos os formatos mostram quem fala
textfornece um parágrafo por turno de fala, como acima.webvttenvolve cada bloco de legenda em um span de voz padrão, como<v Speaker 1>, para que players e editores de legendas possam nomear ou estilizar cada falante.srtnão tem tag de voz, então inicia um bloco de legenda comSpeaker 2:sempre que muda o turno de fala.jsonidentifica o falante de cada palavra e adiciona um segmento por turno de fala. Use esse formato para criar sua própria visualização.
Um bloco de legenda nunca abrange dois falantes. Os rótulos de falante vêm dos provedores
aws e gcp; omita
provider e a Transloadit escolhe um que ofereça suporte a esses rótulos.
Uma cor por falante
Legendas incorporadas à imagem com 🤖 /video/subtitle agora podem
ter uma cor própria para cada falante. Passe o JSON com os falantes identificados de
/speech/transcribe e uma lista de speaker_colors: a palavra ativa é
destacada na cor de quem a fala, e uma legenda nunca se estende às palavras do próximo falante.
O vídeo no início foi criado por uma única Assembly, usando apenas o arquivo de áudio. Ela importa uma foto da NASA, desenha a forma de onda, insere ambas em uma capa, transforma a capa e o áudio em um vídeo e incorpora as legendas à imagem:
{
"steps": {
"photo": {
"robot": "/http/import",
"url": "https://images-assets.nasa.gov/image/art002e009567/art002e009567~orig.jpg"
},
"waveform": {
"use": ":original",
"robot": "/audio/waveform",
"format": "image",
"width": 1600,
"height": 90,
"background_color": "00000000",
"outer_color": "ffffff73",
"center_color": "ffffff73",
"waveform_style": "bars",
"bar_width": 5,
"bar_gap": 5,
"bar_style": "rounded",
"style": "v1"
},
"cover": {
"use": {
"steps": [
{ "name": "photo", "as": "base" },
{ "name": "waveform", "as": "watermark" }
]
},
"robot": "/image/resize",
"width": 1920,
"height": 1080,
"resize_strategy": "crop",
"watermark_y_offset": 40,
"format": "jpg",
"text": [
{
"text": "HOUSTON WE HAVE A PODCAST · ARTEMIS II",
"font": "Poppins-SemiBold",
"size": 30,
"color": "#ffffff",
"align": "right",
"valign": "top",
"x_offset": 60,
"y_offset": 52
}
],
"watermark_position": "bottom"
},
"video": {
"use": {
"steps": [
{ "name": "cover", "as": "image" },
{ "name": ":original", "as": "audio" }
]
},
"robot": "/video/merge",
"preset": "empty",
"ffmpeg": { "f": "mp4" },
"ffmpeg_stack": "v7"
},
"transcribed": {
"use": ":original",
"robot": "/speech/transcribe",
"speaker_labels": true,
"format": "json"
},
"captioned": {
"use": {
"steps": [
{ "name": "video", "as": "video" },
{ "name": "transcribed", "as": "subtitles" }
]
},
"robot": "/video/subtitle",
"subtitles_type": "burned",
"preset": "empty",
"style": "social",
"ffmpeg_stack": "v7",
"result": true,
"speaker_colors": ["FFD60A", "4CC9F0"]
}
}
}
Salve como speaker-captions.json e execute em qualquer arquivo de áudio:
npx -y @transloadit/node assemblies create --steps speaker-captions.json -i podcast.mp3 -o out/
Para um vídeo com pessoas na tela, pule os quatro primeiros Steps e use
:original como vídeo, como no
post sobre legendas para redes sociais.
Comece a usar
Execute o comando acima em uma gravação sua ou cole os Steps em um novo Template. As páginas de 🤖 /speech/transcribe e 🤖 /video/subtitle listam todos os parâmetros.
Áudio e foto por cortesia da NASA: Houston We Have a Podcast, episódio 441, “Reflections After Artemis II”, e a foto da Artemis II “Orion POV: Destination and Home”. A NASA não endossa a Transloadit.
