User:Ioanatomici/LFP: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
Line 154: Line 154:
=== MODULAR LINGUISTICS ===
=== MODULAR LINGUISTICS ===


Modular Linguistics root_module_demo
Modular Linguistics root_module_demo  
 
{{youtube|rhY8CP8mpLE}}
{{youtube|rhY8CP8mpLE}}


Modular Linguistics prefix_module_demo
Modular Linguistics prefix_module_demo
{{youtube|vxPEvJYCMeQ}}
{{youtube|vxPEvJYCMeQ}}


=== PADS ===
=== PADS ===

Revision as of 22:40, 19 April 2020

LOW FREQUENCY PUBLICATION

Module

Meergranen v1.0

Build tutorial courtesy of Dennis De Bell

Build tutorial courtesy of Dennis De Bell

Speech Synthesis

Speech synthesis technologies are based on various types of data

Talkie v1.0.1 Library

It is a software implementation of the Texas Instruments speech synthesis architecture (Linear Predictive Coding) from the late 1970s / early 1980s, as used on  ::: several popular applications:
- Texas Instruments Speak & Spell family of educational products
- Texas Instruments TI-99/4A Speech System expansion
- Acorn BBC Micro Speech Synthesiser expansion
- Atari arcade games (eg. Star Wars series, Indiana Jones, Gauntlet)
- Apple ][ Echo 2
- IBM PS/2 Speech Adapter
Talkie comes with over 1000 words of speech data that can be included in your projects. Most words only take a fraction of a KB, so you can add plenty.

<Source Talkie Github>

Hexadecimal Numeral System

The Talkie Library uses strings of hexadecimal (hex) values in order to map and output sound.

One word, three ways:

ZERO (natural language)

or

0 (numeric value)

or

0x69, 0xFB, 0x59, 0xDD, 0x51, 0xD5, 0xD7, 0xB5, 0x6F, 0x0A, 0x78, 0xC0, 0x52, 0x01, 0x0F, 0x50, 0xAC, 0xF6, 0xA8, 0x16, 0x15,
0xF2, 0x7B, 0xEA, 0x19, 0x47, 0xD0, 0x64, 0xEB, 0xAD, 0x76, 0xB5, 0xEB, 0xD1, 0x96, 0x24, 0x6E, 0x62, 0x6D, 0x5B, 0x1F, 0x0A, 0xA7,
0xB9, 0xC5, 0xAB, 0xFD, 0x1A, 0x62, 0xF0, 0xF0, 0xE2, 0x6C, 0x73, 0x1C, 0x73, 0x52, 0x1D, 0x19, 0x94, 0x6F, 0xCE, 0x7D, 0xED, 0x6B,
0xD9, 0x82, 0xDC, 0x48, 0xC7, 0x2E, 0x71, 0x8B, 0xBB, 0xDF, 0xFF, 0x1F (phonetic hex equivalent)

Uploading your own samples:

  1. produce an audio file (in this case a recording)
  2. export to .wav, 16bit, 8000 kHz (Audacity helps)
  3. download Blue Wizard and import your converted sample (download here)
  4. Blue Wizard will output a string of hex values (check screenshot)

tick all the boxes except "raw excitation filter"

  1. the resulting hex values can be pasted into your arduino sketch as part of PROGMEM data storage

Check the example below ↓

I_HEAR_SOUNDS_BUT_I_SEE_NUMBERS.ino

 // Talkie library 
// Copyright 2011 Peter Knight
// Adafruit library modified by Jean-Luc Deladrière
// This code is released under GPLv2 license.

/*
 * Pot1 & CV in1 : Reset the counter
 * Pot2 & CV in2 : Change the Pitch
 * Pot3 & CV in3 : Change the Speed
 * 
 *  CV in3  : Trigger the speech
 */

#include "talkie.h"

Talkie voice;

const uint8_t spI[]             PROGMEM = {0xAA,0x8D,0x63,0xA8,0xAA,0x66,0xAD,0xB9,0xA8,0xCB,0x08,0xDD,0x7C,0xFB,0x5B,0xDF,0xFA,
0x36,0xB7,0x39,0x6D,0xB5,0xA3,0x15,0xBA,0xF8,0x76,0xBB,0xDF,0xD3,0x9E,0xD7,0xDA,0x5C,0x49,0xA5,0x2D,0xDE,0x7B,0xDB,0x6B,0x76,0x29,
0xAF,0xC7,0x6D,0xEF,0x31,0xD8,0x5C,0x1E,0xF7,0xBD,0x1E,0xF5,0x48,0xE7,0x28,0x89,0xE2,0xF2,0x38,0x5F,0xF9,0xFE,0x7F};
const uint8_t spHEAR[]          PROGMEM = {0x20,0x80,0x35,0xb2,0x0c,0xb0,0x5a,0x75,0x8a,0xab,0x20,0xb1,0xa9,0x36,0x29,0xc9,0x92,0xac,
0xa7,0x1a,0x87,0x34,0x29,0xf4,0x99,0xaa,0x13,0xd2,0xa4,0x30,0xba,0xab,0x49,0xc8,0xb3,0xc6,0xe8,0xee,0x3a,0xa1,0xa8,0x0e,0x3c,0xaa,0xeb,
0xb8,0xba,0x38,0xf4,0xcc,0x1a,0xec,0x8e,0x5a,0x59,0xd4,0xfc,0x8c,0xe9,0xeb,0x44,0x67,0xcd,0x69,0x6a,0x28,0x03,0x42,0x3c,0xe6,0x88,0xa0,
0x2c,0x08,0x31,0x3f,0x23,0xe2,0x72,0x20,0xc9,0x62,0x2a,0x89,0xcb,0x82,0x64,0x8f,0x23,0x24,0xaa,0x07,0x82,0xd5,0xce,0xa2,0xb8,0x0c,0x70,
0x32,0x9f,0x8a,0xf6,0x7a,0x39,0x41,0x34,0x2e};
const uint8_t spSOUNDS[]        PROGMEM = {0x0c,0x58,0xfa,0x8a,0x01,0xcb,0x4c,0x0a,0x60,0x99,0x2d,0xa7,0x0c,0x55,0x62,0x12,0x73,0x43,
0x15,0x1d,0xb9,0x77,0xd3,0x09,0x55,0x0a,0x94,0xbe,0x4e,0x2b,0xd4,0x39,0x43,0x45,0xba,0xa3,0x50,0x97,0x0e,0xa1,0xee,0x49,0x5c,0x5d,0x3a,
0xa4,0x9a,0xa7,0x76,0x75,0xca,0x68,0x1e,0xe1,0xc4,0x35,0x29,0x93,0x6a,0xa6,0x13,0xd3,0xa5,0x8a,0xaa,0x19,0x4e,0xcc,0xe0,0x33,0x69,0x85,
0xc5,0x35,0x63,0x88,0xac,0xe1,0x16,0x55,0x4d,0x21,0xb2,0x65,0x58,0x34,0x33,0xc5,0x88,0x61,0xe9,0x4a,0xd4,0x1c,0x3d,0xba,0xae,0x27,0x16,
0x73,0xf4,0x68,0xf2,0x91,0x58,0x2c,0xde,0x61,0xd8,0x79,0x2d,0xb6,0x58,0x47,0x69,0x6f,0x55,0xd8,0x62,0x3c,0x96,0x4f,0xab,0x12,0xab,0x67,
0x45,0xd9,0x55,0x9b,0x01,0x8b,0xaa,0x32,0xe0,0x59,0x73,0x02,0x7c,0x5b,0x4d,0x80,0xab,0x76,0x08,0xb0,0xd5,0x25,0x02,0x8e,0x9e,0x42,0xc0,
0x56,0x5b,0xf0}; //,0x80,0xab,0x76,0x08,0xb0,0xd5,0x25,0x02,0x8e,0x9e,0x42,0xc0,0x56,0x5b
const uint8_t spBUT[]           PROGMEM = {0x25,0x0f,0x3e,0xdc,0x47,0xad,0x94,0x22,0xb9,0x32,0x29,0x8b,0x96,0xf2,0xd8,0x9c,0xad,0x34,
0x6e,0xc8,0x62,0x33,0xc9,0x94,0xa8,0x21,0x8b,0x9d,0x3d,0xdd,0xe3,0x86,0x3c,0x4d,0xcc,0xf0,0x48,0x12,0xca,0xf2,0xc8,0xd3,0x3c,0x69,0xb8,
0xcb,0x16,0xb3,0x70,0x25,0x2c,0xac,0x93,0xdc,0xca,0x1d,0x3f};
const uint8_t spSEE[]           PROGMEM = {0x04,0xd8,0x6e,0x8a,0x01,0xd3,0x77,0x12,0x60,0xf9,0x29,0x02,0x6c,0x3f,0xa3,0x9c,0xe1,0x5b,
0x81,0xad,0x4d,0xc8,0xa2,0xa2,0x8a,0x9a,0xc4,0x29,0x8b,0x92,0xba,0x6b,0x92,0x86,0x3c,0x4a,0xea,0xae,0xb6,0x13,0xca,0xa4,0x30,0xab,0xda,
0x49,0x68,0xb3,0xc2,0xa8,0x6e,0x27,0x61,0x28,0x0a,0xb3,0xa7,0xec,0xb8,0x21,0x08,0xee,0xe9,0x94,0xec,0xc6,0x24,0x28,0x66,0xcb,0x8e,0x99,
0x22,0xe7,0xd8,0x2d,0x2b,0x6a,0x0a,0x9c,0x73,0x27,0x2d,0xb3,0xd9,0x32,0x9b,0xeb,0xb0,0x4c,0x96,0xc0,0xb9,0xb6,0x3d,0x36,0x7a,0x93,0x16,
0xd7,0xc8,0xda,0xf0}; 
const uint8_t spNUMBER[]        PROGMEM = {0x66,0xA9,0x12,0x72,0x42,0x9B,0x86,0xA5,0x1B,0x90,0x0E,0x6D,0x76,0xA6,0x26,0x2B,0xDC,0xA5,
0xCF,0x6D,0x4F,0x95,0x4D,0xA5,0xBB,0x6E,0x5E,0x45,0x31,0x5E,0x65,0x92,0x66,0x14,0x45,0xAA,0xB4,0x98,0x9D,0x5A,0x84,0x2A,0x18,0xF6,0x92,
0x74,0x43,0x3A,0xAD,0x5C,0x27,0xDD,0x6D,0x98,0xA3,0x09,0xF5,0x92,0xA4,0x65,0x4C,0x4D,0xA4,0x82,0x56,0x97,0x39,0x77,0xC7,0x68,0xF1,0x5D,
0xD6,0xDC,0x1D,0x63,0xD4,0x4F,0xBE,0xC3,0x9D,0x53,0x81,0x4E,0xF3,0x89,0x9F,0xFF,0xDC,0x5F,0x66,0x92,0xB5,0x7A,0xFE,0x7F};


int count=0;
int reset1;
int preset1 = analogRead(1);
int reset2;
int preset2 =0;


void setup() {

}



  void loop() {

voice.say(spI);
voice.say(spHEAR);
voice.say(spSOUNDS);
voice.say(spBUT);
voice.say(spI);
voice.say(spSEE);
voice.say(spNUMBER);
}


Talking Heads

(jump to 39:00)

Error in widget YouTube: unable to write file /data/www/wdka.nl/pzwiki.wdka.nl/mw-mediadesign/extensions/Widgets/compiled_templates/wrt673fdb052a3555_05372603
Error in widget YouTube: unable to write file /data/www/wdka.nl/pzwiki.wdka.nl/mw-mediadesign/extensions/Widgets/compiled_templates/wrt673fdb059c4155_69496542


[~]Thomas L. Hankins, Robert J. Silverman "Vox Mechanica: The History of the Speaking Machine" in Instruments and the Imagination, Princeton University Press, 1995, 178-220

  • talking heads, disembodied voices, speaking machines
  • reproducing the anatomy of vocal organs or reproducing the sound of speech
  • pre-electronic primary use for speaking machines: delivering a speech to a public (amplification, accessibility)
  • fake talking heads and statues in ancient Greece
  • supernatural associations being made with talking objects - animism/mysticism

(jump to 2:55)

Error in widget YouTube: unable to write file /data/www/wdka.nl/pzwiki.wdka.nl/mw-mediadesign/extensions/Widgets/compiled_templates/wrt673fdb059d5941_41380304
Error in widget YouTube: unable to write file /data/www/wdka.nl/pzwiki.wdka.nl/mw-mediadesign/extensions/Widgets/compiled_templates/wrt673fdb059eb110_37457103
Error in widget YouTube: unable to write file /data/www/wdka.nl/pzwiki.wdka.nl/mw-mediadesign/extensions/Widgets/compiled_templates/wrt673fdb05c96c83_42115957

MODULAR LINGUISTICS

Modular Linguistics root_module_demo

Error in widget YouTube: unable to write file /data/www/wdka.nl/pzwiki.wdka.nl/mw-mediadesign/extensions/Widgets/compiled_templates/wrt673fdb05cadc10_42529668

Modular Linguistics prefix_module_demo

Error in widget YouTube: unable to write file /data/www/wdka.nl/pzwiki.wdka.nl/mw-mediadesign/extensions/Widgets/compiled_templates/wrt673fdb05cc45d2_74744964

PADS

https://pad.xpub.nl/p/olliworkshop

https://pad.xpub.nl/p/olliworkshop2

https://pad.xpub.nl/p/conceptual

https://pad.xpub.nl/p/modules