Aros yw'r rhan fwyaf o'r oedi mewn cyfieithu byw: aros am y ffrwd, am y gair nesaf, am y frawddeg. Yr unig ran y mae gennych reolaeth drosti yw'r modd oedi: llai o oedi, neu lai o ddiwygiadau.
Mae darllenydd cyfieithiad byw yn gweld pob llinell rai eiliadau ar ôl i'r siaradwr ei dweud. Nid un oedi yw'r bwlch hwnnw ond sawl un, wedi'u hychwanegu ar hyd cadwyn, ac mae'r rhan fwyaf ohonynt yn fath o aros. Mae deall pa aros yw pa un yn ei gwneud yn hawdd dewis y modd oedi, ac yn dweud wrth ddatblygwr sy'n adeiladu darllenydd beth i'w ddangos, a phryd.
Cyn y rhifau, dyma fesur defnyddiol: mae cyfieithydd cydamserol dynol fel arfer yn siarad dwy i bedair eiliad y tu ôl i'r siaradwr. Mae cyfieithwyr yn galw'r bwlch hwnnw'n ear-voice span, ac maent yn ymdopi ag ieithoedd sy'n gosod y ferf ar y diwedd nid drwy aros am y ferf, ond drwy ei rhagweld, neu drwy dorri'r frawddeg yn ddarnau sy'n gallu sefyll ar eu pennau eu hunain. Nid nam ar feddalwedd yw eiliad neu ddwy o oedi; dyma'n fras beth mae cyfieithydd da iawn yn ei wneud.
Mae pob trawsgrifiad byw ar VocalStack yn mynd drwy'r un cyfnodau, yn yr un drefn, ac mae pob un yn aros am yr un o'i flaen.
Mae'r testun gwreiddiol yn cyrraedd darllenydd bron fel y caiff ei siarad. Mae'r cyfieithiad yn dilyn eiliad neu ddwy yn ddiweddarach, ac mae'r frawddeg lafar yn dod ar ôl ei chyfieithiad, a dyna pam mae clip llais bob amser yn cyrraedd yn olaf. Daw effaith weledol gyntaf y gadwyn, fodd bynnag, ymhell cyn unrhyw lais: mae'r testun ei hun yn symud.
Y peth cyntaf y mae pobl yn sylwi arno mewn trawsgrifiad byw yw bod y geiriau newydd yn symud. Mae ymadrodd yn ymddangos, yn newid, ac yn setlo. Dyna'r cam drafft ar waith, ac mae'n bodoli am reswm sy'n berthnasol i bob adnabyddwr lleferydd.
Mae adnabyddwr yn penderfynu sillafu gair drwy edrych ar yr hyn sy'n dod ar ei ôl. Mae "I scream" a "ice cream" yn swnio'r un fath hyd nes y daw'r gair nesaf, ac efallai bod "s" ar y diwedd yn perthyn i'r gair hwn neu'r nesaf. Hyd nes bod sain i'r dde o air, dyfaliad yw ei sillafu, felly geiriau newydd unrhyw drawsgrifiad byw yw'r rhai mwyaf ansicr bob amser. Dyfaliad yw drafft, wedi'i ddangos yn gynnar yn hytrach na'i guddio.
Mae pob drafft yn disodli'r gynffon fyw yn llwyr: y geiriau a glywyd ers yr ymrwymiad diwethaf, y rhai sy'n dal i newid. Mae ymrwymiad yn derfynol. Nid yw byth yn newid, mae'n cario amseriadau ar lefel gair, ac mae ymrwymiadau'n cael eu rhifo heb fylchau fel y gall darllenydd weld os yw wedi colli un.
I ddatblygwr dyma'r un rheol y mae'r API amser real yn mynnu ei dilyn: rendrwch bob segment wedi'i ymrwymo, yna'r drafft diweddaraf ar eu hôl, a chliriwch y drafft pan fydd ymrwymiad yn cyrraedd. Mae ychwanegu drafftiau yn hytrach na'u disodli yn creu testun dyblyg sy'n fflachio; mae'r ymrwymiad yn syml yn bwyta'r gynffon. Mae'r tiwtorial WebSocket yn adeiladu darllenydd o gwmpas yr union beth hwn.
I westeiwr, symud testun yw'r pris am oedi isel. Mae dangos geiriau cyn i'r ymadrodd orffen yn gwneud i'r trawsgrifiad deimlo'n fyw. Ond ni all y cyfieithiad fforddio'r tric hwnnw, oherwydd gellir dyfalu gair o hanner ymadrodd, ond ni ellir dyfalu cyfieithiad.
Trefn geiriau yw'r rheswm nad yw cyfieithu'n gallu cadw'r cyflymder â'r drafft. Gall berf Almaeneg eistedd ar ddiwedd ei chymal, ac mae Japaneeg yn rhoi'r ferf yn olaf. Mae angen y cymal cyfan ar unrhyw gyfieithydd cyn y gall ei roi'n gywir. Mae cyfieithu gair wrth air yn rhoi darnau i wrandäwr na ellir eu darllen tan i'r cymal gau. Mae cyfieithwyr wedi gorfod aros am y ferf yn yr Almaeneg ers cyn i feddalwedd geisio hynny.
Felly mae VocalStack yn cyfieithu brawddegau, nid segmentau. Mae brawddegau wedi'u troi ymlaen yn ddiofyn, a phan fyddant ymlaen, mae'r gweinydd yn cydosod ymrwymiadau'n frawddeg ac yn cyfieithu'r cyfan ohoni. Tra bo'r frawddeg ar agor mae ei chyfieithiad dros dro; unwaith y bydd yn cau, mae'r cyfieithiad yn derfynol. Mae darllenydd yn cadw un cofnod fesul brawddeg ac yn ei ddisodli wrth i ddiweddariadau gyrraedd.
Mae lleferydd yn aros yn hwy fyth. Dim ond brawddeg gaeedig a gaiff ei llefaru, oherwydd byddai brawddeg sy'n dal i newid yn cael ei hail-syntheseiddio gyda phob diwygiad. Caiff brawddeg hir ei llefaru mewn darnau, fel y gall y cyntaf chwarae tra bo'r gweddill yn cael eu gwneud.
Gyda brawddegau i ffwrdd, mae gan bob ymrwymiad ei ffrâm gyfieithu ei hun. Nid yw'r llwybr hwnnw'n aros am ddim, ond mae brawddegau cyfan yn darllen yn llawer gwell.
Mae'r holl aros yn cael ei fesur o'r eiliad y mae sain yn cyrraedd VocalStack. Ar gyfer llawer o ddarllediadau, roedd y sain eisoes yn hwyr erbyn iddi gyrraedd.
Pan mai ffrwd yw'r ffynhonnell yn hytrach na meicroffon, mae'r sain eisoes ar ei hôl hi cyn i unrhyw beth gael ei drawsgrifio. Mae'n llusgo y tu ôl i'r ymyl byw, y foment ddiweddaraf y mae'r ffrwd wedi'i chyhoeddi.
Mae ffrwd sain HTTP plaen, y math y mae'r rhan fwyaf o orsafoedd radio ar y rhyngrwyd yn ei gyhoeddi, fel arfer yn rhedeg eiliad neu dair y tu ôl. Mae'r gweinydd yn cadw byffer byrstio: rhai eiliadau o sain ddiweddar, wedi'u hanfon i gyd ar unwaith fel y gall chwaraewr gwrandäwr newydd ddechrau heb stopio. Mae pob gwrandäwr, gan gynnwys VocalStack, yn ymuno gymaint â hynny yn ôl. Mae HLS yn waeth: mae ei restrau chwarae yn cychwyn cleient dri segment y tu ôl i'r ymyl byw, sy'n golygu, yn ymarferol, sawl eiliad i hanner munud yn dibynnu ar hyd y segmentau. Mae DASH safonol fel arfer yn yr un ystod â HLS; dim ond ei amrywiad oedi isel sy'n mynd yn sylweddol is. Gall ffrwd "fyw" gorsaf fod yn fyw yn yr un ffordd ag y mae llythyr yn gyfredol.
Mae'r ffigurau hyn yn fras, ac maent yn perthyn i'r ffrwd, nid i'r trawsgrifiad: nid oes unrhyw osodiad ar ochr VocalStack a all eu hadfer. Os yw'r eiliadau hynny'n bwysig ar gyfer digwyddiad, bwydwch y cam â sain o feicroffon neu amgodiwr yn hytrach na ffrwd gyhoeddus. Mae oedi'r ffrwd yn sefydlog cyn i VocalStack glywed gair; y modd oedi yw'r hyn y gallwch ei symud mewn gwirionedd.
Un peth yn unig y mae'r modd oedi'n ei wneud: mae'n gosod y cydbwysedd rhwng oedi a chywirdeb. Mae'r gosodiad o dan Advanced pan grëir trawsgrifiad byw, ac ar y tab Speed tra mae'n rhedeg. Yno mae'r sglodyn yn darllen AUTO, SPEED neu ACCURACY (mae Fast yn ymddangos fel SPEED). Dros yr API, mae session.update yn ei newid yn ystod y ffrwd.
Mae'r cyfaddawd yn union fel y mae'r enwau'n awgrymu. Mae Fast yn cael testun allan yn gynt ond yn ei ddiwygio fwy; mae Accuracy yn cymryd ychydig yn hirach ac yn diwygio llai. Anaml y bydd cynulleidfa eistedd sy'n darllen is-deitlau wedi'u cyfieithu yn sylwi ar eiliad ychwanegol, ond bydd yn sylwi ar eiriau sy'n dal i newid. Felly mae Accuracy yn aml yn y gosodiad mwyaf caredig, cyn belled â bod y siart oedi'n aros yn wastad. Mae Auto yn dangos ei gerdyn: mae llinell a gyflymwyd i gau bwlch yn cario bathodyn FAST MODE yn nhrawsgrifiad y gwesteiwr, gyda nodyn y gall cywirdeb fod yn is yno.
Beth bynnag fo'r modd, rhaid bod y trawsgrifiad yn barod cyn y gair cyntaf, ac mae ei baratoi yn un oedi'n unig y mae'r gadwyn yn ei dalu unwaith.
Ar rai cynlluniau mae trawsgrifiad byw yn cymryd ychydig eiliadau i ddechrau. Mae hyn yn dibynnu ar y cynllun: mae'r rhes Start-up speed ar y dudalen Prisiau yn amrywio o gychwyniad oer o hyd at 15 eiliad ar Talu wrth fynd i bob amser yn gynnes ar Enterprise.
Dros yr API, mae'r aros yn ymddangos fel fframiau session.loading tra bod y sesiwn yn cychwyn, yna session.ready; dim ond ar ôl hynny mae'r cleient yn anfon sain. Mae gwrandäwr sy'n agor y ddolen yn y cyfamser yn gweld "YN FYW. Mae'r llinell gyntaf yn ymddangos ymhen eiliad." Unwaith y mae'r trawsgrifiad yn rhedeg, mae'r oedi hwn y tu ôl i chi, a'r unig gwestiwn sydd ar ôl yw faint o'r oedi sy'n weddill rydych yn ei gario.
Tra bo trawsgrifiad byw yn rhedeg, mae tab Speed y gwesteiwr yn dangos cyfanswm hyn oll: y bwlch cyfredol rhwng y siaradwr a'r testun, gyda'r sglodyn modd wrth ei ochr, a siart o'r bwlch hwnnw dros y recordiad gyda'i gyfartaledd a'i uchafbwynt. Yn y trawsgrifiad ei hun, mae llinell a gyrhaeddodd wrandawyr yn hwyr yn cario bathodyn sy'n rhoi nifer yr eiliadau rhwng pan ddywedwyd y llinell a phan gyrhaeddodd.
Mae siart sy'n aros yn isel ac yn wastad yn golygu bod y modd yn addas i'r sain. Mae siart sy'n codi'n golygu bod y biblinell yn syrthio ar ei hôl hi. Ar Accuracy, efallai mai dyna'r foment i symud i Auto, sy'n masnachu peth cywirdeb am gyflymder nes bod y bwlch yn cau.
Mae datblygwyr yn cael un rhif yn lle hynny. Pan ddaw sesiwn amser real i ben, mae session.done yn cario stats.realtimeFactor, sef y sain a drawsgrifiwyd wedi'i rannu â'r amser a dreuliwyd yn ei thrawsgrifio. Un rhybudd ynglŷn â'r confensiwn: yn llenyddiaeth adnabod lleferydd, mae real-time factor fel arfer yn golygu'r gwrthwyneb, sef amser prosesu dros amser sain, lle mae is yn well. Mae VocalStack yn ei adrodd y ffordd arall, felly yma mae uwch yn well: mae sesiwn fyw yn agos at 1, ac mae islaw 1 yn golygu bod y sain wedi cyrraedd yn gynt nag y gallai'r biblinell ei drawsgrifio.
Nid oes dim o'r eiliadau hyn yn ddirgel. Mae rhai yn perthyn i'r ffrwd, rhai i aros gair am y gair nesaf, rhai i'r frawddeg y mae cyfieithiad ei hangen, a'r gweddill i'r modd oedi a ddewisoch. Mae'r cyfeirnod API yn cynnwys y manylion fframiau fesul un, ac mae'r arddangosiad ar y hafan yn dangos y gadwyn ar waith.