आइए देखें कि कोई , पाइपर-सीटी और नामित पाइप का उपयोग करके एक तदर्थ, स्थानीय (ऑफ़लाइन) टेक्स्ट-टू-स्पीच सिंथेसाइज़र कैसे सेटअप कर सकता है। पाइपर जीएनयू/लिनक्स आधारित सिस्टम पर पाइपर स्थापित करने के लिए, मैं नामित पाइपों का उपयोग करके एक सामान्य आर्किटेक्चर का वर्णन करूंगा, जो थोड़े से मैनुअल सेटअप के साथ, पाइपर की मदद से सिस्टम वाइड टेक्स्ट-टू-स्पीच की अनुमति देने के लिए पर्याप्त सीधा है। -सीटी और कुछ छोटे व्यापार-बंद (यह सरल है, फिर भी यह समानांतर भाषण प्रसंस्करण का समर्थन नहीं करेगा)। शुरू करने के लिए, आइए से निर्मित नवीनतम पाइपर स्टैंड-अलोन (इसे लिखने के समय ) प्राप्त करें। संपीड़ित संग्रह को डाउनलोड करने के बाद, हम अपने पाइपर सेटअप के लिए एक निर्देशिका संरचना बनाएंगे। रूट निर्देशिका निम्नलिखित उप-निर्देशिकाओं के साथ पर होगी: जीथब पर होस्ट किए गए रिपॉजिटरी 2023.11.14-2 /opt/wind (पाइपर का निर्माण किया जाएगा) /opt/wind/piper (नामित पाइप शामिल होंगे) /opt/wind/channels डीकंप्रेसिंग के बाद, पाइपर निष्पादन योग्य , साथ ही साथ आने वाली लाइब्रेरी और पर उपलब्ध होना चाहिए। /opt/wind/piper/piper espeak-ng-data पाइपर द्वारा उपयोग किए जाने वाले वॉयस मॉडल को प्रबंधित करने के लिए, मैं पाइपर-व्हिसल का उपयोग करने की सलाह दूंगा, जो कि पायथन में लिखी गई एक कमांड-लाइन उपयोगिता है, जो आवाजों को डाउनलोड करना और प्रबंधित करना अधिक सुविधाजनक बनाती है। आप नवीनतम व्हील फ़ाइल इसके या रिलीज़ पृष्ठ से प्राप्त कर सकते हैं। व्हील फ़ाइल स्थापित करने के बाद, आइए कुछ भाषण उत्पन्न करने के लिए एक आवाज़ लाएँ। सबसे पहले पर कॉल करके डेटाबेस को अपडेट करते हैं। अंग्रेजी भाषण के लिए, मुझे अल्बा नामक महिला आवाज काफी पसंद है। सीटी का उपयोग करके, हम का उपयोग करके सभी उपलब्ध अंग्रेजी (जीबी) आवाजों की सूची प्राप्त कर सकते हैं। आवाज इंडेक्स 2 पर है। इसलिए इंस्टॉल करने के लिए बस कॉल करें। gitlab github piper_whistle -vR piper_whistle list -l en_GB -i 2 piper_whistle install en_GB 2 आगे, आइए आवश्यक नामित पाइप बनाएं। परिणामी संरचना इस तरह दिखेगी: (JSON पेलोड स्वीकार करता है) /opt/wind/channels/speak (पाइपर द्वारा पढ़ा गया) /opt/wind/channels/input (पाइपर द्वारा लिखित) /opt/wind/channels/ouput नामित पाइप बनाने के लिए, आप निम्न कमांड का उपयोग कर सकते हैं: mkfifo -m 755 /opt/wind/channels/input अंत में, हम अलग-अलग शेल में तीन प्रक्रियाएँ बनाते हैं: tty0: tail -F /opt/wind/channels/speak | tee /opt/wind/channels/input tty1: /opt/wind/piper/piper -m $(piper_whistle path alba@medium) --debug --json-input --output_raw < /opt/wind/channels/input > /opt/wind/channels/output tty2: aplay --buffer-size=777 -r 22050 -f S16_LE -t raw < /opt/wind/channels/output Tty0 पर प्रक्रिया यह सुनिश्चित करती है कि पाइपर या द्वारा प्रसंस्करण समाप्त होने के बाद भी पाइप खुला रखा जाए। इस तरह, हम टीटीएस अनुरोधों को कतारबद्ध कर सकते हैं और बाद में उन्हें चला या सहेज सकते हैं। एप्ले चूंकि यदि आप उपरोक्त संरचना का उपयोग करते हैं तो पाइपर-व्हिसल अतिरिक्त सुविधाएँ प्रदान करता है, अब हम के माध्यम से भाषण उत्पन्न कर सकते हैं। X11 वाले सिस्टम पर आप के माध्यम से अपने क्लिपबोर्ड में टेक्स्ट का बोला हुआ संस्करण उत्पन्न कर सकते हैं। piper_whistle speak "This is quite neat" piper_whistle speak "$(xsel --clipboard --output)"