Forum des Objets Communicants et Solutions pour les Libérer...
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-20%
Le deal à ne pas rater :
Drone Dji DJI Mini 4K (EU)
239 € 299 €
Voir le deal

 

 TTS acapela

Aller en bas 
+5
blahhh
bretelles
twotty
Surame
tikismoke
9 participants
Aller à la page : Précédent  1, 2
AuteurMessage
bretelles
Nabz Junior
Nabz Junior



Nbr de messages : 64

TTS acapela - Page 2 Empty
MessageSujet: Re: TTS acapela   TTS acapela - Page 2 Icon_minitimeJeu 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 ? yellownabzwink

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 yellownabzwink

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)
Revenir en haut Aller en bas
bretelles
Nabz Junior
Nabz Junior



Age : 48
Localisation : Paris
Nabaztag : Agatag et Barnab (serveur local)
Nbr de messages : 64
Carottes : 4935

TTS acapela - Page 2 Empty
MessageSujet: Re: TTS acapela   TTS acapela - Page 2 Icon_minitimeVen 23 Déc 2016 - 16:52

Bon j'ai une solution mais c'est bourrin nabzcryriver

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.
Revenir en haut Aller en bas
bretelles
Nabz Junior
Nabz Junior



Age : 48
Localisation : Paris
Nabaztag : Agatag et Barnab (serveur local)
Nbr de messages : 64
Carottes : 4935

TTS acapela - Page 2 Empty
MessageSujet: Re: TTS acapela   TTS acapela - Page 2 Icon_minitimeDim 25 Déc 2016 - 20:29

Bonsoir à tous,
joyeux Noël déjà yellownabzsmile

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 ici


Bretelles
Revenir en haut Aller en bas
bretelles
Nabz Junior
Nabz Junior



Age : 48
Localisation : Paris
Nabaztag : Agatag et Barnab (serveur local)
Nbr de messages : 64
Carottes : 4935

TTS acapela - Page 2 Empty
MessageSujet: Re: TTS acapela   TTS acapela - Page 2 Icon_minitimeMer 25 Jan 2017 - 11:26

Bonjour à tous,
responsivevoice semble avoir du mal aujourd'hui, quelqu'un confirme ?

Bretelles
Revenir en haut Aller en bas
bretelles
Nabz Junior
Nabz Junior



Age : 48
Localisation : Paris
Nabaztag : Agatag et Barnab (serveur local)
Nbr de messages : 64
Carottes : 4935

TTS acapela - Page 2 Empty
MessageSujet: Re: TTS acapela   TTS acapela - Page 2 Icon_minitimeSam 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?
Revenir en haut Aller en bas
vm006
Lapin nain
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

TTS acapela - Page 2 Empty
MessageSujet: Re: TTS acapela   TTS acapela - Page 2 Icon_minitimeLun 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 yellownabzsmile

Bonjour

Je suis totalement incompétent en github yellownabzsad
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 yellownabzsad

Merci en tout cas de vos modifications qui nous permettent de continuer à utiliser nos ptits lapins

Vincent

Revenir en haut Aller en bas
bretelles
Nabz Junior
Nabz Junior



Age : 48
Localisation : Paris
Nabaztag : Agatag et Barnab (serveur local)
Nbr de messages : 64
Carottes : 4935

TTS acapela - Page 2 Empty
MessageSujet: Re: TTS acapela   TTS acapela - Page 2 Icon_minitimeSam 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
Revenir en haut Aller en bas
vm006
Lapin nain
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

TTS acapela - Page 2 Empty
MessageSujet: Re: TTS acapela   TTS acapela - Page 2 Icon_minitimeSam 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 yellownabzsmile

Merci a toi
Revenir en haut Aller en bas
bretelles
Nabz Junior
Nabz Junior



Age : 48
Localisation : Paris
Nabaztag : Agatag et Barnab (serveur local)
Nbr de messages : 64
Carottes : 4935

TTS acapela - Page 2 Empty
MessageSujet: Re: TTS acapela   TTS acapela - Page 2 Icon_minitimeSam 13 Mai 2017 - 10:35

Cool, perso je trouve la voix pas si mal que ça en tout cas yellownabzsmile
Bon WE !
Revenir en haut Aller en bas
mcfly.587
Lapin nain
Lapin nain



Nbr de messages : 5
Carottes : 6652

TTS acapela - Page 2 Empty
MessageSujet: Re: TTS acapela   TTS acapela - Page 2 Icon_minitimeLun 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 !
Revenir en haut Aller en bas
Contenu sponsorisé





TTS acapela - Page 2 Empty
MessageSujet: Re: TTS acapela   TTS acapela - Page 2 Icon_minitime

Revenir en haut Aller en bas
 
TTS acapela
Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2
 Sujets similaires
-
» TTS - Acapela
» Message d'erreur Acapela demo did not return a sound file

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: Les Nabaztags sont sauvés ! Les solutions... :: [OJN] OpenJabNab-
Sauter vers: