क्या कोई टेक्स्ट टू स्पीच प्रोग्राम है जो 8- या 16-बिट सीपीयू पर चलेगा?
मुझे आश्चर्य हो रहा है कि 1980 के किसी भी शैली के स्पीच एल्गोरिदम से स्पीच एल्गोरिदम को गुमनामी से बचाया गया था और अब भी उपलब्ध है। यह सुनकर अच्छा लग सकता है कि वॉर गेम्स में दिखाई देने वाली पुरानी आवाज़।
जवाब
सुपीरियर सॉफ्टवेयर का "भाषण" एक शुद्ध सॉफ्टवेयर भाषण सिंथेसाइज़र था जो बीबीसी माइक्रो पर चलता था (जिसमें 2MHz 6502A प्रोसेसर का उपयोग किया जाता था, इसलिए इसमें सामान्य 8-बिट मशीनों की तुलना में थोड़ी अधिक कच्ची प्रसंस्करण शक्ति थी); यह इस पृष्ठ पर विस्तार से वर्णित है , जो बताता है कि यह C64 और स्पेक्ट्रम पर समान कार्यक्रमों से प्रेरित था जो इसे साउंड चिप्स का उपयोग करके प्राप्त करते हैं (इसलिए स्पेक्ट्रम 128K संस्करण होना चाहिए था, क्योंकि मूल 16 / 48K संस्करणों में कोई ध्वनि चिप नहीं थी) लेकिन यह सिस्टम ध्वनि उत्पन्न करने के लिए बिल्ट-इन स्पीकर के सीधे नियंत्रण का उपयोग करता है।
सबसे पहले, एक प्रमुख चेतावनी है। अधिकांश प्रतिष्ठित शुरुआती वॉइस सिंथेसाइज़र विशुद्ध रूप से सॉफ्टवेयर सिस्टम नहीं थे। उदाहरण के लिए, क्लासिक Dactalk प्रणाली, प्रसिद्ध रूप से स्वर्गीय स्टीफन हॉकिंग की आवाज़, एक असतत इकाई थी जो धारावाहिक RS-232 द्वारा जुड़ा हुआ था। यह प्रभावी रूप से एक बंद बॉक्स है जिसे एएससीआईआई पाठ भेजा जाता है और लाइन-स्तरीय ऑडियो उत्पन्न करता है। आंतरिक रूप से, मैं यह पढ़कर याद करता हूं कि यह समर्पित सिग्नल प्रोसेसर और ऑडियो सिंथेसिस हार्डवेयर के साथ एक सामान्य प्रयोजन प्रोसेसर का मिश्रण है। ती LPC भाषण संश्लेषण चिप्स , के रूप में बोलो में इस्तेमाल किया और उत्पादों वर्तनी, समान थे। चिप्स बुनियादी स्वर और शब्दों को संश्लेषित कर सकते हैं, और एक माइक्रोकंट्रोलर या माइक्रोप्रोसेसर को पाठ विश्लेषण करना और संश्लेषण चिप को ड्राइव करना होगा।
तथ्य यह है कि क्लासिक 8/16 बिट प्रोसेसर के पास पर्याप्त ओम्फ नहीं है जो कि सॉफ्टवेयर संश्लेषण में भाषण संश्लेषण को कम से कम वास्तविक समय में खींचने के लिए पर्याप्त है। फिर भी, कई सम्मानजनक प्रयास हुए। एसएएम (सॉफ्टवेयर स्वचालित मुंह) पहले में से एक था, और अधिक लोकप्रिय में से एक। यह कमोडोर 64 और अन्य मशीनों पर चलता है। एक चालाक हैकर ने हाल ही में एल्गोरिथ्म को जावास्क्रिप्ट में पोर्ट किया, ताकि आप इसे अपने ब्राउज़र में सुन सकें ।
1980 के दशक के प्रारंभ में एलेक्ट्रोनिका BK-0010 के लिए लिखा गया एक रूसी टेक्स्ट-टू-स्पीच कार्यक्रम मौजूद था, जिसकी लंबाई 023500 बाइट्स == 10048 थी, जिसे ГОВОРУН (") के नाम से BK-0010 के लिए आवेदन कार्यक्रमों की एक सूची में वर्णित किया गया था। चैटरर ", एक बच्चे की पुस्तक / कार्टून द मिस्ट्री ऑफ द थर्ड प्लेनेट में एक बात करने वाले पक्षी के बाद )।
आंशिक रूप से एक अप्रशिक्षित कान के लिए इसकी ध्वनि की गुणवत्ता बमुश्किल पहचानी जा सकती थी, क्योंकि कंप्यूटर में केवल 1-बिट हेरफेर किया गया था, लेकिन कथित तौर पर यह ऑल-यूनियन सोसायटी ऑफ ब्लाइंड के अनुरोध द्वारा लिखा गया था, और इसने लक्ष्य के सदस्यों को लिया दर्शकों को इसके आदी होने और उत्पाद का उपयोग शुरू करने के लिए लगभग 10-15 मिनट।
यह चाल सीमांत मान्यता के लिए आवश्यक फ़्रीक्वेंसी बैंड के रूप में संकीर्ण फ़ॉनेम का उपयोग करने के लिए रिकॉर्ड करने के लिए थी, और उस विशिष्ट फ़ोनेम के लिए प्रत्येक फ़्रीक्वेंसी को कम से कम फ़्रीक्वेंसी का उपयोग करके सांकेतिक शब्दों में बदलना था। इस प्रक्रिया ने कुछ फोननेम बनाए हैं, जैसे एस और एफ, बहुत समान ध्वनि करते हैं, जिससे उन्हें अधिक मेमोरी को फोल्ड करके सहेजने की अनुमति मिलती है।
कहने की जरूरत नहीं है कि, ध्वन्यात्मक वर्णमाला वर्तनी मोड, एक keypress द्वारा switchable था, और "दोहराने अंतिम शब्द" और / या "अंतिम वाक्य को दोहराएं" कुंजी भी।
क्या 68000 का 16-बिट CPU है? :) कुछ के लिए यह है, और इसलिए कहते हैं , 1985 से, कमोडोर Amiga के लिए मायने रखता है। यह कार्यक्षेत्र डिस्क पर पाया जा सकता है। अधिक पढ़ने के लिए, AmigaOS विकी पर narrator.device इंटरफ़ेस देखें:https://wiki.amigaos.net/wiki/Narrator_Device
और यहां स्टीम्ड हैम्स को Say का उपयोग करके फिर से बनाया गया है :https://www.youtube.com/watch?v=Rx6mJ4XY0oQ
ले देख:
- CZ + SK ZX SW आर्काइव
ZX स्पेक्ट्रम के लिए TTS इंजन हैं (1bit डिजिटल साउंड, नो DAC, नो FPU, नो mul / div निर्देश, ~ 3.5 MHz 8bit Z80 CPU):
कोयल १.०
बहुत सरल एएसएम, (पोर्टेबल से सी / सी ++ नीचे लिंक देखें), सीपीयू पर बहुत कम मांगें हैं। यह बहुत अच्छी गुणवत्ता नहीं है
कीकल 2.3
बेहतर गुणवत्ता
ZX फॉन
Kecal 2.3 की तुलना में इसका थोड़ा खराब है
Hlasovy कार्यक्रम
यह एक बहुत अच्छी गुणवत्ता है (Kecal 2.3 की तुलना में बेहतर, आप शब्दों को आसानी से पहचान सकते हैं)। विधानसभा कोड की इसकी सिर्फ 801 बाइट्स।
यह भी देखें:
- एसई / एसओ: arduino कमरे के तापमान को वॉयस कॉल द्वारा sim900 का उपयोग करके बता सकते हैं?
[संपादित करें] सी + + हालासोवि कार्यक्रम का बंदरगाह
मैं खुशी से घोषणा कर रहा हूं कि मैंने सफलतापूर्वक ध्वनि विस्फ़ोटक से भयानक प्राचीन टीटीएस इंजन को सी + + में पोर्ट कर लिया है। सादगी के लिए मैंने साउंड एपीआई हेडर जोड़ा void sound_out(bool on);
जो इसे उपयोग करने के लिए लागू किया जाना चाहिए। यह बस ध्वनि बफर के लिए एक नमूना जोड़ना चाहिए (या ध्वनि बंदरगाह के लिए समय और उत्पादन के साथ सिंक्रनाइज़)। यहां पोर्ट किए गए कोड:
//---------------------------------------------------------------------------
//--- ZX Hlasovy program Voicesoft 1985 -----------------------------------
//--- ported to C++ by Spektre ver: 1.000 -----------------------------------
//---------------------------------------------------------------------------
#ifndef _speech_h
#define _speech_h
//---------------------------------------------------------------------------
// API:
void sound_out(bool on); // you need to code this function (should add a sample to sound output)
void say_text(char *txt); // say null terminated text, "a'c'" -> "áč"
//---------------------------------------------------------------------------
// internals:
void say_char(char chr); // internal function for single character (do not use it !!!)
void say_wait(WORD ws); // internal wait (do not use it !!!)
//---------------------------------------------------------------------------
// vars:
bool _sound_on=false; // global state of the reproductor/sound output
//---------------------------------------------------------------------------
// config: (recomputed for 44100 Hz samplerate)
const static BYTE t_speed=5; // [samples] speech speed (pitch)
const static WORD t_pause=183; // [samples] pause between chars
const static WORD t_space=2925; // [samples] pause ` `
const static WORD t_comma=5851; // [samples] pause `,`
//---------------------------------------------------------------------------
// tables:
const static BYTE tab_char0[52]= // 0..25 normal alphabet A..Z
{ // 26..51 diacritic alphabet A..Z
0x00,0x02,0x06,0x0a,0x0e,0x10,0x12,0x16,0x1a,0x1c,0x22,0x26,0x2a,0x2e,0x32,
0x34,0x38,0x42,0x48,0x4a,0x4e,0x50,0x50,0x56,0x1a,0x5c,0x64,0x66,0x70,0x74,
0x7a,0x7c,0xc2,0x84,0x86,0xc2,0xc2,0xc2,0x88,0x8c,0x92,0x94,0xc2,0x9e,0xa6,
0xa8,0xae,0xb0,0xc2,0xc2,0x86,0xbc
};
const static BYTE tab_char1[196]=
{
0x36,0x81,0x34,0x19,0x31,0xab,0x18,0x19,0x91,0xc3,0x34,0x19,0x31,0xe0,0x36,
0x84,0x92,0xe3,0x35,0x19,0x51,0x9c,0x31,0x31,0x34,0x96,0x36,0x87,0x33,0x3a,
0x32,0x3d,0x32,0xc0,0x18,0x19,0x51,0x9c,0x33,0x22,0x31,0xb1,0x31,0x31,0x36,
0xa5,0x31,0x31,0x36,0xa8,0x36,0x8a,0x18,0x19,0x31,0xab,0x18,0x19,0x51,0x1c,
0x34,0x31,0x32,0x34,0x32,0xb7,0x22,0x10,0x13,0x19,0x21,0xae,0x92,0xc3,0x18,
0x19,0x31,0xe0,0x36,0x8d,0x34,0x31,0x32,0x34,0x32,0xb7,0x18,0x19,0x71,0x1c,
0x92,0xc3,0x32,0x31,0x32,0x43,0x32,0x44,0x32,0xc5,0x3f,0x81,0x34,0x19,0x31,
0x2b,0x33,0x3a,0x32,0x3d,0x32,0xc0,0x18,0x19,0x91,0xd3,0x33,0x19,0x71,0x6d,
0x32,0x93,0x3e,0x84,0x92,0x63,0x33,0x3a,0x32,0x3d,0x32,0xc0,0x92,0xf3,0x3e,
0x87,0x31,0x31,0x36,0x25,0x31,0x31,0x35,0x25,0x32,0x93,0x3e,0x8a,0x18,0x19,
0x31,0x2b,0x33,0x3a,0x32,0x3d,0x32,0xc0,0x13,0x19,0x32,0x60,0x13,0x19,0x71,
0xdd,0x92,0xd3,0x18,0x19,0x71,0x6d,0x32,0x93,0x3e,0x8d,0x34,0x31,0x32,0x34,
0x32,0x37,0x33,0x3a,0x32,0x3d,0x32,0xc0,0x32,0x53,0x32,0x54,0x32,0xd5,0x1a,
0x99
};
const static BYTE tab_char2[262]=
{
0x1a,0x99,0xe1,0xc3,0xe1,0xc7,0x8f,0x0f,0xf8,0x03,0x0f,0x07,0xc1,0xe3,0xff,
0x40,0x17,0xff,0x00,0x03,0xf8,0x7c,0xc1,0xf1,0xf8,0x03,0xfe,0x00,0x7f,0xfc,
0x00,0x03,0xf8,0x0f,0x09,0xf1,0xfe,0x03,0xef,0x40,0x17,0xff,0x00,0x03,0xe1,
0x5c,0x35,0xc5,0xaa,0x35,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x8e,0x38,0x73,
0xcf,0xf8,0x78,0xc3,0xdf,0x1c,0xf1,0xc7,0xfe,0x03,0xc0,0xff,0x00,0x00,0xff,
0xf8,0x00,0x7f,0xf8,0x03,0xff,0xf0,0x01,0xff,0xe0,0x03,0xaa,0xca,0x5a,0xd5,
0x21,0x3d,0xfe,0x1f,0xf8,0x00,0x00,0x1f,0xff,0xfc,0x20,0x00,0x00,0x03,0xff,
0xff,0x08,0x79,0x00,0x02,0xff,0xe1,0xc7,0x1f,0xe0,0x03,0xff,0xd0,0x01,0xff,
0xf0,0x03,0x7f,0x01,0xfa,0x5f,0xc0,0x07,0xf8,0x0f,0xc0,0xff,0x00,0x42,0xaa,
0xa5,0x55,0x5a,0xaa,0xaa,0x5a,0xa5,0x5a,0xaa,0x55,0x55,0xaa,0xaa,0xa5,0x55,
0xaa,0x5a,0xaa,0xa5,0x55,0xaa,0xaa,0xa5,0x55,0xaa,0xaa,0x55,0xa5,0xa5,0xaa,
0xa5,0xb7,0x66,0x6c,0xd8,0xf9,0xb3,0x6c,0xad,0x37,0x37,0x66,0xfc,0x9b,0x87,
0xf6,0xc0,0xd3,0xb6,0x60,0xf7,0xf7,0x3e,0x4d,0xfb,0xfe,0x5d,0xb7,0xde,0x46,
0xf6,0x96,0xb4,0x4f,0xaa,0xa9,0x55,0xaa,0xaa,0xa5,0x69,0x59,0x9a,0x6a,0x95,
0x55,0x95,0x55,0x6a,0xa5,0x55,0xa9,0x4d,0x66,0x6a,0x92,0xec,0xa5,0x55,0xd2,
0x96,0x55,0xa2,0xba,0xcd,0x00,0x66,0x99,0xcc,0x67,0x31,0x8e,0x66,0x39,0xa6,
0x6b,0x19,0x66,0x59,0xc6,0x71,0x09,0x67,0x19,0xcb,0x01,0x71,0xcc,0x73,0x19,
0x99,0xcc,0xc6,0x67,0x19,0x9a,0xc6,
};
const static BYTE tab_char3[5]={ 0x00,0x2e,0x5a,0x5e,0xfe };
//---------------------------------------------------------------------------
void say_text(char *txt)
{
WORD hl;
BYTE a,b,c;
for (b=0xBB,hl=0;;hl++) // process txt
{
a=b; // a,c char from last iteration
c=b;
if (!a) break; // end of txt
b=txt[hl]; // b actual char
if ((b>='a')&&(b<='z')) b=b+'A'-'a'; // must be uppercase
a=c;
if ((a>='A')&&(a<='Z'))
{
// handle diacritic
if (a!='C'){ a=b; if (a!='\'') a=c; else{ a=c; a+=0x1A; b=0xBB; }}
else{
a=b;
if (a=='H'){ a+=0x1A; b=0xBB; }
else{ if (a!='\'') a=c; else{ a=c; a+=0x1A; b=0xBB; }}
}
// syntetize sound
say_char(a);
continue;
}
if (a==',')say_wait(t_comma);
if (a==' ')say_wait(t_space);
}
}
//----------------------------------------------------------------------
void say_wait(WORD ws)
{
for (;ws;ws--) sound_out(_sound_on);
}
//----------------------------------------------------------------------
void say_char(char chr) // chr = < `A` , `Z`+26 >
{
WORD hl,hl0,cy,cy0;
BYTE a,b,c,ws;
hl=tab_char0[chr-'A'];
for (;;)
{
c =tab_char1[hl ]&0x0F;
c|=tab_char1[hl+1]&0x80;
for (;;)
{
a=tab_char1[hl];
a=(a>>5)&7;
cy=a&1;
hl0=hl;
if (a!=0)
{
b=tab_char3[a];
hl=hl0;
a=tab_char1[hl+1];
hl0=hl;
cy0=(a>>7)&1;
a=((a<<1)&254)|cy;
cy=cy0;
hl=a;
a=0x80;
for (;;)
{
_sound_on=(a&tab_char2[hl]);
for (ws=t_speed;ws;ws--) sound_out(_sound_on);
b--;
if (!b) break;
cy=a&1;
a=((a>>1)&127)|(cy<<7);
if (!cy) continue;
hl++;
}
}
a^=a;
say_wait(t_pause);
c--;
a=c&0x0F;
hl=hl0;
if (a==0) break;
}
cy0=(c>>7)&1;
a=((c<<1)&254)|cy;
cy=cy0;
if (cy) return;
hl+=2;
}
}
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------
यह किसी भी लिबास, फ़ाइलों या जो कुछ भी उपयोग नहीं करता है ... यदि आपके वातावरण में नहीं है BYTE,WORD
तो unsigned int
इसके बजाय उपयोग करें ... मैंने इसे पीसी पर 44100Hz नमूना दर के साथ आज़माया और ध्वनि किसी भी अन्य टीटीएस से बेहतर है जो मैंने वर्षों में कोशिश की थी।
AVR32 पर भी ध्वनि काफी अच्छी है (हालांकि, छोटे बीपर्स के बजाय एक सामान्य रिप्रिपुटर की आवश्यकता होती है)।
मामले में आप रुचि रखते हैं कि यह कैसे काम करता है यह देखें:
- समझने / रिवर्स सरल (लेकिन अच्छी गुणवत्ता) टीटीएस इंजन
जहां गहराई से विश्लेषण (डेटा के अंतिम बिट तक) में बहुत अधिक है और इसके लिए बहुत अधिक सैद्धांतिक कोड और डेटा पाया जा सकता है।
यहाँ परीक्षण के लिए एक छोटा सा win32 / waveout डेमो, पाठ ध्वनि लिखने के लिए मत भूलना ... मज़ा है:
- win32 TTS पोर्ट
यह इन चाबियों का जवाब देता है:
[enter ]
संपादन बॉक्स से TTS पर पाठ भेजेगा[up arrow]
बॉक्स को संपादित करने के लिए अंतिम स्ट्रिंग लौटेगा[escape ]
संपादन बॉक्स को साफ़ करता है
बेशक बीबीसी माइक्रो के लिए एकोर्न स्पीच सिस्टम था ।
कीबोर्ड के नीचे दो टेक्सास इंस्ट्रूमेंट्स चिप्स की आवश्यकता होती है, इसलिए यह शुद्ध सॉफ्टवेयर समाधान नहीं था।

इसमें अन्य अधिकांश उत्तरों के लिए अलग-अलग होने के कारण यह शुद्ध पाठ के बजाय ध्वनि इनपुट लेता था, लेकिन इसका मतलब यह था कि इसने अपने कई प्रतियोगियों की तुलना में बहुत स्पष्ट, समझदार ऑडियो दिया।
दिन में वापस मैंने इसका इस्तेमाल किया एक प्रक्रिया स्वचालन सेटिंग में अलार्म प्रदान करते हैं। क्रेन ए डेसेंडिंग , या "क्रेन बी आरोही" की तरह कॉल करने के लिए बहुत अधिक सुरक्षित माना जाता था , अलग-अलग ब्लिप्स की एक सीमा के लिए जो हर कोई भूल गया था जो कि था।
इसने उस समय बीबीसी के न्यूज़रीडर केनेथ केंडल की डिजिटाइज्ड आवाज़ का इस्तेमाल किया । वह 2001 में भी एक फिल्म में दिखाई दिए : ए स्पेस ओडिसी , बीबीसी न्यूज़रीडर की भूमिका में।
80 के दशक की शुरुआत का एक और ऐसा प्रोग्राम था सॉफ्टवेयर ऑटोमैटिक माउथ । मेरे पास Apple के लिए द वॉइस बाय म्यूज़िक सॉफ्टवेयर के डेमो की यादें भी थीं। ("सांता से क्रिसमस की शुभकामनाएँ और सरस्वती की आवाज़ ....")
यदि आपके पास टर्मिनल एमुलेटर II कारतूस और ठोस राज्य भाषण सिंथेसाइज़र है तो टेक्सास इंस्ट्रूमेंट्स TI-99 / 4A टेक्स्ट-टू-स्पीच कर सकता है। (उत्तरार्द्ध के बारे में अधिक जानकारी मैनुअल में पाई जा सकती है ।)

1980 के माइक्रोबि (z80) के लिए "बी टॉकर" नाम का एक हार्डवेयर मॉड्यूल था जो एक समानांतर पोर्ट में प्लग किया गया था। यह लगभग इस छवि में "बीथोवेन" इकाई की तरह दिखता है ("कीबोर्ड" के बगल में बैठे हुए), सिवाय इसके कि इसे "बीटलकर" लेबल किया गया था:

इसमें एक सरल टेक्स्ट-टू-स्पीच सॉफ़्टवेयर इंटरफ़ेस था जो मॉड्यूल के साथ आया था। आपने जो कुछ भी कंसोल में टाइप किया है, वह कुछ हद तक भाषण में परिवर्तित हो जाएगा। मुझे ठीक से याद नहीं है कि क्या अच्छा हुआ, लेकिन कभी-कभी आपको वांछित परिणाम प्राप्त करने के लिए शब्द को गलत तरीके से याद करना पड़ता था।
मॉड्यूल को फिर से जारी किया गया है, क्या आप इसे एक Arduino या जो भी कनेक्ट करना चाहते हैं।
संपादित करें: अंत में एक बेहतर छवि मिली:

आप यहां Dactalk के अंतर्निहित सिंथेसाइज़र के विभिन्न अवतारों को पा सकते हैं
मुझे संदेह है कि आप 8-बिट प्रोसेसर पर संतोषजनक परिणाम प्राप्त कर सकते हैं। 16-बिट, हाँ (हालाँकि आपको फ़्लोटिंग पॉइंट कोड को निश्चित बिंदु के रूप में फिर से लिखना पड़ सकता है)। मुझे लगता है कि मूल Macintalk ने काफी समान एल्गोरिथ्म का उपयोग किया था, हालांकि मैंने उस स्रोत कोड को कभी नहीं देखा था। MacinTalk 3 ("फ्रेड" और संबंधित आवाज़ें), जो कि मैक पर 30 से अधिक वर्षों से उपलब्ध है, एक समान विधि का उपयोग करता है।
क्लैट ने एक काफी पठनीय पुस्तक लिखी जिसमें कुछ हद तक पहले की प्रणाली थी।
अंततः, यह शायद मेमोरी है जो 1980 के दशक के सिस्टम के लिए सीमित कारक है। 16 बिट प्रोसेसरों की प्रोसेसिंग पावर फॉर्मेंट सिंथेसिस के लिए ठीक है, लेकिन अंग्रेजी में, आप कभी भी बड़े शब्दकोश या भारी नियम के बिना बहुत सटीक उच्चारण नहीं कर सकते हैं।
यहाँ c64 के लिए SAM का एक ऑनलाइन संस्करण है, आप वेब पेज पर कुछ पाठ टाइप कर सकते हैं और ऑडियो टेप कर सकते हैं: https://discordier.github.io/sam/
मैक और अटारी सेंट पर आधारित संगीत प्लगइन्स भी हैं जो मूल भाषण इंजन कोड के शीर्ष पर संगीत संवर्द्धन के लिए डिज़ाइन किए गए हैं: https://www.youtube.com/watch?v=FmaeI5eoeH0&ab_channel=PlogueArtetTechnologie%2CInc। वेब पर इसके कुछ संस्करण के डेमो संस्करण हैं।
IIgs के पास काफी अच्छा सॉफ्टवेयर खींचने के लिए पर्याप्त हार्डवेयर है जिसमें केवल SmoothTalker का उपयोग करके भाषण दिया जाता है । स्मूथटॉकर से भाषण इंजन का उपयोग पढ़ने और गणित के लिए टॉकिंग श्रृंखला सहित अन्य IIgs कार्यक्रमों की एक संख्या में किया गया था । यहां तक कि IIgs के लिए एक टाइपिंग प्रोग्राम का उपयोग किया गया था, मेरी बेटी ने इसका इस्तेमाल किया था और वर्तमान मानकों द्वारा भाषण बहुत अच्छा है।
युद्ध खेल ... वास्तव में कंप्यूटर उत्पन्न नहीं था
आपने युद्ध खेलों की आवाज का उल्लेख किया है। यह कोई कृत्रिम आवाज़ नहीं थी, बल्कि एक अभिनेता थी। उन्होंने शब्दों को उल्टे क्रम में कहा, जिन्हें बाद में संपादित किया गया। संदर्भ:
- https://www.imdb.com/title/tt0086567/trivia#tr5373943
- 8bit आदमी वीडियो प्रासंगिक त्वरित करने के लिए @RCDAWebmaster लिंक द्वारा उल्लेख किया
आप के लिए क्या पूछ रहा है: "... विस्मृति से बचाया और अभी भी उपलब्ध हैं"
हाँ! जानकारी के लिए 8bit लड़के को धन्यवाद। आप ऐसा कर सकते हैं:
- यात्रा https://www.simulationcorner.net/index.php?page=sam
- स्रोत कोड प्राप्त करें https://github.com/s-macke/SAM या https://github.com/vidarh/SAM
यह एक आधुनिक मशीन का संकलन और काम करता है।
सॉफ्टवेयर-केवल समाधान, युग का
ऐसा लगता है कि एक पूर्ण सॉफ़्टवेयर-आधारित समाधान है (मैंने इसका परीक्षण नहीं किया है): https://cpcrulez.fr/applications_music-superior_software-speech__MANUEL__ENGLISH.htm
उस समय सामान्य समाधान: 8-बिट बोलने वाली मशीनें अक्सर समर्पित वैकल्पिक चिप्स का उपयोग करती थीं
जैसा कि एक टिप्पणी में उल्लेख किया गया है, 8 बिट युग के दौरान, सामान्य समाधान ने समर्पित चिप्स का उपयोग किया था।
- जनरल इंस्ट्रूमेंट SP0256 SSA-1 स्पीच सिंथेसाइज़र और GLEN HODDLE SOCCER के साथ SSA-1 स्पीच सिंथेसाइज़र के साथ एक ही पेज और उदाहरण के लिए स्पेस में रोलैंड पर प्रदर्शित होता है । प्रत्येक चिप अधिक या कम विशिष्ट थी, सबसे आम एक सामान्य अंग्रेजी आवाज थी।
- MEA8000 अधिक लचीला था, जिससे कई भाषाओं की अनुमति मिली ।
उदाहरण: Amstrad CPC के लिए SSA-1
आमतौर पर, यह एक बहु स्तरीय समाधान था।
नीचे SSA-1 के अमस्ट्राड CPC के उदाहरण को रेखांकित किया गया है:
- टेक्स्ट-टू-स्पीच का शुरुआती (उच्च-स्तरीय) हिस्सा होस्ट कंप्यूटर सीपीयू पर किया गया था, और नियमित (अंग्रेजी) टेक्स्ट को एलोफ़ोन की एक श्रृंखला में बदल दिया (आमतौर पर, 64 अलग-अलग) - यह एपीआई का उपयोग करके बाईपास किया जा सकता है यह एलोफोन्स की एक श्रृंखला का सीधे अनुरोध करने का एक तरीका प्रदान करता है। Amstrad CPC पर, दोनों विकल्प उपलब्ध थे: उपयोगकर्ता को विशिष्ट सॉफ़्टवेयर लोड करने की पेशकश की गई थी, जिससे बेसिक से अतिरिक्त कमांड "RSX" उपलब्ध हुआ, और इसलिए असेंबली कोड से भी, हालांकि असेंबली का उत्पादन आम तौर पर सीधे अगले चरण को लक्षित करता है क्योंकि वे डॉन नहीं करते हैं 'सामान्य अंग्रेजी वाक्य को पार्स करने की आवश्यकता नहीं है, केवल पूर्व-निर्धारित उच्चारणों का उच्चारण करें)।
- एलोफ़ोन कोड्स को नियमित I / O इंटरचिप संचार के माध्यम से चिप, एक बाइट प्रति एलोपफ़ोन में प्रेषित किया गया
- चिप पर, एक रीयल-टाइम माइक्रोकंट्रोलर ने एलोपोन कोड्स को निम्न-स्तरीय मुखर ट्रैक्ट सिमुलेशन सिमुलेशन में बदल दिया, और वास्तविक समय में ट्यून किया ताकि हार्डवेयर अगले चरण को कमांड कर सके
- समर्पित हार्डवेयर ने मुखर पथ मॉडल के डिजिटल संगणना का प्रदर्शन किया, और PCM सिग्नल का उत्पादन किया
- डिजिटल-से-एनालॉग चरण ने लाइन स्तर पर एनालॉग आउटपुट सिग्नल प्रदान किया
- एक एम्पलीफायर स्पीकर स्तर पर संकेत लाता है।
उन सभी चरणों (वक्ताओं सहित) को Amstrad CPC के लिए SSA-1 समाधान में एकीकृत किया गया है। पहले चरण में, होस्ट कंप्यूटर पर समाधान सॉफ्टवेयर चल रहा है, बाकी अतिरिक्त हार्डवेयर है।
SSA-1 पर अधिक विवरण: Amstrad SSA-1 भाषण सिंथेसाइज़र - CPCWiki
आईबीएम पीसी कॉम्पिटिबल्स पर ऑडियो के शुरुआती दिनों में भाषण संश्लेषण के कुछ उदाहरण हैं। 8088 और 80286 के रूप में आपकी 16-बिट श्रेणी के लिए ये योग्यताएं 16-बिट सीपीयू थीं (हालांकि 8088 को 8-बिट डेटा बस द्वारा अपंग कर दिया गया था)।
कॉवॉक्स स्पीच थिंग एक समानांतर पोर्ट डीएसी था जिसका उपयोग सॉफ्टवेयर-आधारित भाषण संश्लेषण के साथ किया जाना था। मुझे लगता है कि इस तरह के एक कार्यक्रम के साथ आया था, यह देखते हुए कि वहाँ कार्यक्रमों की एक सभ्य संख्या थी जो इसका समर्थन करते थे, मैं भाषण संश्लेषण के साथ कुछ भी करने के लिए कभी नहीं भागा।
क्रिएटिव लैब्स ने डॉ साउबात्सो नामक एक कार्यक्रम को मूल ध्वनि ब्लास्टर कार्ड के साथ भेज दिया। यह अनिवार्य रूप से एक एलिजा चैट-बॉट एक भाषण सिंथेसाइज़र (सभी सॉफ्टवेयर में किया गया) के लिए युग्मित था। एक 8-बिट आईएसए कार्ड होने के नाते जो मूल 16-बिट आईबीएम पीसी में काम करता था, यह निश्चित रूप से योग्य है।
बाद के साउंड ब्लास्टर 16 एएसपी और साउंड ब्लास्टर AWE32 में एडवांस्ड सिग्नल प्रोसेसर चिप शामिल थी, जो हार्डवेयर-त्वरित भाषण संश्लेषण क्षमताओं को प्रदान करती थी, लेकिन बहुत कुछ नहीं मिला, यदि कोई हो, तो क्रिएटिव के स्वयं के सॉफ्टवेयर का उपयोग करें। क्या ये दो अर्हताएं बहस योग्य हैं, यह देखते हुए कि वे 16-बिट आईएसए कार्ड हैं जो संभवतः 286 में काम करेंगे, लेकिन जो तब सामने आया जब हर कोई 32-बिट 386 या 486 सीपीयू का उपयोग कर रहा था।
OPL2 FM सिंथेसाइज़र चिप जिसने Adlib और अर्ली साउंड ब्लास्टर कार्ड्स की संगीत क्षमताओं को संचालित किया है, में एक कम्पोजिट साइन मॉडलिंग मोड शामिल है, जिसका उपयोग हार्डवेयर-असिस्टेड स्पीच सिंथेसिस के लिए किया जा सकता है, लेकिन जहाँ तक मुझे पता है कि इसका उपयोग कभी नहीं किया गया था। 1987 से एडलिब के प्रोग्रामिंग गाइड ने इस सुविधा का उल्लेख किया है, फिर तुरंत यह कहते हुए खारिज कर दिया कि बेहतर गुणवत्ता वाले तरीके उपलब्ध हैं।
निश्चित रूप से कुछ प्रोग्राम थे जो पीसी स्पीकर के माध्यम से भाषण का उत्पादन कर सकते थे, लेकिन मुझे नहीं पता कि क्या वे इसे संश्लेषित कर रहे थे या सिर्फ बैक सैंपल खेल रहे थे, और मुझे वैसे भी कोई नाम याद नहीं है।
ज़रूर; उदाहरण के लिए, नेवल रिसर्च लेबोरेटरी ने 1976 में एक दस्तावेज (NRL-7948) प्रकाशित किया, जिसका शीर्षक था: "लेटर-टू-साउंड रूल्स के माध्यम से फोनेटिक्स को स्वचालित अंग्रेजी पाठ का स्वचालित अनुवाद" (एक प्रति यहां)
यह 8-बिट मशीनों की क्षमता के भीतर था। (मैंने स्वयं ही माइक्रोकंट्रोलरों पर एल्गोरिदम को कुछ बार लागू किया है - इस मामले में, नियमों ने केवल 8,000 से अधिक बाइट्स लिए हैं। आपको उन्हें चलाने वाले कोड के लिए थोड़ी अधिक आवश्यकता होगी।)
यह पाठ से वाक् संचालन करता है, अंग्रेजी पाठ को एक ध्वनि अनुक्रम में परिवर्तित करता है जिसे बाद में संश्लेषण उपकरण में खिलाया जाएगा। यह हिस्सा आमतौर पर हार्डवेयर का होता था।
संपादित करें: यदि आप इस नियम का उपयोग करने वाले परिणामों के बारे में उत्सुक हैं, तो यहां टेक्स्ट टू स्पीच से लेकर द डोर्स 'हैलो' तक गीत का नमूना आउटपुट है। कुछ गलतफहमियां हैं जो मनोरंजक हैं; उदाहरण के लिए 'स्काई' का उच्चारण 'स्की' के रूप में किया जाता है।
यदि आप भाषण संश्लेषण का एक सभ्य इतिहास चाहते हैं, तो इस वीडियो को 8 बिट आदमी द्वारा देखें
मूल 1984 मैकिनटोश (जो मोटोरोला 68000 पर चलता था) में मैकिन्टलक था। यह यथोचित रूप से चला। इसने फिल्म WALL-E के पात्रों में से एक को आवाज दी। यह बड़ी संख्या में पॉप संस्कृति स्थानों में दिखाई देता है। के लोकप्रिय संस्कृति अनुभाग में देखेंhttps://en.m.wikipedia.org/wiki/PlainTalk
मुझे यकीन है कि अगर मैंने अपना 1984 मैक कोठरी से बाहर निकाला और सही डिस्केट मिला, तो मैं इसे बात करने के लिए मना सकता था। यह दिन में एक बहुत ही अद्भुत पार्टी चाल थी