Presentation laddar. Vänta.

Presentation laddar. Vänta.

Drömmen om den talande maskinen

Liknande presentationer


En presentation över ämnet: "Drömmen om den talande maskinen"— Presentationens avskrift:

1 Drömmen om den talande maskinen
von Kempelen (1791) Drömmen om maskiner som liknar oss människor, till exempel genom att tala, är gammal. Även om det finns flera förhistoriska källor som berättar om munkar som konstruerat "talande" huvuden, så är daterar sig den första väldokumen-terade talmaskinen till Den konstruerades av Wolfgang von Kempelen ( ) som var en skicklig ungersk uppfinnare och mekanik-konstruktör. William Sandqvist

2 Artificiell intelligens 1800?
Om nu en maskin kunde låta som en talande människa - kunde man då inte även bygga mekanisk konstgjord intelligens? von Kempelen besvarade denna fråga med "ja!" och byggde den schackspelande automaten "the turk“. The Turc William Sandqvist

3 William Sandqvist william@kth.se
Vad finns inuti? Automaten uppvisades offentligt i många städer. Napoleon I spelade ett parti mot automaten - och det schackpartiet förlorade han! Som man nog kan gissa var den maskinen en bluff ... William Sandqvist

4 William Sandqvist william@kth.se
Berömt schackparti 1809 Exit Bonaparte! Vit Napoleon I vs the Turc (Allgaier ) William Sandqvist

5 William Sandqvist william@kth.se
1997 – på riktigt! William Sandqvist

6 William Sandqvist william@kth.se
Faber’s Euphonia Joseph Faber 1845 Under 1830-talet konstruerade en tysk immigrant den "talande maskinen Euphonia". Maskinen "spelades" med ett klaviatur (som en orgel). Efter tio års arbete med att att förfina det mekaniska instru-mentet så lät många av de talade orden och meningarna bra (med en tränad operatör vid tangenterna). Tyvärr väckte maskinen inget större intresse hos allmänheten, trots att den även kunde sjunga "God Save the Queen" (1846). William Sandqvist

7 William Sandqvist william@kth.se
the "Voder" (Bell labs 1939) Homer Dudley, elektronik i stället för mekanik voice coder machine Under 1930-talet började mekaniken att ersättas med elektronik i talmaskinerna. Vodern var den första elektriska talsyntesmaskinen. Den bestod av en brusgenerator och en tongenerator och 10 inkopplingsbara resonanskretsar. Vodern demonstrerades av en tränad operatör vid världsutställningen i New York 1939. Även om det krävdes relativt lång träning (ett år eller mer) för att hantera instrumentet så kunde operatörerna "spela" på maskinen och producera begripligt tal. William Sandqvist

8 KTH professorn Gunnar Fant, Svensk talforskningspionjär
Talsyntes är ett internationellt forskningsområde. Även om mycket är gemensamt för alla talade språk, så är det ju ändå mycket mer som skiljer dem åt. Om man vill att det ska finnas svenskt syntetiskt tal, så behövs det svensk forskning om talsyntes. Gunnar Fant som var verksam vid KTH är den som startat och byggt upp forskningen om tal och talsyntes i sverige. Bilden visar den elektroniska talsyntesmaskinen "Ove" från som fanns i olika "generationer" från 1953 och framåt. Talmaskinen manövrerades med en hand över ett "koordinatbord". OVE 1953 William Sandqvist

9 Elektronisk modell av luftstrupen
Modell av luftstrupen med elektriska filter, 1959. William Sandqvist

10 William Sandqvist william@kth.se
Talsyntes med dator Från och med 1970-talet har datorerna varit så utvecklade att all talsyntesforskning därefter utgått från att använda datorn som verktyg för att tala och förstå tal. Datorerna gjorde talsyntesen praktiskt användbar, och många program som översatte från text till tal utvecklades. Tekniken fick kommersiell användning. Det mest kända exemplet är programvaran DECTalk som används till en rad handikapphjälpmedel. Kanske har Du hört Steven Hawkins använda DECTalk? William Sandqvist

11 William Sandqvist william@kth.se
SP0256 chippet 1980 Chippet SP0256 är från Data General / General Instruments / Microchip. Kring 1980 introducerades billiga talsynteskretsar, sk. speech-chips. SP0256 från Data Instruments användes i hobbydatorer och i TV-spel. Kretsen kunde uttala alla engelska fonem (vokaler och konsonanter) med några olika varianter (s.k.allofoner) totalt 59 st. Därigenom kunde den säga allt som kan sägas på det engelska språket. Chippet SP0256 har slutat tillverkas för länge sedan, och har numera "kultstatus" och betingar därmed ett högt pris vid internetauktioner. William Sandqvist

12 Användbart om Du vill ringa hem …
När man är vilse och inte riktigt vet hur man gör, eller hur man ska ställa frågan för att få lite hjälp ... Som Du förstår så var användnings-områdena för tal-chippen inte så många som ingenjörerna trodde, så produkterna försvann fort … William Sandqvist

13 General Instruments  Microchip
1980 tillverkade General Instruments SP0256 Intellivoice, en en-chips text-till-tal generator, och även de berömda ljudkretsarna AY /11/12, som användes till arkadspel världen över. Intellivision 1980 med totalt 125 spel. 1 miljon sålda. Medan tal och ljudkretsarna idag upplevs som ”pinsamt” föråldrade, hade General Instrumets också en ”udda” mikroprocessor med namnet PIC 1987 bytte bolaget namn till Microchip, och idag är ju PIC-processorerna de mest använda 8-bitars processorerna av alla ... William Sandqvist

14 Varför låter talchippen så dåligt?
Skriftspråkets bokstäver motsvaras av talspråkets fonem. Vi är alla bekanta med denna princip eftersom vi försökt lära oss att läsa genom att "ljuda" orden. Om man "ljudar" hör man "på ett ungefär" hur ordet låter och kan då gissa vad som står. Sambandet mellan bokstäverna och fonemen finns således, men detta är långt ifrån hela sanningen om talet! Allofonteorin säger att ett fonem har alternativa uttal beroende på var i ordet det står (tex. i början, i mitten eller på slutet). Att det skulle räcka med 59 allofoner för att tala engelska är dock önsketänkande, i varje fall om man vill att det ska låta naturligt! Denna sanning valde man att ”blunda för” på 1980-talet, eftersom dåtidens kretsteknologier ändå inte kunde räcka till så mycket mer. William Sandqvist

15 William Sandqvist william@kth.se
Talsyntes idag Vill man göra en syntesröst idag, spelar man in difoner vilket är fonemen två och två. Teoretisk finns det i svenska språket 43*43 = 1849 vanliga difoner ( alla kombinationer av före och efter varandra ) + 86 fonem-paus kombinationer. En del kombinationer kan uteslutas men ändå återstår c:a 1658 st. En inspelning kan gå till så att man sitter vid datorn med ett headset och säger efter "nonsensord". Inspelningen tar c:a 20 minuter och den som är intresserad kan läsa om hela processen i talforskaren Adina Svenssons D-uppsats "Ofelia - kvinnlig syntesröst med sydsvensk dialekt". MBROLA-projektet försöker samla och dokumentera syntesröster från hela världen, och här kan man lyssna på resultatet av Adina Svenssons syntesröst "sw2 female voice” . Acapela Text To Speech demo William Sandqvist

16

17 Skall vi låta SP0256 återuppstå?
Bara för skoj skull … Men det kommer inte att låta bättre nu än vad det gjorde 1980! William Sandqvist

18 William Sandqvist william@kth.se
SP0256 Reverse Engineered? Reverse Engineered by Joe Zbiciak and Frank Palazzolo SP0256 innehåller en 4-bits sequencer och ett styrbart 12-poligt digitalt filter. William Sandqvist

19 William Sandqvist william@kth.se
Det är enklare att spela in de 59 ljuden än att bygga det styrbara digitalfiltret! Den som idag vill återskapa SP0256 kan spela in de 59 ljuden i ett minne hellre än att bygga en kopia av den mycket komplexa orginalkretsen! ( Man måste förstås ha ett gammalt SP0256-chip att utgå ifrån ). William Sandqvist

20 William Sandqvist william@kth.se
SP0256 har 64 allofoner Vilken tur att det engelska språket bara har 26 = 64 allofoner … eller hur var det nu med den saken … William Sandqvist

21 William Sandqvist william@kth.se
Allofonerna 1…127…255 motsvarar –2,5…0…+2,5 V. Alla ”inspelningar” slutar med ”0”. Totalt finns det 11 sekunder ljud i minnet. oy.wav gg2.wav Längst är nr 5 OY som i vOIce Kortast är nr 61 GG2 som i Got William Sandqvist

22 William Sandqvist william@kth.se
Kursgåvan "We speak not only to be heard but to be understood" Ett minne med engelska språkets 64 allofoner … PICKit2 starterkit med ”extraminne” gör att SP0256 återuppstår! De kursdeltagare som genomför hela kursen i tid, får ett serieminne med posten. William Sandqvist

23 William Sandqvist william@kth.se
24LC kByte I2C-minne I2C bussen har två ledningar, SCL och SCA. Figuren visar de två unika kombinationerna som genererar start och stop. William Sandqvist

24 Läsa allofonerna från minnet
Först anger vi en 16 bitars start-adress i minnet (28 bitar) till den önskade allofonen. Därefter läser vi ”automatiskt” Byte efter Byte tills vi stöter på den som innehåller ”0”. Då stoppar vi. William Sandqvist

25 William Sandqvist william@kth.se
BitBanging I2C I2C-kommunikation med BitBanging brukar vara svårt. Chanserna till misstag är tyvärr många. Ett tack till SparcFun som bjuder på färdiggråten lök för Cc5x-kompilatorn … SparkFun I2C fun PICTalk I2C-funktioner: void ack_polling(void); void start(void); void stop(void); char read_byte(void); void send_byte(char); char read_eeprom(char, char); void write_eeprom(char, char, char); William Sandqvist

26 William Sandqvist william@kth.se
PICTalk Interrupt var 8:e PWM-puls pictalk690.c William Sandqvist

27 William Sandqvist william@kth.se
PICTalk Samplingsfrekvens 7200 Hz. Åtta PWM-pulser per sample ger PWM-frekvensen fPWM = Hz  PIC-processorn måste överklockas! 14,7456 MHz ger naturtrog-en återgivning. William Sandqvist

28 Från text till allofoner?
har ett program som omvandlar mellan text och motsvarande SP0256 allofoner. Programmet använder datorns ljudkort för att visa hur det kommer att låta. ChipTalkSetup.exe På kurswebben finns sedan ett Java-script som gör om mellan SP0256 kod och Cc5x-kod. William Sandqvist

29 William Sandqvist william@kth.se
Från SP0256 till Cc5x-kod Ett Javascript på kurswebben hjälper dig med konverteringen till Cc5x-kod. William Sandqvist

30 Programmera I2C-minnen med PICKit 2
Read, Write, Verify, Erase, Blank Check Under File-menyn kan man ladda och spara filer i Hex-format, men nu även i Bin -format. Import Hex/Bin och Export Hex/BIN. Man kan nu Read, Write, Verify, Erase, eller göra Blank Check med minnet. William Sandqvist

31 Programmera I2C-minne med PICKit 2
Enklare redigering Ska minnet innehålla textsträngar ställer man in visningen på Byte ASCII. Minnesinnehållet tolkat som text syns då i högra halvan av fönstret. Har man tillgång till en ASCII-tabell skulle man kunna redigera texten Byte för Byte genom att skriva in ASCII-koden hexadecimalt. William Sandqvist

32 I2C-minnen är ett vanligt komplement till PIC-processorer
Till exempel så har SmartCard inbyggda I2C-minnen. Där förvaras SmartCardets krypteringsnycklar och dylikt. Andra användningsområden är för funktionstabeller. Att slå i en tabell går mycket snabbare för en PIC-processor än att göra beräkningar. William Sandqvist

33 William Sandqvist william@kth.se
Nu är det er tur! Några exempel på vad andra gjort med SP0256: Sifferdemo ”My name is Emilie”  Talking Clock skapa musik med SP0256 Varning köp inte defekta chip gå kursen IL131V i stället William Sandqvist

34


Ladda ner ppt "Drömmen om den talande maskinen"

Liknande presentationer


Google-annonser