[zxspectrum] Re: ZX Ear-Mic to RS232

  • From: Luca Alimandi <luca.alimandi@xxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Thu, 26 Mar 2015 01:55:07 +0100

Massimo Raffaele ha scritto:
Il giorno 22 marzo 2015 22:20, Luca Alimandi <luca.alimandi@xxxxxxxxxx <mailto:luca.alimandi@xxxxxxxxxx>> ha scritto:


        Ora sono passato alla "fase 2", e cioè: creazione di nuovi
        campioni dei fonemi.
        Infatti quelli originali, anche se molto compatti (occupano
        solo 10300 byte!!!) sono a volte un po' poco intellegibili.
        La cosa presenta ancora oggi qualche difficoltà, ma forse si
        può fare.
        Però non so prevedere se, con dei campioni migliori, risulti
        migliore anche il risultato finale...
        Vi farò sapere!


    Purtroppo, dopo ore e ore di lavoro, ho avuto una cocente
    delusione!...
    Il primo passo della "fase 2" era quello di provare a creare dei
    campioni migliori dei fonemi.
    Quelli che avevo realizzato all'epoca erano a 8 bit (e da qui non
    si scappa) e campionati ad una frequenza non ben definita tra gli
    8 e i 10 KHz.
    Così pensavo di poter migliorare l'intelligibilità aumentando un
    po' la frequenza di campionamento. Ho pensato a 16KHz.
    Ma non era cosa facile, anche perchè purtroppo gli strumenti che
    sto usando (Audacity per la selzione dei singoli fonemi e l'ottimo
    SoX - Sound eXchange
    http://sourceforge.net/projects/sox/files/sox/14.4.0/ per la
    conversione in formato RAW 8bit Mono) non sono così raffinati da
    permettere una selezione millimetrica, come serve a questo scopo.
    Ho scoperto infatti uno strano comportamento di Audacity, per cui,
    selezionando porzioni molto piccole (dell'ordine di 400-700
    campioni, ossia meno di un secondo) il programma non rende più
    correttamente la porzione selezionata. Addirittura sotto i 500
    campioni non si sente nemmeno alcun suono. Questo l'ha reso
    inutilizzabile per la selezione dei singoli campioni.


Interessante la possibilità di SoX di trattare files RAW 8 bit mono (signed e unsigned, anche? Se non ricordo male per lo Spectrum vanno bene unsigned). Potrei usarlo per sostituirlo a GoldWave, che non è free. Per quanto riguarda Audacity: strano... molto strano... tra l'altro c'è un articolo molto esaustivo in uno degli ultimi numeri di PC Professionale (di gennaio) che parla proprio di Audacity come di un prodotto ottimo, cito: "in grado di competere con i programmi commerciali".

In alternativa, perché non provi Sound Forge (di Sony) o WaveLab (di Steinberg)? Sono ottimi, li ho usati parecchio. Unica pecca: sono commerciali, per cui devi organizzarti all'uopo... *cough*
    Così sono tornato in parte al sistema che avevo usato all'epoca, e
    cioè ho usato lo stesso Spectrum (in emulazione) per ascoltare i
    campioni e lavorare di fino isolando man mano quello che mi
    serviva (proprio come facevo anni fa...).

    Dopo molta fatica e tanto tempo, ho riassemblato il tutto, ho
    raccolto i campioni in un file, l'ho sostituito al blocco
    originale e poi, dopo aver adattato un po' il codice macchina, ho
    provato a sentire l'effeto finale.

    DELUSIONE! Era addirittura peggio di quello con i campioni a
    10KHz! soprattutto c'erano due problemi: un aumento del fruscio di
    fondo (forse dovuto ai vari passaggi) e il volume e la tonalità
    che non erano costanti tra un fonema e l'altro.
    Forse si potrebbe tentare di normalizzare i campioni, ma ormai ho
    l'imperssione che non si riesca a ottenere buoni risultati.
    L'unica cosa da fare potrebbe essere tornare a campionare
    direttamente con lo Spectrum, ma mi devo organizzare.
    Dovrei farlo con lo Spectrum fisico e con un convertitore A/D D/A
    che avevo costruito (e che usai all'epoca), ma non so se me la
    sento, almeno adesso...

    Forse potrebbe essere utile realizzare prima un programma per lo
    Spectrum per gestire più comodamente i campioni e in generale i
    file audio in formato RAW. Una sorta di mini-Audacity che giri
    direttamente sullo Spectrum.
    Non mi sembra di aver mai visto qualcosa del genere in giro.
    Voi ne conoscete qualcuno? Ricordo che dovrebbe lavorare con
    campioni 8 bit mono o anche stereo (esistono anche interfaccine
    Covox stereo per lo spectrum, e RealSpectrum le emula!...), e
    dovrebbe lavorare in modo semi-grafico (cioè plottare l'onda del
    segnale permettendo operazioni tipo trim, taglia, copia e incolla,
    modifica dell'ampiezza, ecc...
    Qui potrebbero tornare utili le varie routine matematiche
    sviluppate da Enrico (a proposito, come vanno? Ti hanno
    soddisfatto alla fine?)
    Vedremo cosa si potrà fare...


Mi spiace dei risultati per te non soddisfacenti :-(.
Non sono sicuro che lavorando direttamente sullo Spectrum tu possa ottenere risultati migliori... ma può darsi che sbagli.
    In compenso però ho apportato qualche miglioria (minima) al
    programma originale, in modo da modulare un pochino la frequenza,
    e quindi il tono della voce, alla fine di ogni parola e frase.
    In questo modo, anche se ancora non è soddisfacente, si riesce a
    rendere un po' meno monotona la voce durante la lettura di un
    testo un po' lungo.
    Meglio che niente!


Direi ottimo invece!!! :-)))

Keep up the good work!

Max

Vi aggiorno sugli utlimi sviluppi.

Enrico mi ha datto alcune dritte su come utilizzare Audacity per ottenere quello di cui avevo bisogno, e soprattutto, mi ha consigliato di installare l'ultima versione del programma (io avevo la 2.0.5, mentre Enrico aveva la 2.0.6) e così facendo il problema che avevo di non poter ascoltare porzioni di poche decine di campioni è scomparso. Probabilmente la reinstallazione ha semplicemente sistemato qualche parametro sballato... Tra parentesi mi ha anche spiegato come utilizzare Audacity per esportare file RAW (headerless) sia signed che unsigned, a 8 bit, per cui non c'è più bisogno di SoX, benchè rimanga un programma molto valido, soprattutto se occorre effettuare conversioni batch. Il risultato è stato che ho potuto lavorare completamente con Audacity, evitando di dover usare altri software. Il che mi ha permesso di tentare la creazione di un nuovo set di fonemi. Benchè il risultato finale sia stato migliore di quello ottenuto la volta scorsa, è ancora insoddisfacente, e i fonemi originali continuano ad essere di gran lunga più comprensibili di quelli nuovi.
Peccato, perchè ci ho lavorato un bel po'! :-(
Comunque farò altri tentativi. Vorrei provare con altre voci, ad esempio con una femminile. Magari il fatto che la frequenza media sia più alta potrebbe migliorare un po' la qualità... Ma sempre di più mi sto rendendo conto di che gran lavoro avevo fatto negli anni 80-90!
Comunque l'entusiasmo non muore e continuerò i miei esperimenti.
Intanto un grande ringraziamento a Enrico per i suoi utili consigli!

--

|_ /-\


Other related posts: