Vic 20 – Bluetooth e Android Speech Synthesis

Come proprietario di un VIC-20 e di alcuni giochi di avventura di Scott Adams, mi chiedevo come sarebbe suonata la funzione della sintesi vocale (come menzionato nel manuale di questi giochi).

CURIOSITA’: sebbene il manuale del gioco indichi 1.200 baud, questo è semplicemente un errore nel manuale infatti la velocità disponibile è 2.400 baud.

Sfortunatamente, non possiedo un Type ‘n’ talk Votraax e sono sicuro che non molte persone lo possiedono. Questo dispositivo era un dispositivo di sintesi vocale. Laddove i normali chip del sintetizzatore vocale richiederebbero un insieme di fonemi inviati su una porta parallela, il Votrax type ‘n talk potrebbe convertire il testo direttamente in parlato utilizzando solo una singola linea seriale.

Ciò ha reso il dispositivo molto facile da collegare a diversi tipi di computer … ma anche molto costoso. Il vantaggio più grande è che l’aggiunta del parlato ad un’applicazione, utilizzando il Votrax type ‘n talk, ha un impatto molto basso sul programma che lo utilizza. Infatti il testo stampato sullo schermo potrebbe anche essere inviato alla porta seriale (senza alcuna conversione) e letto direttamente dal dispositivo. Un ottimo dispositivo per il momento, ma fuori dalla portata della maggior parte di noi.

Usando il Votrax type ‘n talk in combinazione con i giochi di avventura di Scott Adams, potresti aggiungere una nuova dimensione di esperienza di gioco con l’aggiunta del parlato. Beh, ad essere onesti, non sono un giocatore incallito ed i giochi di avventura richiedono molta pazienza e immaginazione. Ma quando ho visto un nuovo dispositivo per il VIC-20, il VIC-voder, sono rimasto un pò sorpreso ed interessato.

IL VIC -VODER

Il VIC-voder è costituito da un raspberry pi (un mini computer con molta memoria e spazio di archiviazione) e insieme a un amplificatore e si adatta perfettamente a una piccola scatola di progetto. È necessario collegarlo alla porta utente di un VIC-20 o di un altro computer CBM. All’inizio, conoscendo le specifiche del Raspberry PI, l’ho considerato come un’enorme soluzione eccessiva a un problema relativamente semplice. Ma poi ho capito che non è questo il punto.

Questo approccio è ottimo perché il Raspberri PI è piuttosto economico e funzionerà alla grande per questo lavoro! Ma per qualche motivo non sono stato tentato di costruirlo da solo.

Bluetooth e Android

Poi, molti mesi dopo, ho comprato uno smartphone, l’androide più economico e ragionevole che sono riuscito a trovare, che mi è costato solo € 49, – al negozio di elettronica locale. Ha uno sconto extra perché il modello era un modello dimostrativo. Abbastanza buono per me perché non volevo spendere molti soldi per un dispositivo che non avrei usato molto (diciamo che non sono un ragazzo sociale che vuole comunicare molto). Il motivo per cui l’ho comprato è stato perché sentivo di invecchiare o semplicemente non capivo come dovrebbero essere usati smartphone e tablet.

Quindi, per stare al passo con i progressi, ne ho comprato uno. E forse potrei scrivere le mie app per questo, potrebbe essere divertente.

Poi mi ha colpito … il telefono era piuttosto potente e sicuramente poteva produrre parlato (con l’app giusta installata).

Hmm … se potessi collegare il VIC-20 al mio smartphone … Beh, ho comprato un dispositivo bluetooth per la porta seriale e con pochi euro ho iniziato a sperimentare. A causa delle vacanze di Natale in arrivo, ho deciso di fare di questo il mio piccolo progetto di vacanza.

Il primo modulo che ho acquistato era un dispositivo bluetooth a basso consumo … @ # $! ^ & $ # (Scusa per le imprecazioni) il mio telefono non supportava questo tipo di bluetooth! Una lezione appresa nel modo più duro!

Quindi ho acquistato un classico dispositivo da bluetooth a seriale l’HC-05, sfortunatamente questi dispositivi non supportano baudrate inferiori a 9600 bit / secondo. I giochi di avventura VIC-20 e Scott Adam richiedono 2400 bit / secondo (sebbene il manuale del gioco indichi 1200 baud, ma questo è semplicemente un errore nel manuale).

Quindi, in breve, l’HC-05 non sarebbe in grado di lavorarci, un’altra lezione imparata, leggi la scheda tecnica prima di acquistare qualcosa.

I costi dei dispositivi bluetooth sono piuttosto bassi, quindi li ho acquistati sulla base di un impulso “devo averlo, compralo subito!”.

Anche se non adatti a questo progetto, sono sicuro che torneranno utili per un altro progetto. Così finalmente ho fatto i miei “compiti” e ho comprato un HC-06, quel modello poteva scendere a 2400 bit / secondo senza problemi.

L’ho ricevuto il primo giorno della mia vacanza. Appena in tempo. Quindi ho iniziato a scrivere un’app che si collegasse al dispositivo Bluetooth e avrebbe ricevuto il testo dal VIC-20.

Una volta che il testo del VIC-20 era all’interno dello smartphone, il testo sarebbe stato convertito in parlato. L’intero approccio ha funzionato, ed era certamente più piccolo della soluzione al lampone e molto più economico.

Poche settimane dopo ho realizzato un piccolo PCB per contenere il modulo HC-06 e alcune resistenze di spostamento del livello e un regolatore da 3,3 V.

È mostrato nell’immagine qui sopra.

Non ho mai scritto un’app prima, quindi questa è stata un’avventura di per sé, ma in qualche modo ce l’ho fatta e l’ho fatta funzionare. Ti risparmierò i problemi e le irritazioni che ho incontrato mentre scrivevo la mia piccola app. Quindi finalmente è il momento di giocare.

Scarica qui l’App

Commodore ha rilasciato i seguenti giochi di avventura di Scott Adams:

Di tutti i giochi Scott Adams disponibili, possiedo solo “The count” (in scatola), “Mission impossible” (senza scatola) e “Voodoo Castle” (senza scatola). Quando guardi le scatole, apprezzi immediatamente i dettagli dei disegni. Queste opere d’arte non sono solo progettate per farli acquistare, ma ti trascinano anche nella storia che stai per rivelare un po’ alla volta.

Ho deciso di giocare a “The count”, ma subito dopo aver iniziato il gioco sono rimasto un po’ deluso. La sintesi vocale è stata fantastica, niente di sbagliato in questo, ma il gioco invia tutto sullo schermo al sintetizzatore vocale. Non solo ha parlato il testo dell’avventura, ha parlato tutto il testo che ho inserito che è diventato noiso piuttosto rapidamente.

Quando volevo andare a nord, ho digitato “n”. Facendo dire al sintetizzatore vocale: n <il testo della nuova scena>, cosa devo fare ora? All’inizio sembra ok. Ma dopo pochi minuti, diventa anoying. Semplicemente per il fatto che so già cosa ho digitato (quindi non è necessario che sia pronunciato).

Ma anche per via delle frasi lunghe e della natura ripetitiva del testo mostrato, quindi onestamente la sintesi vocale non fa bene al gioco.
Ma poi di nuovo, questa è la mia modesta opinione.

Quindi questa nuova funzionalità mi ha insegnato molto sulla scrittura di app per Android, dispositivi bluetooth e sul fatto che non imparerò mai ad apprezzare i giochi di avventura testuali!

Per le persone a cui piacciono i giochi di avventura, posso immaginare perché gli piacciono, le avventure (se scritte correttamente) ti trascineranno nella trama proprio come un libro può fare. Il potere del gioco (o di un libro) risiede nella tua immaginazione.

Visualizzi l’ambiente del gioco nella tua testa e non sullo schermo. Lo spavento è più spaventoso se pensi alle cose che ti spaventano di più e sono quindi più potenti di qualsiasi immagine o film.

Dopo tutto, i film horror più spaventosi sono quelli che mostrano di meno. La tua immaginazione è la vera magia dietro questo tipo di giochi. Questi giochi richiedono la tua totale attenzione e talvolta sono enigmi complessi, quindi richiedono un certo modo di pensare, magari esplorando. Preferisco fare la sfida di far parlare il gioco, invece di giocare il gioco. Ma per tutti coloro che vogliono provare questo per se stessi, sentitevi liberi di usare la mia app e la mia soluzione hardware come presentata su questo sito web. Il video qui sotto offre una piccola dimostrazione della qualità del parlato.

Fonte tradotta e adattata da: http://home.kpn.nl


SCHEMA ADATTATORE

Schema dell’adattatore della porta seriale Bluetooth all’Userport.
Qui vedi lo schema dell’adattatore, è così semplice che non necessita di PCB.
Anche se sembra molto più bello su un PCB. Quando svuoti questo dispositivo assicurati di includere i pin di protezione contro la polarità inversa sul connettore.
In questo modo non sarà possibile collegare il connettore capovolto. Nello schema seguente si vede la posizione di questi pin indicata da una linea nera.

L’APPLICAZIONE PER ANDROID

Scarica l’applicazione Android (.APK) e i file del codice sorgente:
L’applicazione non è disponibile sul playstore, ma puoi scaricarla dalla mia pagina GitHub: https://github.com/JanDerogee/Bluetooth-android-speech-synthesis

Il file che devi installare sul tuo telefono Android è un file .APK. Puoi copiarlo sul tuo telefono utilizzando un programma di installazione APK.

Anche se ho scritto parecchi programmi e mi considero un abile programmatore. Non ho mai scritto prima un’applicazione per uno smartphone. Quindi questo è stato il mio primo tentativo di scrivere un’app. E ad essere onesto, sono contento del risultato. Ho scritto questa applicazione in Android Studio come prova di concetto. Ma vorrei aggiungere più funzionalità, ad esempio una rappresentazione grafica dell’audio. Questo sotto forma di un’immagine dell’oscilloscopio o di un VU-meter utilizzato nell’auto chiamata KIT della serie knight-rider. Ma considerando che ho ancora bisogno di imparare molto nella programmazione delle app, ho deciso di rilasciare questa versione (come mostrato nel video) in modo da non dover aspettare oltre. Fondamentalmente è un programma per terminale seriale Bluetooth che può solo ricevere, stampare e pronunciare tutti i dati ricevuti. Ciò significa che puoi utilizzare questa app per aggiungere funzionalità vocali a tutto ciò che ti piace.

Ad esempio il tuo robot fai da te o qualsiasi altra cosa. Finché può connettersi al tuo smartphone tramite seriale bluetooth.

USALO SU ALTRI COMPUTER CBM

Il VIC-20 non è l’unico computer in grado di far funzionare questo dispositivo, anche il C64 e il C128 possono utilizzarlo. Indatti questi computer hanno lo stesso pinout della porta utente.
I computer PET hanno una piedinatura leggermente diversa dal VIC-20 e quindi non possono utilizzare questo circuito senza modifiche. Ad esempio, il Pin-2 della porta utente non contiene + 5V su un PET, ma un segnale relativo al video. Quindi, quando si collega questo dispositivo al PET, lo schermo diventa nero e non accade nulla.

Informazioni aggiuntive per i programmatori:

Utilizzando questo dispositivo e applicazione, è molto facile aggiungere la voce al tuo programma. Solo 2 righe sono sufficienti per far parlare il tuo computer. Grazie alla potenza del tuo smartphone Android. Si prega di essere consapevoli del fatto che questo dispositivo funzionerà con qualsiasi computer Commodore che abbia una porta utente identica a quella del VIC-20. Ad esempio il C64 o il C128.

10 OPEN 1,2,3,CHR$(10):REM OPEN SERIAL PORT @ 2400Baud
20 PRINT#1,"HELLO WORLD":REM SPEAK TEXT (NO OUTPUT TO SCREEN)



Ora questo esempio era un po ‘statico e non efficiente per pronunciare grandi quantità di testo, sarebbe meglio usare dichiarazioni di dati come mostrato di seguito, puoi immaginare che le dichiarazioni di dati devono anche contenere informazioni aggiuntive per esempio indicazioni o elementi nel tuo gioco. Libera la tua immaginazione e scrivi la tua avventura. Ma questa volta, usa la sintesi vocale con saggezza, non inviare tutto ciò che viene stampato al sintetizzatore vocale.

10 OPEN 1,2,3,CHR$(10):REM OPEN SERIAL PORT
20 READ A$
30 IF A$="*" THEN 99
40 PRINT#1,A$:REM SPEAK TEXT
50 PRINT A$:WRITE TO SCREEN
60 FOR L=0 TO 2000:NEXT L
70 GOTO 20
99 END
100 DATA "HELLO WORLD"
110 DATA "THIS IS JUST AN EXAMPLE"
120 DATA "*":REM END OF DATA

Altro link al progetto Bluetooth


Vedi anche:


Lascia un commento

Il tuo indirizzo email non sarà pubblicato.