Det Talende Kort

Her er lidt seriøs underholdning til sommeren. 

Kender du den situation hvor man kører i bil og undrer sig over hvad det nu er man passerer? Og glemmer at slå det op når man er hjemme igen? Og ærgrer sig næste gang man passerer samme sted. Eller også er man slet ikke klar over hvilke spændende ting man passerer. Det kan du nu råde bod på.

Vi har lavet noget som måske er lidt ude over det sædvanlige for en lokalhistorisk forening. Det er digital formidling på en ny måde – for at formidle vores mange indlæg på vores portal. Prøv det, gå på opdagelse i Roskilde og døm selv. 

Vi har lavet et “Talende Kort”, som fortæller om kunstværker i det offentlige rum her i Roskilde og omegn. Som fortæller når man er ved at passere dem.

Og også om andre interessante og lokale steder, som vi gerne vil gøre opmærksom på. 

Og på flere sprog.

Kortet er et af de mange digitale værktøjer og udtryksformer der er til rådighed på vores portal. 

Stederne kalder vi POI (POI – Point of Interest)

Hvis man skal ud at gå eller cykle eller køre bil i Roskilde og omegn, kan man få oplysninger om disse POIs læst op undervejs. 

Derefter tryk på “Start” – og så kører vi! Der vises nu en blå plet med en ring omkring. Det er telefonens aktuelle position. 

Så kan man putte telefonen i lommen (hvis man har hørebøffer) og lytter på de POIs der kommer indenfor rækkevidde. 

Man kan også lade være med at trykke “Start” og blot få oplæst de steder man lige vil checke ud.

De enkelte POIs har en “Læs mere” funktion, som linker til mere detaljeret beskrivelse. Ofte til indlæg på vores portal.

Beskrivelse og virkemåde af Kortet (index.html)

Dette er systemets “ansigt udadtil”. Det er her, brugerne oplever ruterne.

Kernefunktioner:

  • GPS-Tracking & Autosnap: Når brugeren trykker “Start”, finder telefonen brugerens lokation. Kortet tegner et spor af ruten og holder automatisk øje med afstanden til nærmeste POI.
  • Automatisk Oplæsning (TTS): Når brugeren kommer inden for aktiveringsafstanden (standard 100 meter), popper stedets historie op og læses højt via telefonens indbyggede stemme-assistent.
  • Live Oversættelse: Kortet kan oversætte al tekst og tale til 6 forskellige sprog på farten ved hjælp af Google Translate-integration.
  • Kort/Liste-visning: Brugere kan skifte mellem et visuelt kort og en sorterbar liste-visning, som er let at søge i.
  • Filtrering: Via “Indstillinger” kan man fritekstsøge eller filtrere på specifikke kategorier (fx Kunstværk eller Natur) og tags.
Lidt Mere Beskrivelse

Det er en såkaldt serverbaseret applikation og man skal ikke installere en app, men blot trykke på linket herunder..

Kortet er under fortsat udvikling og der vil hele tiden blive tilføjet nye ting. Og fejl vil blive rettet når de findes. Og vi vil meget gerne have jeres reaktioner.

“Det Talende Kort” er en interaktiv, lokationsbaseret formidlinsplatform skabt til at levendegøre historier, kunst og steder i og omkring Roskilde. Systemet lader brugerne udforske området via et digitalt kort eller en liste, hvor fortællinger automatisk læses højt, når brugeren fysisk nærmer sig et punkt (POI – Point of Interest).

Platformen er skræddersyet til at være flersproget og tilgængelig. Hele systemet er bygget op omkring tre primære værktøjer, som “taler” sammen via din webserver:

POI Forfatteren: Et visuelt kontrolpanel (CMS) til at redigere, slette og finpudse indholdet hjemmefra.

Hovedkortet: Den offentlige brugerflade for turister og borgere.

Foto Appen: Et mobilt værktøj til lynhurtig indsamling af data i marken.

Vedligeholdelse af POIs (editor.html)

“POI Forfatteren” er systemets “maskinrum” (CMS). Det bruges oftest fra en computer eller en tablet med en stor skærm.

Kernefunktioner:

Sikker Sletning: Hvis du sletter en POI via editoren, fjerner systemet ikke kun teksten fra din .json fil, det rydder også automatisk op på serveren og sletter det tilhørende billede i Fotos/-mappen.

Visuel Redigering: Du ser et oversigtskort, hvor du kan trække og slippe nåle for at rette deres GPS-koordinater. Den markør, du redigerer, lyser tydeligt rødt.

Fil-vælger & Filtrering: Du kan vælge, præcis hvilken datafil du vil redigere (f.eks. overføre rådata fra Fotos.json til hovedfilen data.json). Du kan også filtrere visningen for at få overblik over bestemte kategorier.

Hurtig Arbejdsgang: Med knappen “Gem & Næste” kan du lynhurtigt bladre gennem en hel række af punkter, rette stavefejl og gemme undervejs.

Opsætning af sprog på telefonen

Optimale opsætning af tale-til-tekst for Android og iPhone.

1. Optimal opsætning på Android

Android bruger som standard Googles tale-motor. Den kan nogle gange lyde lidt robotagtig, hvis ikke den er opdateret, eller hvis telefonen bruger producentens egen (f.eks. Samsungs) motor, som ofte er dårligere til dansk.

  • Vælg den rigtige motor: Gå til Indstillinger -> Generel styring -> Tekst-til-tale. Sørg for, at Speech Services by Google (eller Googles tekst-til-tale) er valgt som den foretrukne motor i stedet for f.eks. Samsung.
  • Hent den bedste sprogpakke: Klik på tandhjulet ved siden af Google-motoren -> Installer stemmedata -> Vælg Dansk. Her ligger der ofte 4-5 forskellige stemmer (Stemme I, II, III osv.). Brugeren bør lytte til dem og vælge den, der lyder mest naturlig (Googles nyere “kunstige intelligens”-stemmer lyder markant bedre end de gamle).
  • Hastighed: Sæt talehastigheden en anelse ned (omkring 0.95x eller 1.0x), da Androids standardhastighed godt kan føles lidt for forhastet på dansk.

2. Optimal opsætning på iPhone (iOS)

Apple har traditionelt set haft de mest naturlige danske stemmer (Siri-stemmerne), men som standard bruger systemet en meget robotagtig version (kaldet “Sara”), medmindre man manuelt opgraderer den.

  • Skift til den “udvidede” stemme: Gå til Indstillinger -> Tilgængelighed -> Oplæst indhold -> Stemmer -> Dansk.
  • Vælg Magnus eller Sara (Udvidet): Her vil du se stemmerne Magnus og Sara. Klik på dem og sørg for at downloade den version, der hedder Udvidet (Enhanced). Den fylder mere (ofte omkring 100-200 MB), men den bruger avancerede sprogmodeller, som gør, at udtalen af danske stednavne og tal lyder langt mere flydende og menneskelig.
  • Siri-stemmen: Hvis telefonen er opdateret, kan man også vælge Siri (Stemme 1) eller (Stemme 2) under samme menu. Det er de absolut bedste og mest levende stemmer på iOS.

Sammenligning af resultatet

EnhedBedste valg i indstillingerHvorfor det gør en forskel
AndroidSpeech Services by Google (Vælg en nyere ‘Stemme-variant’)Fjerner den metalliske “robot-lyd” og giver bedre tryk på danske ord.
iPhoneMagnus (Udvidet) eller Siri-stemmeGiver telefonen evnen til at betone sætninger rigtigt, så det ikke lyder som enkeltord, der er sat sammen.

Hvis en bruger oplever, at HTML-programmet taler grimt eller hakkende, er det næsten altid fordi de har telefonens fabriksstandard slået til, og her gør de to ovenstående guides en kæmpe forskel.

Systemarkitekturen

Systemet er bygget på en kombination af Frontend-teknologier (HTML/JS/CSS) og Backend-scripts (PHP) uden brug af en traditionel database (som MySQL). I stedet bruges JSON-filer (JavaScript Object Notation), hvilket gør systemet utroligt let, hurtigt og nemt at tage backup af.

Datastruktur (JSON)

Alle lokationer gemmes i det internationale standardformat GeoJSON. Hvert punkt har geometry (længde- og breddegrader) og properties (egenskaber som navn, beskrivelse, kategori, tags, billede_url). Editoren og Foto Appen ændrer udelukkende i disse tekstfiler.

Interaktion mellem filer:

  • Call.links: En simpel tekstfil (format: Titel;URL), der styrer menuen i toppen af kortet. Gør det muligt at opdatere eksterne links (fx til podcasten eller billedarkivet) uden at skulle kode i HTML.
  • PHP-Sikkerhedsnet: For at JavaScript kan gemme data og billeder permanent, bruges små “skraldemand”- og “postbud”-scripts:
    • upload_foto.php: Tager imod data fra tagfoto.html, opretter Fotos-mappen og skriver i Fotos.json.
    • save_poi.php: Tager imod rettelser fra editoren og overskriver den valgte JSON-fil.
    • delete_foto.php: Kaldes af editoren, lokaliserer og sletter de fysiske .jpg filer for at forhindre serveropbygning af ubrugte filer.
    • list_json.php: Scanner webhotellets hovedmappe for filer, der slutter på .json, og leverer listen til editoren.

Kort-motoren (Leaflet)

Systemet benytter Open-Source biblioteket Leaflet.js kombineret med OpenStreetMap kortfliser. Dette sikrer, at der ikke er nogen API-gebyrer for kortvisningen. Nålene på kortet styles dynamisk (via GitHub-hostede ikoner) baseret på det enkelte punkts kategori.

Oplæsningsmotoren (Web Speech API)

I stedet for at opbevare tunge og dyre lydfiler på webhotellet, benytter systemet den indbyggede “Tekst-til-tale” motor i brugerens smartphone. Koden analyserer brugerens valgte sprog, matcher det med telefonens installerede stemmepakker (f.eks. Google TTS på Android eller Siri på iOS), og tilpasser automatisk oplæsningshastighed og sprogtone.

Foto App (tagfoto.html)

Dette er dit feltværktøj. Appen åbnes på din telefon, når du står ude ved et nyt interessant sted, der skal med på kortet.

Kernefunktioner:

Direkte til JSON: Data (inklusive billede, navn og koordinater) skrives automatisk ind i en separat fil (Fotos.json), som er adskilt fra hovedkortet. Kategorien sættes altid til “Fotos”, og dine initialer gemmes som et “Tag”.

Kamera & Komprimering: Appen åbner telefonens kamera. For at spare plads på serveren og sikre hurtige indlæsningstider, komprimerer appen automatisk de store billeder fra telefonen ned til en web-venlig størrelse (max 1200px bredde, 70% JPEG-kvalitet) inden upload.

Smart Navngivning: Billeder gemmes på serveren under et unikt og sporbart navn, baseret på dine initialer og et præcist tidsstempel (f.eks. NJ.260627.1430.jpg).

Automatisk GPS-fangst: Appen aflæser præcist, hvor du står, og nægter at tage billedet, før den har et stærkt GPS-signal.

Andre Kort fra andre hjemmesider

Der er jo andre end os der har fundet ud af at visning på kort er en rigtig god måde at formidle på. En af de fornemste repræsentanter er Dansk Center for Herregårds­forskning.

Jeg var i gang med at lave en liste over alle herregårde og faldt så over denne hjemeside. Så det er jo blot at henvise til den.