[Python] pybass, come sincronizzare un flusso audio con la sintesi vocale?
Buongiorno, Tramite pybass https://pypi.python.org/pypi/pybass/ Ho la necessità di far suonare un mp3 e che durante l'esecuzione la sintesi vocale, non venga interrotta (uso uno screen reader); Quello che segue dopo la firma è la parte di codice che sto usando e che funziona bene, a parte che mancando la documentazione per il modulo pybass e gli esempi contenuti nel pacchetto siano privi di adeguati commenti, non ho idea di come fare per sincronizzare i due flussi in modo che possano girare assieme. Questo 'è quanto ho trovato per la bass.dll, con alcuni brevissimi esempi in c, che non conosco... http://www.un4seen.com/doc/#bass/multichan.html Se faccio parlare il sintetizzatore e partire l'mp3, parte l'mp3, successivamente parla la sintesi. Come posso modificare questo codice per sincronizzare i due fluussi audio? Grazie. Adriano from pybass import * filename = 'traccia_di_prova.mp3' BASS_Init(-1, 44100, 0, 0, 0) handle = BASS_StreamCreateFile(False, b'%s' % filename, 0, 0, 0) play_handle(handle, show_tags=False) BASS_Free() ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] pybass, come sincronizzare un flusso audio con la sintesi vocale?
Ciao Adriano, Il giorno mer, 26/08/2015 alle 09.45 +0200, Adriano Barbieri ha scritto: > Buongiorno, > Tramite pybass > https://pypi.python.org/pypi/pybass/ > Ho la necessità di far suonare un mp3 e che durante l'esecuzione la > sintesi > vocale, non venga interrotta (uso uno screen reader); Per quel che posso capirne, che francamente non è molto (mai sentito pybass prima), ci sono due possibilità: 1) il reader è intelligente (molto! forse troppo per essere vero): si accorge che il tuo programmino emette audio, e si mette bravo bravo ad aspettare che abbia finito 2) il reader prova a leggere ed emettere suono, ma pybass si è già fregato l'interfaccia audio in modo esclusivo, e quindi il reader riesce a farsi sentire solo una volta che è stata liberata Ma entrambe le spiegazioni mi convincono poco. Che sistema operativo usi? Cosa succede se invece che usare pybass fai partire un player esterno (es. vlc) con subprocess.call? E se prima del tuo codice metti un time.sleep(5)? Per la cronaca, per emettere suoni, anche da più fonti in contemporanea, ho sempre usato gstreamer e mi sono trovato bene. Pietro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python