|
| TTS acapela | |
|
+5blahhh bretelles twotty Surame tikismoke 9 participants | |
Auteur | Message |
---|
bretelles Nabz Junior
Nbr de messages : 64
| Sujet: Re: TTS acapela Jeu 22 Déc 2016 - 23:28 | |
| - bretelles a écrit:
- Mais bon, c'est ma première fois avec python
Ah le boulet, je m'auto flagelle, c'est du C++ tout ce qu'il y a de plus classique... Bon je début avec QT est une excuse valable ? J'avance peu, j'ai simplifié le code, essayé avec user agent, content type... pas de résultat. Et puis j'ai testé le fichier généré sauvegardé côté serveur et ... il est bon lui. C'est juste le lapinou qui tronque à la fin, quelqu'un a déjà vu ça ? Je continue en tout cas Edit: acapela renvoie du 22050 Hz à 48 kbit/s, responsivevoice c'est du 24000 Hz à 32 kbit/s ... le problème est peut-être là ? (les deux en mono mpga) | |
| | | bretelles Nabz Junior
Age : 48 Localisation : Paris Nabaztag : Agatag et Barnab (serveur local) Nbr de messages : 64 Carottes : 4935
| Sujet: Re: TTS acapela Ven 23 Déc 2016 - 16:52 | |
| Bon j'ai une solution mais c'est bourrin il faut installer lame par un - Code:
-
sudo apt-get install lame pour réencoder le fichier audio car le problème est bien là. et puis voici mon code modifié de tts_responsivevoice.cpp - Code:
-
QByteArray TTSresponsivevoice::CreateNewSound(QString text, QString voice, bool forceOverwrite) { QEventLoop loop;
if(!voiceList.contains(voice)) voice = "fr";
// Check (and create if needed) output folder QDir outputFolder = ttsFolder; if(!outputFolder.exists(voice)) outputFolder.mkdir(voice);
if(!outputFolder.cd(voice)) { LogError(QString("Cant create TTS Folder : %1").arg(ttsFolder.absoluteFilePath(voice))); return QByteArray(); }
// Compute fileName QString fileName = QCryptographicHash::hash(text.toAscii(), QCryptographicHash::Md5).toHex().append(".mp3"); QString filePath = outputFolder.absoluteFilePath(fileName);
if(!forceOverwrite && QFile::exists(filePath)) return ttsHTTPUrl.arg(voice, fileName).toAscii();
// Fetch MP3 QHttp http("responsivevoice.org"); QObject::connect(&http, SIGNAL(done(bool)), &loop, SLOT(quit()));
QHttpRequestHeader Header("GET", "/responsivevoice/getvoice.php?tl=fr&t=" + QUrl::toPercentEncoding(text)); Header.setValue("Host", "responsivevoice.org"); Header.setContentLength(0); http.request(Header, ""); loop.exec();
QFile file(filePath + ".mp3"); if (!file.open(QIODevice::WriteOnly)) { LogError("Cannot open sound file for writing"); return QByteArray(); } file.write(http.readAll()); file.close(); system(QString("lame -b 48 --resample 22.05 " + filePath + ".mp3 " + filePath).toAscii()); file.remove(); return ttsHTTPUrl.arg(voice, fileName).toAscii(); }
Bon c'est vraiment bourrin mais chez moi ça semble ok. | |
| | | bretelles Nabz Junior
Age : 48 Localisation : Paris Nabaztag : Agatag et Barnab (serveur local) Nbr de messages : 64 Carottes : 4935
| Sujet: Re: TTS acapela Dim 25 Déc 2016 - 20:29 | |
| Bonsoir à tous, joyeux Noël déjà Je continue mon monologue, j'ai essayé de dégrader la qualité pour réduire la taille des mp3 mais bon, c'est pas terrible, j'ai juste rajouté un paramètre pour que lame traite plus rapidement le fichier en rajoutant le paramètres -f dans la ligne d'appel à lame, cela donne: - Code:
-
system(QString("lame -f -b 48 --resample 22.05 " + filePath + ".mp3 " + filePath).toAscii()); J'ai crée un topic pour le "hack" ce sera plus propre, voir iciBretelles | |
| | | bretelles Nabz Junior
Age : 48 Localisation : Paris Nabaztag : Agatag et Barnab (serveur local) Nbr de messages : 64 Carottes : 4935
| Sujet: Re: TTS acapela Mer 25 Jan 2017 - 11:26 | |
| Bonjour à tous, responsivevoice semble avoir du mal aujourd'hui, quelqu'un confirme ?
Bretelles | |
| | | bretelles Nabz Junior
Age : 48 Localisation : Paris Nabaztag : Agatag et Barnab (serveur local) Nbr de messages : 64 Carottes : 4935
| Sujet: Re: TTS acapela Sam 25 Fév 2017 - 14:22 | |
| Bonjour à tous, Juste pour info, et pour ceux que ça intéresse, j'ai fait une modification d'encodage encore, c'est plus rapide, de meilleure qualité mais un chouilla plus gros... Donc toujours sur l'appel à lame: - Code:
-
system(QString("lame -f --resample 32 " + filePath + ".mp3 " + filePath).toAscii()); Juste un petit resampling à 32 Khz suffit, responsive voice renvoie déjà un mp3 en CBR... Bretelles Edit: d'ailleurs je mets la fonction complète car l'url a changé ! - Code:
-
QByteArray TTSresponsivevoice::CreateNewSound(QString text, QString voice, bool forceOverwrite) { QEventLoop loop;
if(!voiceList.contains(voice)) voice = "fr";
// Check (and create if needed) output folder QDir outputFolder = ttsFolder; if(!outputFolder.exists(voice)) outputFolder.mkdir(voice);
if(!outputFolder.cd(voice)) { LogError(QString("Cant create TTS Folder : %1").arg(ttsFolder.absoluteFilePath(voice))); return QByteArray(); }
// Compute fileName QString fileName = QCryptographicHash::hash(text.toAscii(), QCryptographicHash::Md5).toHex().append(".mp3"); QString filePath = outputFolder.absoluteFilePath(fileName);
if(!forceOverwrite && QFile::exists(filePath)) return ttsHTTPUrl.arg(voice, fileName).toAscii();
// Fetch MP3 QHttp http("code.responsivevoice.org"); QObject::connect(&http, SIGNAL(done(bool)), &loop, SLOT(quit()));
QHttpRequestHeader Header("GET", "/getvoice.php?tl=fr&t=" + QUrl::toPercentEncoding(text)); Header.setValue("Host", "code.responsivevoice.org"); Header.setContentLength(0); http.request(Header, ""); loop.exec();
QFile file(filePath + ".mp3"); if (!file.open(QIODevice::WriteOnly)) { LogError("Cannot open sound file for writing"); return QByteArray(); } file.write(http.readAll()); file.close(); system(QString("lame -f --resample 32 " + filePath + ".mp3 " + filePath).toAscii()); file.remove(); return ttsHTTPUrl.arg(voice, fileName).toAscii(); }
Pour ne pas prendre ma modification, changer dans la fonction d'origine QByteArray TTSresponsivevoice::CreateNewSound(QString text, QString voice, bool forceOverwrite) 2 fois : - Code:
-
responsivevoice.org par - Code:
-
code.responsivevoice.org et 1 fois - Code:
-
/responsivevoice/getvoice.php? par - Code:
-
/getvoice.php? | |
| | | vm006 Lapin nain
Localisation : Amiens Nabaztag : Nabz1 (Nabaztag V1) - Gildun,Hatysa,Fidis,Erakis (Nabaztags:tag tous sur serveur local) - Aldebaran,Beid,Castor,Dheneb (Tous Karotz sous Freerabbits + OpenKarotz) Nbr de messages : 22 Carottes : 3779
| Sujet: Re: TTS acapela Lun 24 Avr 2017 - 11:11 | |
| - tikismoke a écrit:
- https://github.com/OpenJabNab/OpenJabNab/pull/50
Le PR est posté, il faut refaire un make dans server/ et modifié le fichier fichier de configuration /server/bin/openjabnab.ini pour changer le TTS:
"TTS=responsivevoice"
Bon redémarrage à tous Bonjour Je suis totalement incompétent en github J'ai réussi à faire l'install sur mon raspbérry il y a quelques mois, tout marche bien par contre comment je fais pour que la mise à jour descende sur le raspberry avant de faire le make ? merci de vos réponses à cette question surement un peu idiote Merci en tout cas de vos modifications qui nous permettent de continuer à utiliser nos ptits lapins Vincent | |
| | | bretelles Nabz Junior
Age : 48 Localisation : Paris Nabaztag : Agatag et Barnab (serveur local) Nbr de messages : 64 Carottes : 4935
| Sujet: Re: TTS acapela Sam 29 Avr 2017 - 14:51 | |
| Salut vm006, je ne suis pas un pro non plus, j'ai procédé de la façon suivante: - changement d'utilisateur pour être en ojn - création des 3 fichiers de titismoke en ligne de commande avec la commande nano et copie des contenus de github - modification du quatrième fichier et lancement du make au niveau du répertoire server. Pour t'aider voilà mon répertoire tts en version zippée à dézipper dans /home/ojn/OpenJabNab/server avec mes modifications mais il faut aussi faire un - Code:
-
sudo apt-get install lame pour que tout fonctionne correctement. [url=cherche.heritier.free.fr/nabaztag/tts.zip]Mon code[/url] Tiens moi au jus si tu as besoin de plus d'aide. Bretelles | |
| | | vm006 Lapin nain
Localisation : Amiens Nabaztag : Nabz1 (Nabaztag V1) - Gildun,Hatysa,Fidis,Erakis (Nabaztags:tag tous sur serveur local) - Aldebaran,Beid,Castor,Dheneb (Tous Karotz sous Freerabbits + OpenKarotz) Nbr de messages : 22 Carottes : 3779
| Sujet: Re: TTS acapela Sam 13 Mai 2017 - 8:07 | |
| Bonjour bretelles Desole du retour tardif, un peu debordé ces temps ci J'ai fait comme tu l'indiques et les "bestiaux" reparlent a nouveau Merci a toi | |
| | | bretelles Nabz Junior
Age : 48 Localisation : Paris Nabaztag : Agatag et Barnab (serveur local) Nbr de messages : 64 Carottes : 4935
| Sujet: Re: TTS acapela Sam 13 Mai 2017 - 10:35 | |
| Cool, perso je trouve la voix pas si mal que ça en tout cas Bon WE ! | |
| | | mcfly.587 Lapin nain
Nbr de messages : 5 Carottes : 6652
| Sujet: Re: TTS acapela Lun 24 Déc 2018 - 11:27 | |
| Bonjour, est-ce que quelqu'un bosse actuellement sur l'intégration de la nouvelle page d'accapela ?
Ce plugin était quand même sympa !
| |
| | | Contenu sponsorisé
| Sujet: Re: TTS acapela | |
| |
| | | | TTS acapela | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |