Pörisevä tietokone. morsetusta äänikortilla ja mikrofonilla



Samankaltaiset tiedostot
Python-ohjelmointi Harjoitus 5

ELOKUVATYÖKALUN KÄYTTÖ ANIMAATION LEIKKAAMISESSA. Kun aloitetaan uusi projekti, on se ensimmäisenä syytä tallentaa.

Opus SMS tekstiviestipalvelu

Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi.

Selkosanakirja sdfghjklöäzxcvbnmqwertyuiopåasdfghjklöäzxcvbnmq. Tietokoneet. wertyuiopåasdfghjklöäzxcvbnmqwertyuiopåasdfghjk 1.4.

Järjestelmän asetukset. Asetustiedostojen muokkaaminen. Pääkäyttäjä eli root. Järjestelmänhallinnan työkalut

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Datatähti alkukilpailu

Simulaattorin asennus- ja käyttöohje

Cubase perusteet pähkinänkuoressa. Mikä Cubase on? Projektin aloitus

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA

Liikennevalot. Arduino toimii laitteen aivoina. Arduinokortti on kuin pieni tietokone, johon voit ohjelmoida toimintoja.

Laskuharjoitus 2 ( ): Tehtävien vastauksia

Luento 5. Timo Savola. 28. huhtikuuta 2006

Osaamispassin luominen Google Sites palveluun

MINI-DISK. 1. MINI-DISK levykkeen asentaminen levyke-asemaan

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta.

Hyvän salasanan tunnusmerkit Hyökkääjästä salasanan pitää näyttää satunnaiselta merkkijonolta. Hyvän salasanan luominen: Luo mahdollisimman pitkä

Marantz PMD661. Äänittäminen

Skype for Business ohje

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta Toteuta Pythonilla seuraava ohjelma:

Tiedostonhallinta. Yleistä

CABAS. Release Notes 5.4. Uusi kuvien ja dokumenttien käsittely

idvd 5 ELOKUVAKASVATUS SODANKYLÄSSÄ Vasantie Sodankylä +358 (0) tommi.nevala@sodankyla.fi

Punomo Blogit BLOGIN LUOMINEN WORDPRESS-ALUSTALLA. Kirjaudu -palveluun osoitteessa tunnuksellasi.

Ubuntu tunkkausta En US / Helsinki asennuksen jälkeen jotta loki5ac toimisi oikein Winen päällä.

Skype for Business ohjelman asennus- ja käyttöohje Sisällys

Python-ohjelmointi Harjoitus 2

AdobeConnect peruskäyttövinkkejä

Luento 4. Timo Savola. 21. huhtikuuta 2006

Ohjeita kirjan tekemiseen

Google-dokumentit. Opetusteknologiakeskus Mediamylly

Matlab-tietokoneharjoitus

Sonera Viestintäpalvelu VIP VIP Laajennettu raportointi Ohje

Tekstinkäsittelyn jatko KSAO Liiketalous 1

6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.)

Datatähti 2019 loppu

Opintokohteiden muokkaus

Konsolin näytössä näkyy käytettäessä ohjaavia viestejä, joita kannattaa tämän ohjeen lisäksi seurata.

Radioamatöörikurssi 2016

Audacity-äänenkäsittelyohjelman pikakäyttöohje

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Johdatus Ohjelmointiin

LP-levyn digitointi Audacity-ohjelmalla

LP-levyn digitointi Audacity-ohjelmalla

ONSCREENKEYS 5. Windows XP / Windows Vista / Windows 7 / Windows 8

4. Lausekielinen ohjelmointi 4.1

Sametime verkkoneuvottelu Puheenjohtajana tapaamisessa

Tietotekniikan valintakoe

Ohje Viestit Kansalainen

Tero Mononen / Kumppanuuskampus

Ensikosketus ohjelmointiin

TIE Principles of Programming Languages. Seminaariesityksen essee. Ryhmä 18: Heidi Vulli, Joni Heikkilä

Audacity moniste

4. Lausekielinen ohjelmointi 4.1

MITEN KIRJAUDUN ADOBE CONNECTIIN?

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

Teams-ohjelman asennus- ja käyttöohje vertaisohjaajille

Ohjeita uuden Sikavan käyttöön lääkekirjanpidossa

Toinen harjoitustyö. ASCII-grafiikkaa

Mitä on konvoluutio? Tutustu kuvankäsittelyyn

1 PIKAOHJE SELAA AIKOJA PALAUTE AJANVARAUS VARAUKSEN TARKASTELU VAHVISTA LÄHTÖÖN OSALLISTUMINEN...

Ryhmänkerääjän ABC - pidä ryhmäsi ilmoittautumiset ja huonejako kätevästi hallussa

(d) 29 4 (mod 7) (e) ( ) 49 (mod 10) (f) (mod 9)

VERKKOVELHO-YLLÄPITOTYÖKALUN KÄYTTÖOHJE

2 Konekieli, aliohjelmat, keskeytykset

ELOKUVAKASVATUS SODANKYLÄSSÄ FINAL CUT EXPRESS HD OSA 2: SIIRTYMÄT, TEHOSTEET, KUVAMANIPULAATIO 1. RENDERÖINTI

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen

Novell Messenger Mobile -aloitusopas

Jos haluat viestittää ja toimia aktiivisesti internetissä, tarvitset sähköpostiosoitteen. Sähköpostiosoitteen hankkiminen on maksutonta.

Vakuutusmeklarin ja Finanssivalvonnan välinen suojattu sähköpostiyhteys

Laskuharjoitus 9, tehtävä 6

OKLV120 Demo 7. Marika Peltonen

Tavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja.

Moodle-oppimisympäristö

Uuden Peda.netin käyttöönotto

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

Microsoft Outlook Web Access. Pikaohje sähköpostin peruskäyttöön

Webforum. Version 15.1 uudet ominaisuudet. Päivitetty:

Kauko-ohjauslaite GSM rele 2011 v

Merkkijono on palindromi, jos se säilyy samana, vaikka sen kääntää väärinpäin.

Tarvikkeet: A5-kokoisia papereita, valmiiksi piirrettyjä yksinkertaisia kuvioita, kyniä

AutoFutur ja KoneFutur. Asiakastyytyväisyyskysely- palvelu. Käyttöohje

OHJE EXCEL-MAKRON LUOMISEKSI JA MAKRON KÄYTÖSTÄ

LINUX-HARJOITUS, MYSQL

Selainsähköposti Zimbran käyttöohje

Lupa opetuskäyttöön pyydettävä. Näppäimistö. Kohdistimen ohjausnäppäimistö. Funktionäppäimistö. Kirjoitusnäppäimistö

Kojemeteorologia. Sami Haapanala syksy Fysiikan laitos, Ilmakehätieteiden osasto

ETÄPALVELU. HALTIK Videoportaali - osallistujan ohje

Käyttöohje Contact WP Poca

Symbol for Windows Gold. Tekstintekijä. Modemo 2010, UK Handicom 2010, The Netherlands

Nettiposti. Nettiposti käyttöohje

VERKKOLUOKAN TEKNISET ONGELMAT

S Laskennallinen Neurotiede

Mono- ja stereoääni Stereoääni

Paikantavan turvapuhelimen käyttöohje

Raspin Geany-IDE:n etäkäyttö

Moottorin kierrosnopeus Tämän harjoituksen jälkeen:

Transkriptio:

Pörisevä tietokone morsetusta äänikortilla ja mikrofonilla 1

Tiivistelmä Idea toteuttaa seuraavat vaatimukset: 1. kommunikointi toisen opiskelijan kanssa (morsetus) 2. toisen opiskelijan häirintä (keskittymistä häiritsevä ääni) Kommunikointi tapahtuu tuottamalla tietokoneesta ääntä, johon on koodattu sanoma. Viesti vastaanotetaan tietokoneen mikrofonilla. Kantoaallon taajuus voidaan säätää ihmisen kuulokynnyksen ylä- tai alapuolelle, tai naamioida esimerkiksi napin painalluksiksi tai tuulettimen vikinäksi. Häirintä tapahtuu tuottamalla korkeataajuista vikinää, joka aiheuttaa oaslle ihmisistä pahoinvointia ja keskittymishäiriöitä. Kommunikointi ja häirinrtä perustuu Advanced linux sound architecture - komentojen sallimiseen peruskäyttäjillä (komennot aplay ja arecord), sekä Python-ohjelmointikieleen, jolla voidaan kirjoittaa noin 20 riviä pitkä kommunikointiohjelma. Tämä on ohjelmointitaitoiselle helppoa. Menetelmän kuvaus Viestien lähetys Lähetys perustuu komentoon aplay noise.raw jossa noise.raw sisältää lähetettävän viestin. Tämä komento toimii virtualboxissa ajettavalla Digabi-levykuvalla. Komentoa ajettaessa kaiuttimista kuuluu noise.raw-tiedoston sisältö. Kuvassa 1 on ruutukaappaus tapahtumasta. 2

Kuva 1: Terminaali-ikkunassa noise.raw-tiedosto soitetaan äänikortissa. Viestien luominen Kuva 2 esittää yksinkertaisen Python-ohjelman viestien luomiseen, joka voidaan ajaa Digabi-ympäristössä. Siinä This is a test lause koodataan luvuiksi (int) kirjain kirjaimelta kohdassa 10*ord(t), missä t on yksi kirjain. Sisemmät for loopit luovat lukua vastaavan jakson, jossa on sekä kohina että hiljainen osuus. Lauseen koodaaminen tuottaa pätkittäistä kohinaa sisältävän audio-raidan, jonka jaksojen pituuksista voidaan määrittää koodatut kirjaimet yksikäsitteisesti. 3

Kuva 2: Ruutukaappaus havainnollistaa noise.raw-tiedoston luomisen Digabi Nanoeditorissa. Viestien vastaanottaminen Viestejä vastaanotetaan komennolla arecord t raw d 10 > noise2.raw joka tallentaa tiedoston raw-muodossa. Parametri -d 10 on äänityksen kesto ja noise2.raw on tiedoston nimi. Komento tallentaa tietokoneen mikrofoniin tulevan äänen tiedostoon. Komennon saa myös tulostamaan äänen standard out:iin, jolloin Pythonin subprocess-komennolla mikrofonia voidaan tarkkailla reaaliaikaisesti. 4

Viestien purkaminen Viestien purkaminen tehdään periaatteessa samalla tavalla kuin niiden luominen. Pythonin struct-moduuli sisältää unpack funktion, jolla binääridatasta saadaan floateja. Kuvat 3 ja 4 esittävät ruutukaappauksia Digabin Audacity-ohjelmasta. Kuvista selviää viestien purun periaate. Kuvassa 3 (ylempi sininen murtoviiva) on lähetetty tiedosto noise.raw. Sen alla on vastaanotettu tiedosto. Punaiset neliöt osoittavat esimerkin toisiaan vastaavista purskeista. Vastaanotettu viesti voidaan purkaa tarkastelemalla purskeiden pituutta. Kuva 3: Kuvakaappaus Audacity-ohjelmasta esittää lähetetyn signaalin (ylempi) ja vastaanotetun signaalin (alempi). Punainen neliö sisältää välilyönnin ennen sanaa "is" lauseessa "This is a test." Kuvassa 4 vasemmalla mitataan S -kirjaimen pituudeksi 54 ms. Oikealla I -kirjaimen pituudeksi on saatu 48 ms. Käyttämällä mittaamiseen ohjelmointikieltä kirjainten erottelutarkkuutta voidaan parantaa alle millisekuntiin. Toinen tapa parantaa erottelutarkkuutta on venyttää pulsseja viestiä luotaessa. Esimerkiksi kuvan 2 koodissa 10*ord(t) korvataan komennolla 100*ord(t). 5

Kuva 4: Purskeiden pituus voidaan mitata nauhoitetusta signaalista Audacity-ohjelmalla. "S" -kirjaimen pituudeksi on mitattu 54 ms (vasemmalla) ja "I" -kirjaimelle 48 ms. Häirintä Kokelas voi luoda kuuloalueen reunalla olevaa korkea- tai matalataajuuista ininää muuttamalla kohinan halutulle taajuudelle esimerkiksi Pythonin sintai cos-funktion avulla. Näin hän voi häiritä naapureita ja signaalin paikantaminen on vaikeaa. Estäminen Tässä dokumentissa esitetyn kommunikoinnin voi estää poistamalla kaikki käyttäjän oikeudet /dev- ja /proc-kansioista. Toisin sanoen, käyttäjällä ei saa olla oikeuksia lisälaitteisiin tai sarjaportteihin. Tämä estää myös vaihtoehtoiset vilkkuva ruutu videokamera, ir-lähetin-vastaanotin, sarjaportti, yms viritykset. Lisäksi terminaalin (myös alt+ctrl+f1), ohjelmointikielien (Python, shell script, awk, yms.) ja tekstieditorien (vi, nano, gedit, ) poistamien tekee koodaamisesta erittäin vaikeaa. Häirinnän estäminen on helppoa: poistetaan kaikki audiokomennot ja varmuuden vuoksi myös kaikki ruudun valoisuutta säätelevät komennot. Yhteenveto Tässä dokumentissa on esitetty periaate, jolla kokelaat voivat keskustella keskenään ja häiritä toisia kokelaita. Esitettyä kommunikointitapaa voidaan muokata hienostuneemmaksi esimerkiksi seuraavin muutoksin: 1. Kantoaalto kuuloalueen ulkopuolelle 2. Napinpainalluksen nauhoittaminen kantoaalloksi 3. Automaattinen salauksen purku (subprocess(arecord) -> algoritmi - > kirjain) joka pyörii koko ajan taustaprosessina 6

Nämä muutokset pienentävät kiinnijäämisen riskiä. Internetistä voi ostaa 10 eurolla radiotaajuudella toimivia lähetin-vastaanotinpareja. Jos omat läppärit ovat sallittuja, kokelas voi helposti kolvata laitteen pc-speakeriin ja mikrofoniin. Kommunikointi on aina periaattessa mahdollista, jos ohjelmallinen pääsy I/O-laitteisiin sallitaan. 7