YouMind
Accedi

Ho creato uno streamer AI open-source simile all'avatar virale di Douyin

183K
1.5K
239
74
2.7K

TL;DR

Gary Caogan racconta la sua esperienza nella creazione di un host per live streaming AI open-source utilizzando Vidu, illustrando l'architettura, l'analisi dei costi e le specifiche sfide tecniche affrontate durante lo sviluppo.

Ciao a tutti, sono Gary Caogan, un nuovo arrivato nel mondo dei self-media che da due anni esplora i video AI e la globalizzazione dei contenuti.

La sera del 15 ottobre mi sono imbattuto per caso in una live room chiamata "Tiangong Kaizhen" (Autore: Tiangong Kaizhen, GitHub: https://github.com/beiyege-01, X: @yijt1339303). L'autore trasmetteva già da un po' e ormai, ogni volta che va in diretta, ci sono migliaia di persone online. Anche su X ci sono stati tantissimi repost e commenti su questa live room.

Gary曹淦 - inline image

Le tipiche dirette con umani digitali hanno spesso movimenti e voce rigidi, con copioni preimpostati. Per ottenere effetti migliori, di solito serve una persona reale che li piloti dietro le quinte. Ma perché questa live room è esplosa? Perché l'effetto è davvero nettamente superiore alle precedenti dirette con umani digitali. Non c'è nessuna persona reale dietro le quinte: le reazioni sono in tempo reale. Quando gli spettatori scrivono un messaggio, lei risponde. Movimenti, espressioni e interazioni vengono generati sul momento. La mia prima reazione è stata che il potenziale immaginativo di questa soluzione è enorme:

Streaming di videogiochi, streaming e-commerce, streaming di intrattenimento, streaming di compagnia: praticamente tutti gli scenari possono essere combinati a fondo con questa soluzione. Quindi sorge spontanea la domanda: come l'ha implementata? Posso costruire anch'io una live room del genere?

Dopo quattro giorni di ricerca e rifiniture, il mio avatar "Wanwan" ha già fatto la sua prima diretta ufficiale sul mio account Douyin. Durante la trasmissione abbiamo riavviato brevemente il servizio due volte, per un totale di oltre 70 minuti. Che voto dareste a questo risultato?

Ecco alcune registrazioni dello schermo:

https://ncnmu5q1eqm9.feishu.cn/file/Z5Spb8GIlog8qlxaWWKcGB7Xnbg

Gary曹淦 - inline image

Bene, in questo articolo vi racconterò come ho costruito e ottimizzato da zero Wanwan, la conduttrice AI per dirette in tempo reale, in questi pochi giorni: come ho scomposto la soluzione, come l'ho implementata, quali trappole ho incontrato e come le ho risolte.

Allo stesso tempo, l'intero framework degli strumenti per le dirette AI in tempo reale è stato reso open source con licenza MIT. Indirizzo: https://github.com/garycaogan/ai-live-avatar.

Questo articolo è stato realizzato da me utilizzando la workbench per contenuti resa open source in precedenza e Claude.

1. Scomporre la live room dell'autore originale

Gary曹淦 - inline image

Questa è la live room di Xiaoya, l'autrice originale.

Scomponiamola in uno strato interno e uno esterno.

Lo strato interno è la conduttrice stessa. Movimenti, espressioni e voce vengono tutti generati in tempo reale. In alto sullo schermo c'è un'etichetta Vidu S, il che fa capire facilmente che il modello utilizzato è Vidu S2, l'ultimo modello di umano digitale di Vidu. Questo esclude praticamente tutte le ipotesi su un deployment locale di modelli open source.

Lo strato esterno è la cornice attorno alla conduttrice. Il pannello delle istruzioni dice "Oggi continuiamo a testare i comandi nei commenti", e sotto c'è una colonna con canto, ballo, vendita prodotti e filtro interazioni, con alcune voci spuntate e altre vuote. Questo significa che, quando arrivano i commenti, c'è un programma nel mezzo che li filtra, li trasforma in comandi e poi li passa all'umano digitale affinché agisca. Questo strato è uno strumento creato dall'autore stesso.

Per quanto riguarda lo strato interno, la soluzione per umani digitali di Vidu prevede tre percorsi: il primo è l'umano digitale in tempo reale, dove volto, voce e risposte vengono gestiti interamente dal sistema; il secondo consiste nel preparare l'audio e fornirlo in input, lasciando al sistema solo la sincronizzazione labiale, permettendogli persino di cantare; il terzo utilizza un video di una persona reale per pilotare l'umano digitale, sostituendo la persona all'interno.

Parlare è facile. Rimuginare troppo su queste valutazioni tecniche non ha senso, così mi sono subito messo al lavoro e ho rapidamente buttato giù una demo. Basandomi sulla mia familiarità con YouTube, ho prima chiuso il cerchio tra lo streaming su YouTube e la lettura dei commenti.

Chi è interessato può guardare la registrazione: https://www.youtube.com/live/fG84tzLOxLc

Gary曹淦 - inline image

Ma l'effetto della prima diretta è stato davvero pessimo. Il mio risultato non era molto diverso dalla tecnologia convenzionale degli umani digitali: movimenti robotici, risposte robotiche, voce robotica. Se la registrazione di Xiaoya merita un 9, valutando i miei primi tentativi sui tre percorsi il risultato è stata un'insufficienza.

Confrontando i tre percorsi, quello della sostituzione offre i movimenti più naturali ma non può accettare commenti in tempo reale. Quello dell'audio in input richiede di costruire un altro set di risposte e doppiaggio. Combinando questo con l'etichetta Vidu S sullo schermo e la velocità con cui rispondeva ai commenti, ho dedotto che Xiaoya avesse scelto il percorso in tempo reale. Quindi il divario non sta nel metodo, ma nell'immagine di base, nella voce e nella personalità.

Ciò che fa sembrare Xiaoya una persona viva, secondo me, dipende principalmente dai seguenti punti:

Primo, i movimenti. Passa la maggior parte del tempo a guardare verso il basso, come se leggesse i commenti sul telefono, e sorride quando vede qualcosa di interessante, mostrando i denti. Le mani a volte si appoggiano sul mento, a volte prendono degli snack. Sembra proprio una ragazza normale che torna a casa dal lavoro e accende una diretta, non un "umano digitale" impalato che recita un copione.

Secondo, l'estetica visiva. All'inizio sospettavo che l'intera schermata fosse ritoccata con Photoshop usando un filtro sfocato. Poi, ingrandendo gli screenshot, ho notato che i bordi del testo sovrapposto erano nitidi e che la finestrella della conduttrice era chiara. Solo il suo viso risultava morbido. Quindi questa sfocatura non è un filtro in post-produzione, ma è intrinseca allo schermo dell'umano digitale: una luce morbida colpisce solo il viso, l'ambiente circostante è scurito, la pelle appare bianca, rosata e levigata come nelle dirette da smartphone con filtri bellezza. Inserita nella piccola finestra orizzontale di un telefono, i dettagli si riducono, nascondendo i difetti dell'AI. Questo effetto ricorda l'illuminazione di un vero conduttore.

Terzo, il ritmo. I sottotitoli sono fissati in basso nello schermo, rispondendo a un commento circa ogni 20 secondi. Sembra lento, ma questa lentezza copre esattamente i pochi secondi che l'AI impiega per reagire. Anche i veri conduttori non rispondono istantaneamente, no?

Quarto, la finestra della persona reale. C'è una persona viva nell'angolo. L'intera live room non sembra un computer lasciato acceso da solo. Quando chiacchierano con lei, gli spettatori sanno che qualcuno sta guardando dietro le quinte.

Arrivati a questo punto della scomposizione, il percorso di ottimizzazione è chiaro. Per lo strato della conduttrice userò la soluzione già esistente di Vidu. Ciò che devo fare io è lo strato esterno: modalità orizzontale, pannelli delle istruzioni, finestra della persona reale, ecc., prendendo spunto dal setup di Xiaoya.

2. Vidu gestisce la conduttrice, io costruisco lo strato di regia

Per usare un'analogia semplice: in una vera live room, accanto al conduttore c'è di solito un assistente di regia che controlla i commenti, butta fuori chi fa pubblicità, passa le domande degli spettatori al conduttore, gli ricorda di cambiarsi d'abito e propone argomenti quando cala il silenzio.

Nella live room di Wanwan, il ruolo di conduttrice spetta a Vidu. L'aspetto di Wanwan, come muove la bocca e cosa dice vengono tutti generati in tempo reale da Vidu.

Quindi la chiave di questo progetto di streaming in tempo reale è lo strato di regia, che coinvolge nello specifico queste attività:

  • Filtraggio: i commenti volgari o pubblicitari semplicemente non vengono letti ad alta voce.
  • Coda: i commenti arrivano uno dopo l'altro. Se necessario, si può aggiungere una logica per far saltare la coda a chi regala doni.
  • Comprensione dell'intento: distinguere se un commento è una chiacchierata, una richiesta di cambio d'abito, la richiesta di un oggetto di scena, un cambio di sfondo, oppure la richiesta di fare il segno del cuore o salutare con la mano.
  • Preimpostazioni: ad esempio, la logica del guardaroba. Ogni outfit è una foto completa. Cambiarsi significa passare a una nuova foto e riavviare la sessione.
  • Comandi di inattività: Vidu supporta la voce durante l'inattività. Per evitare che la conduttrice resti a fissare il vuoto quando non ci sono commenti, si possono impostare argomenti per i momenti morti.
  • Pannelli delle istruzioni ed etichette: imparato dalla room di Xiaoya. Scrivere sullo schermo cosa si può fare, cosa no e come inviare i commenti.
  • Una workbench locale: cambiare personalità, gestire il guardaroba, cambiare voce, regolare le azioni, tutto tramite clic sul web.
  • Configurazione della diretta: ho usato OBS per combinare lo schermo dell'umano digitale, i pannelli delle istruzioni e il feed della mia telecamera, per poi trasmettere in orizzontale tramite Douyin Live Companion. La mia telecamera è posizionata nell'angolo in basso a sinistra.
Gary曹淦 - inline image

Tutte queste logiche sono nate attraverso cicli di test, discussioni e ottimizzazioni con Claude. Lui si occupa della tecnica e del prodotto; io fornisco opinioni e requisiti.

L'AI può costruire la prima versione in una notte, facendo funzionare i cambi d'abito, le code e la trasmissione. Ma non può sentire il tono robotico nella voce, né sa quanto sia imbarazzante mandare in loop quelle tre o quattro frasi durante i silenzi. Queste cose le percepisci solo guardando davvero il personaggio interagire con te nella diretta.

Per quanto riguarda i costi, si concentrano principalmente su Vidu; gli altri sono trascurabili.

L'umano digitale in tempo reale di Vidu viene fatturato al secondo, 1,5 crediti al secondo, che equivalgono a circa 169 RMB all'ora. La diretta di stasera è durata 1 ora e 7 minuti, costando in totale 191,47 RMB, includendo il riscaldamento pre-diretta, le sessioni riavviate per i cambi d'abito e i riavvii a metà trasmissione. Per me, 100-200 RMB all'ora sono accettabili durante i test, ma il costo c'è. Se volete monetizzare con questa soluzione, calcolate bene il vostro ROI.

3. Trappole incontrate in questi giorni

Aspetto (praticamente l'immagine di base)

Il primo tentativo riuscito è stata la versione CG di Tasha. Tasha è un personaggio del gioco Ace Combat 8. A chi non piacciono i capelli rosa? Ma l'umano digitale risultava pesante nella diretta perché la foto era in stile CG, lontana dal realismo.

Gary曹淦 - inline image

Poi è arrivata la versione reale di Tasha, trasformata da un modello di generazione immagini in una foto realistica. Era meglio. Ho anche creato per lei una composizione orizzontale imitando il setup di Xiaoya: seduta a una scrivania con il mento appoggiato e una lampada vicino. Ma mancava ancora qualcosa, sembrava chiaramente un volto generato dall'AI.

Gary曹淦 - inline image

Passando ai personaggi originali, volevo ruoli più quotidiani e normali. Ho creato quattro ragazze con diversi accenti: Xiaoman del Nordest della Cina, Chengzi di Changsha, Awen del Minnan e An'an con accento taiwanese.

Gary曹淦 - inline image

I problemi principali riguardavano l'estetica e le immagini di base. Confrontando l'immagine di base di Chengzi con lo schermo di Xiaoya, il tono della pelle era troppo giallo e saturo, la texture troppo dettagliata, l'angolazione della camera frontale all'altezza degli occhi, le braccia aperte come in una fototessera. Sono emersi anche problemi di personalità: avevo scritto delle battute di esempio nel profilo e lei le leggeva alla lettera.

Alla fine, frustrato, ho cercato ispirazione nei post su X del blogger Doumiao (@nima2qisi2), usando dei prompt per generare una versione simile, che è diventata Wanwan.

Gary曹淦 - inline image

Il personaggio è una ragazza di 24 anni che lavora come grafica in una piccola azienda di Hangzhou. Torna a casa dopo le 22, accende una diretta per chiacchierare, ha un gatto nero di nome Meiqiu (non si vede, ma lei si lamenta dei suoi disastri). Personalità riservata all'inizio, umorismo leggermente pungente. Se le chiedono se è reale, risponde direttamente di essere una conduttrice AI.

Cambiarsi d'abito

All'inizio ho provato a far modificare all'AI i vestiti direttamente sul suo corpo. Una volta andava bene, ma dopo due volte il viso iniziava a deformarsi. Successivamente sono passato a creare in anticipo una foto completa per ogni outfit, includendo persona, vestiti e stanza. Cambiarsi significava riavviare la sessione partendo da quella foto, il che era più veloce e stabile. Ora il guardaroba ha 7 outfit; il dolcevita nero è quello predefinito. Un cambio richiede circa 5 secondi.

Questa logica permette anche di cambiare scene e azioni, a patto di preparare abbastanza immagini di base preimpostate.

Gary曹淦 - inline image
Gary曹淦 - inline image

Tono della voce

All'inizio ho creato diversi personaggi con accenti (Nordest, Changsha, Minnan, Taiwan) perché ho scoperto che gli accenti mascherano l'effetto AI. Una ragazza che parla con un accento dà inconsciamente l'impressione di essere una persona vera. È successo un piccolo episodio: un'AI ha ascoltato due volte una voce alla cieca dicendo che era mandarino standard, ma io ho sentito immediatamente una cadenza del Nordest. Da allora scelgo le voci da solo.

Più tardi ho scoperto un problema critico: molte voci sembrano umane se ascoltate da sole, ma perdono il loro fascino nelle dirette in tempo reale.

La voce finale di Wanwan è una che ho progettato su Volcano Engine, fornendo materiale audio grezzo da clonare su Vidu.

Voce di inattività ripetitiva

Dopo il primo test in diretta di 6 minuti, la lezione più grande è stata che, quando nessuno commentava, lei ripeteva in loop le stesse tre o quattro frasi di riscaldamento. Era imbarazzante persino per me. Prima della seconda diretta ho preparato rapidamente 100 argomenti di partenza basati sulla sua personalità. La ripetizione avviene solo dopo averli esauriti tutti.

Il cambio di sfondo ha rimosso i vestiti

Stasera ha cambiato sfondo 9 volte. Le prime 8 sono andate bene. Alla fine, indossando una canottiera nera, passando dalla stanza a una baita innevata i vestiti sono rimasti (vedi immagine sotto). Ma al 9° cambio, dalla baita innevata a una vista notturna della città, sono sparite le spalline e il top, facendola sembrare nuda. Ho chiuso immediatamente la diretta.

Gary曹淦 - inline image

Indagando sulla causa: i cambi d'abito sono stabili perché ogni outfit è una foto completa preparata in anticipo, che riavvia la sessione. I cambi di sfondo e gli oggetti di scena seguono un altro percorso: fornire un'immagine di riferimento a Vidu durante la diretta per ridisegnare la scena. Ma il suo outfit attuale non era incluso nel riferimento, né avevamo chiesto di preservare i vestiti. Vidu poteva ridisegnare il suo corpo. Le prime 8 volte l'ha disegnato correttamente; la 9ª volta ha cancellato i vestiti. La cosa più spaventosa è l'incoerenza. Testare più volte senza problemi non significa essere al sicuro. Questa è una vulnerabilità confermata. Non è certo se sia l'unica causa, ma la falla va tappata. Avevamo già scoperto che modificare le immagini di riferimento a metà diretta causa derive e irreversibilità, ma non ci aspettavamo che succedesse in una diretta pubblica.

Ora i cambi di sfondo e gli oggetti di scena per mangiare/bere sono disabilitati per impostazione predefinita. I pannelli delle istruzioni li spostano nella sezione "non ancora possibile" finché non passeremo al "riavvio da foto completa" o aggiungeremo controlli visivi.

Disconnessione di Vidu, la persona reale tiene duro

Vidu si è disconnesso una volta per circa 3 minuti. In quel periodo, Wanwan è scomparsa dallo schermo, lasciando solo me nella finestrella in basso a sinistra. I commenti si sono riempiti di "Perché è finita?" "Gary è sparito". Questo dimostra che la finestra della persona reale non serve solo a dare presenza; quando qualcosa si rompe, qualcuno deve tenere la posizione.

Gary曹淦 - inline image

Gestione dei commenti e dei regali

Attualmente i commenti utilizzano un metodo temporaneo che legge i commenti dalla pagina web.

Per i regali inizialmente c'era una logica per saltare la coda, ma l'ho rimossa perché Douyin la considera un'istigazione a donare. Tecnicamente, saltare la coda in base ai regali è fattibile.

Problemi irrisolti

  • La sincronizzazione labiale nel canto e i movimenti ampi sono temporaneamente impossibili.
  • Anche con personalità e argomenti preimpostati, le risposte a volte mantengono un tono da AI.
  • Dal commento dello spettatore alla sua risposta passano 10-20 secondi.
  • Le frasi lunghe vengono interrotte da nuovi dialoghi o comandi d'azione, anche se questo è ottimizzabile via codice.
  • La memoria è breve. Dopo una riconnessione, quando le hanno chiesto perché si fosse fermata, ha risposto: "Non mi sono fermata, non stiamo ancora chiacchierando?"

4. Qual è il potenziale di sviluppo di questa meccanica?

Menzionerò le direzioni che conosco meglio e riesco a visualizzare meglio. Quelle ovvie, come i conduttori e-commerce, non verranno discusse. Le esplorazioni future potrebbero seguire questi percorsi; i risultati verranno condivisi. I lettori possono verificare se ci sono intersezioni con le proprie competenze:

1. Streaming di giochi. Come giocatore con oltre 20 anni di esperienza, ho un debole per lo streaming di videogiochi. In passato ho trasmesso Honor of Kings e LOL. Avete visto la serie "Doubao insegna i giochi" su Bilibili? Giocando a Delta Force, LOL, Minecraft, molti video sono diventati virali. Ad esempio, Doubao che insegna Minecraft ha raggiunto 16 milioni di visualizzazioni. Immaginate se Doubao avesse un personaggio interattivo in tempo reale e di bell'aspetto. Video e dirette sarebbero ancora migliori.

Gary曹淦 - inline image
  1. Streaming a ciclo infinito. MiniMax aveva precedentemente realizzato una diretta con schermate generate in tempo reale, dando la sensazione di un loop infinito. Ma mancando un tema definito, non girava all'interno di una struttura. Collegando la soluzione di Vidu con un guscio esterno, generando immagini di scena e dialoghi in tempo reale basati sui commenti, è probabile che si possano abilitare dirette con trame interattive. I veri conduttori non oserebbero nemmeno immaginarlo. Pensate a una diretta in cui la linea principale è il conduttore che completa un viaggio: trasporti, compagni di viaggio, incontri, parole, scelte, tutto diretto dai commenti. Non è interessante?

3. Streaming di intrattenimento. Nessuna spiegazione necessaria. Il caso di Xiaoya dimostra il potenziale nella conduzione di intrattenimento. Sospetto fortemente che presto, dopo che modelli simili diventeranno open source, le piattaforme per adulti saranno occupate dall'AI.

Limiti: Douyin richiede l'etichettatura dei contenuti generati dall'AI, impone la presenza e l'interazione di una persona reale e scoraggia le dirette senza supervisione/lasciate in automatico. Quindi lo schermo di Wanwan mostra sempre "Schermata generata in tempo reale dall'AI", e la mia telecamera resta in basso a sinistra. Il crash di stasera è un promemoria. Tra i 18 commenti filtrati, diversi richiedevano costumi da bagno, bikini, sottovesti, bloccati dalle parole chiave (le parole chiave hanno anche segnalato falsamente "qualcuno sta battendo la fiacca" come allusivo, poi corretto). Eppure l'incidente non è nato da questi, ma da un normale cambio di sfondo.

Il testo può essere bloccato dalle parole chiave; le immagini no. I contenuti visivi generati dall'AI possono produrre inaspettatamente contenuti vietati dalla piattaforma. Senza supervisione, potrebbe creare violazioni. La presenza di una persona reale non è solo un requisito della piattaforma; vi protegge.

Chi spera di ottenere entrate passive 24 ore su 24 con gli umani digitali ha ancora molta strada da fare.

Inoltre, non usate celebrità, personaggi o volti altrui per gli umani digitali. Creare i propri non è difficile.

6. Note sull'open source

Il framework degli strumenti di questo progetto è open source con licenza MIT: https://github.com/garycaogan/ai-live-avatar.

Include filtraggio/code dei commenti, riconoscimento dell'intento, guardaroba, pannelli delle istruzioni/sovrimpressioni sullo schermo, workbench locale, integrazione con la trasmissione orizzontale OBS/Douyin. Potete fare un test a secco senza spendere soldi per vedere l'implementazione di filtraggio, code e sovrimpressioni. La parte di scraping delle pagine web è esclusa per motivi di rischio; chi la implementa dovrà aggiungerla da sé.

Gli strumenti sono disponibili per tutti, ma i personaggi devono essere vostri. Inserite il vostro volto, scrivete la vostra personalità e funziona.

Se volete costruirne uno, prendete il codice, create il vostro personaggio e siete invitati a lasciare commenti per chiedere aiuto o condividere i vostri successi.

Sono Gary. Se questo articolo vi è stato utile, ricordatevi di mettere like, salvare e condividere!

Rielabora in YouMind

Turn one viral article into a full content workflow

Collect the source, decode the pattern, create assets, draft the story, and distribute from one AI workspace.

Explore YouMind
Per i creator

Trasforma il tuo Markdown in un articolo 𝕏 pulito

Quando pubblichi i tuoi testi lunghi, formattare immagini, tabelle e blocchi di codice per 𝕏 è una seccatura. YouMind trasforma un'intera bozza Markdown in un articolo 𝕏 pulito e pronto da pubblicare.

Prova Markdown verso 𝕏

Altri pattern da decodificare

Articoli virali recenti

Esplora altri articoli virali