Synchronized Accessible Media Interchange
Le didascalie di Microsoft per Windows Media Player, dal 1998: HTML con un sync prima di ogni didascalia, e un foglio di stile le cui classi sono lingue, così un file può contenerne diverse. Raramente visto altrove, è ancora il file di sottotitoli più usato in Corea.
In breve
| Estensione | .smi |
|---|---|
| Tipo di media | Nessuno registrato |
| Specifica | Microsoft, Understanding SAMI 1.0 (2001, aggiornata nel 2003). Aperta, senza diritti di licenza. |
| Precisione dei tempi | Millisecondi |
| Codifica del testo | Non dichiarata. I file coreani più vecchi sono quasi tutti in CP949, quelli più recenti in UTF-8; Subtitld riconosce entrambi. |
| Stile | Tag HTML in linea e CSS: corsivo, grassetto, sottolineato, barrato, colore, caratteri |
| Posizionamento | Nessuno sull'immagine: le didascalie si mostrano in un'area propria |
| Parlanti | Una riga Source (ID=Source), mostrata sopra la didascalia |
| Lingue | Più di una nello stesso file, una classe CSS ciascuna |
| Nei contenitori | Nessuno. Un file accanto al video, con lo stesso nome. |
Anatomia di un file
Un documento HTML: un foglio di stile che nomina le lingue, poi un sync per ogni momento in cui cambiano le didascalie.
<SAMI><HEAD><STYLE><!-- .KRCC {lang:ko-KR;} .ENCC {lang:en-US;} --></STYLE></HEAD><BODY> <SYNC Start=23000> <P Class=KRCC>넌 정말 못됐어. <P Class=ENCC>You're a jerk. <SYNC Start=24500> <P Class=KRCC> <P Class=ENCC>
- 1 · Intestazione
Il foglio di stile: una classe per ogni lingua, con il suo
lange unNameche i player mostrano. La prima classe è la lingua con cui partono i player. - 2 · Sync
Il momento, in millisecondi dall'inizio del video.
- 3 · Didascalie
Un paragrafo per ogni lingua. Ciascuno resta fino al sync successivo che ne ha uno nella sua classe;
lo svuota.
Tempi
Un sync ha un inizio e nient'altro. Una didascalia finisce quando inizia la successiva nella sua lingua, oppure quando ne inizia una vuota, quindi ogni pausa richiede un sync proprio.
Le chiusure dei tag sono facoltative. Il campione di Microsoft non chiude né <P> né <SYNC>, e i player lo leggono in entrambi i modi. Windows Media Player può volere i tag in maiuscolo, come li scrive il campione.
Stili
Il testo di SAMI è HTML, e il suo foglio di stile è CSS. Una didascalia prende lo stile di P, poi quello della sua classe, poi il suo attributo style, poi i tag al suo interno.
| Scritto | Effetto | In Subtitld |
|---|---|---|
<I>, <EM> |
Corsivo | Mantenuto |
<B>, <STRONG> |
Grassetto | Mantenuto |
<U>, <S>, <STRIKE> |
Sottolineato, barrato | Mantenuti |
<FONT color="#FFD700"> |
Colore del testo | Mantenuto |
color, font-style, font-weight, text-decoration |
Lo stesso, dal foglio di stile o da uno style |
Mantenuti |
<BR> |
Un a capo | Mantenuto |
<FONT face>, font-size, margin |
Carattere, dimensione, spaziatura | Non mantenuti |
<RUBY>…<RT> |
Una lettura sopra il testo | Il testo mantenuto, la sua lettura no |
Lingue
Ogni classe è una lingua. I player le offrono con il loro Name, mostrano la prima definita finché non viene cambiata, e mostrano un paragrafo senza classe qualunque sia la lingua. Un file coreano può portare l'inglese accanto al coreano, e lo spettatore sceglie.
Quando Subtitld apre un file con più lingue, la prima è quella dei sottotitoli e ogni altra è una traduzione, sul sottotitolo con cui si sovrappone di più. Esportando l'originale e una traduzione, li si riscrive come due lingue, con i sottotitoli della traduzione solo dove ne ha.
Parlanti
<SYNC Start=23000>
<P Class=ENCC ID=Source>Celia
<P Class=ENCC>You're a jerk.
Un paragrafo con ID=Source non è una didascalia. Indica chi parla, in una riga sopra la didascalia, e resta finché non ne viene sostituita un'altra. Subtitld lo legge come il parlante di ogni didascalia che si trova sotto, e lo scrive così quando lo si chiede.
I player differiscono qui. FFmpeg, e i player che ne derivano, mostrano la riga Source in corsivo sopra la didascalia. MPlayer la fonde con la prima riga della didascalia. I nomi prima del testo (Celia: …) si leggono allo stesso modo ovunque.
SAMI in Subtitld
- Testo e a capo di ogni sottotitolo
- Corsivo, grassetto, sottolineato, barrato e colore
- Traduzioni, come lingue proprie
- Parlanti, come righe Source
- Inizio e fine, al millisecondo, in ordine
- Dove si trova un sottotitolo: SAMI non ha una posizione sull'immagine
- Caratteri, dimensioni e margini
- Letture del ruby
- Doppiaggi, volti e colori dei parlanti
Salvi un progetto .usfx per conservare ciò che è di Subtitld.
Aprire un file SAMI
Subtitld apre .smi e .sami, e:
- legge SAMI come i browser leggono l'HTML: tag in maiuscolo o no, chiusi o no, attributi tra virgolette o no, sync fuori ordine, testo fuori da un paragrafo;
- prende ogni lingua: la prima come quella dei sottotitoli, le altre come loro traduzioni;
- conserva corsivo, grassetto, sottolineato, barrato e colore, dai tag e dal foglio di stile;
- prende le righe Source come parlanti, pronti per il doppiaggio;
- termina l'ultima didascalia dove il
Metricsdel file indica che finisce il video, oppure dopo quattro secondi; - decodifica qualsiasi codifica, compresa CP949.
Esportare SAMI
Esporta, poi Sottotitoli e SAMI, offre:
- TestoL'originale, una traduzione, o entrambi come due lingue.
- Nomi dei parlantiEsclusi, prima del testo (Thom: …), oppure come righe Source, il modo proprio di SAMI.
- FormattazioneMantenuta, oppure rimossa.
- Sposta i tempiOgni sottotitolo anticipato o ritardato della stessa quantità.
- CodificaUTF-8, con o senza byte order mark, UTF-16, Windows-1252, oppure CP949 per i player coreani più vecchi.
- Fine rigaLinux e macOS, oppure Windows.
Il file è SAMI 1.0 come lo scrive il campione di Microsoft, con i tag in maiuscolo: una classe per ogni lingua, un sync dove inizia ogni sottotitolo e uno vuoto dove finisce, e la formattazione come <I>, <B>, <U>, <S> e <FONT color>.
Dia al file il nome del video: tears-of-steel.smi accanto a tears-of-steel.mp4. Windows Media Player trova così un .smi (non un .sami), e lo fanno anche la maggior parte dei player.
Curiosità
Microsoft rilasciò SAMI nell'estate del 1998, come parte del suo lavoro sull'accessibilità: didascalie sul PC, per le persone sorde o con problemi di udito.
La specifica di Microsoft svuota una didascalia con uno spazio unificatore. FFmpeg scarta ogni sync che ne contiene uno, quindi, dove un'altra lingua continua, Subtitld scrive un paragrafo vuoto.
Molti file coreani chiamano la classe con il paese, non con la lingua: KRCC, dove gli esempi di Microsoft hanno ENUSCC.
Formati correlati
Lo apra in Subtitld con il video e lo sincronizzi sulla forma d'onda.