SoundStorm: कुशल parallel audio generation
(google-research.github.io)- SoundStorm ऐसा मॉडल है जो AudioLM के semantic tokens लेकर neural audio codec tokens को parallel में generate करता है, जिससे लंबी audio generation का compute burden कम होता है
- Bidirectional attention और confidence-based parallel decoding के जरिए यह autoregressive तरीके की तुलना में speech और acoustic conditions की consistency बढ़ाते हुए समान स्तर की quality को लक्ष्य बनाता है
- TPU-v4 पर 30 सेकंड की audio 0.5 सेकंड में generate करता है, जो AudioLM के acoustic generator से कई गुना तेज़, double-digit speedup दिखाता है
- SPEAR-TTS के साथ combine करने पर script, छोटे voice prompt और speaker turn annotations को control करके 30 सेकंड की natural conversation को single TPU-v4 पर 2 सेकंड में synthesize किया जा सकता है
- Voice imitation का दुरुपयोग impersonation और biometric authentication bypass के लिए हो सकता है, इसलिए safeguards की ज़रूरत है; replacement के बाद generated audio को dedicated classifier से 98.5% detect किया जा सका
SoundStorm की generation method और performance
- SoundStorm एक कुशल non-autoregressive audio generation मॉडल है
- Input AudioLM के semantic tokens हैं, और output neural audio codec tokens हैं
- Generation performance दो design choices पर आधारित है
- Bidirectional attention से आगे-पीछे के context का साथ में उपयोग होता है
- Confidence-based parallel decoding से कई tokens एक साथ generate होते हैं
- AudioLM के autoregressive generation तरीके की तुलना में समान quality की audio बनाते हुए, speech और acoustic conditions की consistency अधिक है
- TPU-v4 पर 30 सेकंड की audio 0.5 सेकंड में generate करता है
Conversation synthesis
- SoundStorm, SPEAR-TTS के text-to-semantic modeling चरण के साथ combine होकर high-quality, natural conversations synthesize कर सकता है
- Control किए जा सकने वाले elements तीन हैं
- script के जरिए utterance content
- छोटे voice prompt के जरिए speaker voice
- script annotations के जरिए speaker turns
- 30 सेकंड के conversation segment synthesis का runtime single TPU-v4 पर 2 सेकंड मापा गया
- उदाहरणों में इस्तेमाल text और speakers training के दौरान नहीं देखे गए data हैं
Prompt होने या न होने पर generation
- SoundStorm AudioLM के semantic tokens को condition के रूप में लेकर audio generate करता है, और 3-second voice prompt होने व न होने दोनों cases का demonstration करता है
- Prompt न हो तो अलग-अलग speakers sample किए जाते हैं
- Prompt हो तो speaker की voice को high consistency के साथ maintain करता है
- Original samples LibriSpeech test-clean से लिए गए हैं
- Generation speed AudioLM के acoustic generator से double-digit times तेज़ है
Baseline models से तुलना
- Prompt-based generation में SoundStorm, AudioLM से अधिक acoustic consistency दिखाता है और prompt की speaker voice को बेहतर preserve करता है
- उसी model में RVQ level-wise greedy decoding से तुलना करने पर SoundStorm अधिक quality की audio generate करता है
- Comparison examples Original, AudioLM, Greedy, SoundStorm outputs को साथ-साथ provide करते हैं
Impact और safety considerations
- SoundStorm audio के neural audio codec-based representations को high-quality और efficient तरीके से generate करने वाला model है
- इस work में इसे AudioLM और SPEAR-TTS की acoustic generation pipeline को replace करने वाले component के रूप में इस्तेमाल किया गया है
- Generated samples training data के bias से प्रभावित हो सकते हैं, और examples में represented accents तथा voice characteristics जैसी limitations शामिल हो सकती हैं
- Prompt के जरिए speaker characteristics को reliably control किया जा सकता है, लेकिन training data और उसकी limitations का अधिक thorough analysis future work का क्षेत्र बना हुआ है
- Voice imitation capability के misuse की संभावना है
- इसे biometric authentication bypass और impersonation में इस्तेमाल किया जा सकता है, इसलिए safeguards महत्वपूर्ण हैं
- Replacement के बाद generated audio को Borsos et al. (2022) जैसे dedicated classifier से 98.5% detect किया जा सका
- बड़े systems के component के रूप में SoundStorm के, Borsos et al. (2022), Kharitonov et al. (2023) में चर्चा किए गए risks के अलावा अतिरिक्त risks introduce करने की संभावना कम मानी गई है
- AudioLM की memory और compute requirements को कम करने से audio generation research व्यापक community के लिए अधिक accessible हो सकती है
- भविष्य में synthetic speech detection के लिए एक अन्य approach के रूप में audio watermarking explore करने की योजना है
1 टिप्पणियां
Hacker News की राय
CGI में हमेशा ऐसे माइलस्टोन रहे हैं जिन तक हम धीरे-धीरे पहुँचते गए। पत्तों वाले पेड़ आखिरकार वास्तविकता के करीब लगने लगे, हवा में हिलती घास लगभग विश्वसनीय दिखने लगी, और बाल, जेली जैसी चीज़ों की गुणवत्ता बेहतर होती गई। आम तौर पर पहले Pixar shorts में दिखता था कि वे किस चीज़ पर फोकस कर रहे हैं, फिर वही फिल्मों में लागू होता दिखता था
उसके बाद motion capture आया, और असली अभिनेताओं के चेहरों पर digital चेहरा चढ़ाने की तकनीक आई। इसे पहली बार Pirates of the Caribbean में देखकर मैं दंग रह गया था, और Planet of the Apes के वानरों के साथ भी ऐसा ही लगा। अब CGI उद्योग का बड़ा हिस्सा उस बिंदु पर पहुँचता दिखता है जहाँ सबसे कठिन समस्याएँ मानो हल हो चुकी हों
अभी Dialogue Synthesis का पहला synthetic dialogue “Where did you go last summer? | I went to Greece, it was amazing.” चलाकर फिर से हैरानी हुई। ऐसा लगता है कि अब हम उस माइलस्टोन पर पहुँच गए हैं जहाँ मशीनें इंसानों से अलग न पहचानी जा सकें और वाकई इंसानों जैसी बोलें
10~5 साल पहले तक TTS इस्तेमाल करने के लिए Android फोन से voice file render करना ही सबसे अच्छा विकल्प था, और बाकी सब सचमुच बहुत खराब था। खासकर open source पक्ष तो भयानक था
तो भविष्य की किसी Raspberry Pi पीढ़ी पर इस स्तर का मॉडल डाउनलोड करके, cloud के बिना सिर्फ HTTP calls से audio output में बिल्कुल सही आवाज़ निकलने में कितना समय लगेगा? 5 साल?
अभी भी, अगर आप बहुत मेहनत करें और ऐसा सामान्य बड़ा model इस्तेमाल करने के बजाय, जो किसी भी voice को निकाल सके, एक single voice के लिए fine-tuned छोटा model लें, तो शायद यह लगभग अभी ही संभव हो। क्या whisper-tiny Pi पर real time में नहीं चलता? और वह भी Pi के GPU का उपयोग किए बिना। (https://github.com/ggerganov/whisper.cpp/discussions/166)
संपादन: medium, Pi पर tiny से 30 गुना धीमा लगता है, इसलिए शायद मैं बहुत आशावादी था। मुझे पता नहीं था कि Whisper tiny, medium से इतना तेज़ है
यह तरीका Tortoise में भी काफी अच्छा काम करता है, जिससे बहुत तेज़ Tortoise quality setting इस्तेमाल करते हुए भी बड़े model जैसी गुणवत्ता मिल सकती है। बेशक, अगर पूरे सिस्टम को single voice पर fine-tune किया जाए तो कई शानदार features गायब हो जाते हैं। Tortoise अभी भी Pi के लिए बहुत धीमा होगा, लेकिन यही रणनीति SoundStorm जैसे तेज़ models पर काम कर सकती है
quality के लिहाज़ से लंबे audio segments में long-term consistency पर अभी बहुत काम बाकी है। जब कोई असली इंसान audiobook पढ़ता है, तो पेज के ऊपर के शब्द इस बात पर बड़ा असर डालते हैं कि नीचे के शब्द कैसे पढ़े जाएँगे। यह असर 10वें पेज से 300वें पेज तक जैसी दूरियों पर भी हो सकता है। अगर आप किसी top-tier TTS model से बनी audiobook को ध्यान से सुनें, तो यह असंगति साफ़ सुनाई देती है। ऐसा लगता है जैसे पाठक ने paragraphs को क्रम से नहीं बल्कि बेतरतीब रिकॉर्ड किया हो, या जैसे video game dialogue में actors अपनी सारी lines अलग-अलग रिकॉर्ड करते हैं और एक-दूसरे की performance पर प्रतिक्रिया नहीं दे रहे होते
अगर context window को 1 मिनट, 2 मिनट तक बढ़ाया जाए तो हम और करीब पहुँचेंगे, और कुछ किताबों के लिए यह पर्याप्त भी हो सकता है। कम से कम निकट भविष्य में कोई इंसान सभी audio samples को tweak करके और हाथ से सुधारकर उन्हें natural बना सकता है। इस वजह से fan-made audiobooks जैसी चीज़ों में समय लगाकर सही तरीके से tuning करना संभव होगा। लेकिन पूरी तरह automated किताबों में यह असंगति पागल कर देने वाली है। किसी खास हिस्से की performance इतनी करीब पहुँच जाती है कि जैसे ही tone बिगड़ता है, वह और ज़्यादा चुभता है
लेकिन आजकल हर बार जब मानव रचनात्मकता और व्यवहार की नकल और प्रतिकृति बनाने की कोई नई तकनीक आती है, तो मेरे भीतर बेचैनी बढ़ती जाती है
क्या मुझे यह जानने का अधिकार है कि जो मैं देख या पढ़ रहा हूँ वह generated है या नहीं?
Bing और Bard का नवीनतम Microsoft, Google Cloud products इस्तेमाल करना अच्छा है, लेकिन अच्छा होगा अगर ऐसी voice technology advances, audio palm(https://google-research.github.io/seanet/audiopalm/examples/) जैसी चीज़ों के साथ, public API या user interface के रूप में भी आएँ
Bard का TTS ठीक-ठाक है, लेकिन साफ़ तौर पर पीछे है
उससे अलग, Bing का English/Korean TTS सचमुच बहुत अच्छा है। मुझे पता ही नहीं था कि Microsoft, Edge के free TTS में अपना top-tier product इस्तेमाल कर रहा है, इसलिए वह Google की default TTS voices से कहीं बेहतर है
कुछ Azure voices इससे भी बेहतर हैं, और TTS web app में कुछ छोटे bugs हैं, लेकिन कुल मिलाकर पूरा अनुभव बहुत संतोषजनक था
https://cloud.google.com/text-to-speech/docs/wavenet#studio_voices_preview
क्या “free TTS का top-tier product” से मतलब free software library है, या free SaaS, और “on edge” से मतलब Edge browser है या client computer पर edge execution? क्या इसका मतलब यह है कि client computer पर चलने वाला हर TTS, Google के default TTS से बेहतर है?
जब लोग बड़ी सहजता से कहते हैं कि कारीगर बस कोई दूसरा काम ढूंढ़ लें, तो वे यह भूल जाते हैं कि वह नया काम अक्सर साधारण और कम वेतन वाला होता है। जब Amazon स्थानीय दुकानों को बाहर कर देता है, तो वे लोग नया कारोबार शुरू नहीं करते, बल्कि Wal-Mart में नौकरी ढूंढ़ते हैं
यह दिलचस्प है कि SoundStorm को ऐसा स्क्रिप्ट लिखकर दो लोगों की बातचीत बनाने के लिए प्रशिक्षित किया गया है जिसमें स्पीकर बदलने को
|से दिखाया जाता है। लेकिन Bark मॉडल में भी वही|अक्षर लगभग डिफ़ॉल्ट रूप से काम करता हुआ लगता है और उससे बातचीत बन जाती हैBark के आउटपुट का लगभग एक-तिहाई या उससे थोड़ा ज़्यादा हिस्सा ऐसे आता है जैसे कोई व्यक्ति अकेले ही बातचीत कर रहा हो, और कई बार यह स्पीकर बदलाव मिस भी कर देता है। फिर भी pipe character काफ़ी स्थिरता से ऐसा ऑडियो बना देता है जो अभिनय शैली के हिसाब से संवाद जैसा सुनाई देता है
https://twitter.com/jonathanfly/status/1675987073893904386
क्या training data में कहीं ऐसा text-audio data है जिसमें स्पीकर बदलाव के लिए
|का इस्तेमाल होता है?मज़ेदार बात यह है कि Bark, SoundStorm prompts को कुछ हद तक व्यंग्यात्मक टोन में render करने की प्रवृत्ति रखता है। यह मॉडल की शैली का फ़र्क है, या Google ने प्रतिनिधि नमूनों के तौर पर सिर्फ़ ज़्यादा सीधे-सादे narration चुने, कहना मुश्किल है
[laughs]जैसी चीज़ें भी काम करती हैंयह सोचने वाली बात है कि UpWork या Fiverr जैसे gig marketplace, उस नई स्थिति के अनुसार क्या काफ़ी तेज़ी से ढल पाएँगे जिसमें पहले इंसान जो बहुत-सी सेवाएँ देते थे, अब उन्हें software कर सकता है
मौजूदा marketplace interface इसके लिए उपयुक्त नहीं लगता। खरीदार इंसान से संपर्क करने और काम पूरा होने का इंतज़ार करने के बजाय, तुरंत नतीजा चाहेंगे
इसलिए शायद प्लेटफ़ॉर्म को app store जैसा बनाना होगा। विक्रेता अपनी service plug in करें, और खरीदार उसे तुरंत इस्तेमाल करें
अगर आपके पास ऐसा tool हो जो actor की पिछली कुछ lines डालकर, तय parameters के हिसाब से खाली जगह भरने के लिए कुछ निकाल दे, और इस तरह सारी logistics समस्याओं के बिना project आगे बढ़ सके, तो वह किसी स्वर्ग से कम नहीं होगा
लेकिन इससे एक पूरा पेशेवर क्षेत्र खत्म भी हो सकता है। इससे actors की क़ीमत भी घटेगी। सच कहें तो यह पहले से हो रहा है। बाज़ार में ऐसे programs पहले से मौजूद हैं जो voice actors को पूरी तरह replace कर देते हैं, और वे video game क्षेत्र में इस्तेमाल हो रहे हैं
मेरे काम में यह निश्चित रूप से मददगार हो सकता है। साथ ही, मुझे यह भी अच्छी तरह पता है कि इसके भारी दुरुपयोग की संभावना है
सबसे प्रभावशाली बात यह लगती है कि यह सिर्फ़ 3 सेकंड के source से 30 सेकंड का TTS बना सकता है। यह सचमुच शानदार है, और ईमानदारी से कहूँ तो मेरी उम्मीद से काफ़ी आगे है
हाल की प्रगति को देखते हुए, क्या आम उपयोगकर्ताओं के लिए बिना जटिल setup के इस्तेमाल करने लायक Linux के लिए TTS voice में कोई अच्छा विकल्प है?
मैं इस तरह से बने game खेलना नहीं चाहूँगा। NPC dialogue सुनना चाहने का मेरा ठीक-ठीक कारण यह है कि वह इंसानों द्वारा लिखा गया संवाद होता है
प्रभावशाली है, लेकिन पहला उदाहरण आख़िरी पल में तब असफल हो जाता है जब आभासी पुरुष आवाज़ “what?” कहती हुई ऊपर की ओर फिसलती है, और auto-tune जैसी pitch correction effect साफ़ सुनाई देती है
बाकी उदाहरण सचमुच चौंकाने वाले हैं। अगर सच में सिर्फ़ कुछ सेकंड की training से कई मिनट की भरोसेमंद आवाज़ निकाली जा सकती है, तो अगला कदम शायद इसे गवाना होगा। मुझे लगता है कि कोई अगर ऐसी ही तकनीक से, मान लीजिए, Elvis की आवाज़ किसी विज्ञापन में इस्तेमाल करे लेकिन नाम न बताए, और प्रशंसक उसे पहचान लें जबकि ऑडियो उसके गीतों या मौजूदा गानों से मेल न खाए, तो कानूनी तूफ़ान आ जाएगा
यह कोई बहुत बुद्धिमानी की बात नहीं है, लेकिन अगर आप सारे samples को एक साथ चलाएँ तो यह सचमुच मज़ेदार है। यह HTML version Ableton Live जैसा लगता है