charlieetienne / t2s Goto Github PK
View Code? Open in Web Editor NEWGoogle TextToSpeech 2 mp3
License: MIT License
Google TextToSpeech 2 mp3
License: MIT License
Suite au passage à quill.js, les caractères de fin de ligne ont changé.
Voir cette ligne :
Line 84 in 97018ab
Ctrl + B
=> <emphasis level="strong">
text</emphasis>
Ctrl + Shift + F
=> <prosody rate="fast"><prosody pitch="high">
text</prosody></prosody>
Ctrl + Shift + S
=> <prosody rate="slow"><prosody pitch="low">
text</prosody></prosody>
Ctrl + P
=> <say-as interpret-as="spell-out">
text</say-as>
Ctrl + Shift + 1
=> <break level="x-weak"/>
Ctrl + Shift + 2
=> <break level="weak"/>
Ctrl + Shift + 3
=> <break level="strong"/>
Ctrl + Shift + 4
=> <break level="x-strong"/>
Les variables $_POST
ne sont pas nettoyées/vérifiées lors de l'envoi. (process.php
)
Hello,
When trying to work with the MP3 files produced in the TAGMP3.DE tool, I realize that most of the files (in fact all but one of the 70 I have already created) do not include duration information. of the track (in Headers or metadata).
Indeed, the files are tagged with "ERROR: MP3 header parse error".
Would it be possible to correct this error and provide, in each MP3 file, the duration information (in my case, the ideal would be to have the duration with tenths of a second - because my files are quite short - but if it's rounded up to the upper integer (the upper second), it's OK).
On the forum thread (https://community.mp3tag.de/t/display-length-in-column/59930), a tool http://mp3diags.sourceforge.net/ is mentioned).
What do you think ?
En ajoutant la classe active
au bouton.
Pour reproduire :
(Je suis en mode multifile mais je ne sais pas si ça joue.)
Dans l'éditeur de quill normal, Ctrl+Z fonctionne bien, mais pas dans l'éditeur de code. Il faudrait détecter et rafraichir l'éditeur en fonction si c'est possible (en lien avec #6)
Ajouter dans la toolbar un bouton (icône code) permettant de voir le texte qui sera généré. C'est assez simple puisqu'on peut utiliser la fonction existante style_to_code
qui fait exactement ça.
Avec la fonction setSelection (#6), ça provoque parfois des erreurs dans la console qui font buguer l'éditeur :
Je ne sais pas quand ni comment, mais parfois des morceaux de texte se retrouvent entourés par <span class="ql-color-black">
bizarre, ça marchait avant...
Voir comportement de Slack notamment lorsqu'on est dans un bloc code Inline (Ctrl + Shift + C
)
Quand on fait flèche de gauche en étant juste à droite d'un bloc, on retourne à l'intérieur du bloc.
Attention, ça ne doit fermer la balise que lorsqu'on fait flèche de droite en étant à la fin du bloc.
Attribute value shouldn't be "null".
A l'origine (avant l'éditeur Quill.js quand on utilisait une simple textarea), on pouvait naviguer au clavier avec tab : Lorsqu'on arrive sur la page, le champ nom de fichier a le focus et on peut écrire dedans. C'est permis par l'attribut tabindex="1"
.
La textarea avait tabindex="2"
, ce qui permettait en appuyant une fois sur tab d'aller écrire directement dans la textarea.
La div #text
, qui sert de conteneur à Quill.js possède aussi ce tabindex="2"
, mais ça ne donne pas le focus à l'éditeur.
=> Trouver le moyen de donner le focus à l'éditeur avec tab.
L'option est devenue inutile depuis le commit 920603c
style_to_code
dans richVoiceEditor.js
ou bien dans un nouveau fichier richVoiceEditorHelpers.js
pour bien séparer les responsabilités ; ça a tout à voir avec l'éditeur, et le main.js
ne devrait s'occuper que des choses générales.rate
(ou pitch
, au choix) en background-color pour pouvoir utiliser rate
et pitch
en même tempsrate="slow"
ou du rate="fast"
par exemple. (mon idée serait avec des selecteurs :before
et des icones lièvre ou tortue)We should be able to do the same as in visual mode: when the caret is somewhere and not selecting anything (range = 0), the toolbar buttons are able to open a tag at caret position
Parfois rate ou pitch peuvent prendre la valeur false ou null, et se retrouver dans les attributs. Ce n'est pas gênant pour le SSML, mais pour le CSS c'est un peu compliqué à gérer. Il faut supprimer ces formats pour qu'ils ne se retrouvent pas dans les attributs.
Intégrer le changelog visible ici : https://cloud.google.com/text-to-speech/docs/release-notes
Adresse du flux RSS : https://cloud.google.com/feeds/tts-release-notes.xml
Quand on fait entrée pour aller à la ligne, ça continue le format en cours. J'aimerais bien que ça remette à zéro plutôt.
Quand on fait plusieurs fois Entrée, ça va créer des <p></p>
vides et en mode multifile, ça nous indique des fichiers supplémentaires pour chaque <p>
.
Trouver un moyen pour qu'ils ne s'affichent pas...
On doit avoir un pb de détection de sauts de lignes, car ça télécharge un fichier unique au lieu d'un zip...
Peut-être qu'il faut détecter les <p></p>
plutôt que les /r/n
?
à priori ça se passe dans ces lignes là :
Lines 78 to 84 in 0cf6222
Se calquer sur l'attributor "color" de sorte qu'on puisse faire un truc comme :
let EmphasisClass = Quill.import('attributors/class/emphasis');
Quill.register(EmphasisClass , true);
et utiliser ensuite
quill.format('emphasis', true);
Voir doc officielle, stackoverflow, etc.
NB : je ne sais pas si c'est possible, peut-être pas !
Css style should disappear when pitch or rate are set to "medium"
Hello,
Thanks to the developers for this great tool!! Very convenient for me.
Unless I am mistaken, there is no reset button.
Let me explain: to erase the text and start another one, I have to select and erase, or else use the Delete key.
Maybe a ''reset'' button would be useful.
Quand on veut "wrapper" un texte qui comporte déjà des balises ça ne marche pas et ça met des balises un peu partout (#6)
Si je sélectionne <emphasis level="strong">Une ligne de texte</emphasis>
dans l'éditeur de code et que je veut lui appliquer le format spellout par ex. ça détecte mal les offset start et length et ça me met des balises spellout un peu partout
When we set prosody rate to "slow" and then prosody pitch to "low", format seems to disappear.
Quand on a beaucoup de texte, c'est pas super ergonomique :
Idée : Ajouter un bouton plein écran qui serait tout à droite de la toolbar ; au clic, on ajouterait/supprimerait simplement une classe fullscreen au body.
De là, avec un peu de CSS, on pourrait aisément modifier la taille et la position des éléments.
Lines 63 to 106 in 7dc619b
Souvent, lorsque je travaille sur des projets, je nomme mes fichiers audio (champ nom du fichier) de cette façon : {numéro de la scène}.{numéro de la diapositive}.{numéro du fichier audio}.mp3
Par exemple 4.14.3.mp3
Je change souvent le dernier numéro (presque à chaque phrase) pour avoir un nouveau fichier (car plus facile pour les corrections si on a des audios de 10 secondes que des audios de 1:30min)
Pour gagner en productivité, j'aimerais pouvoir incrémenter le dernier numéro, voire les autres (?), de façon simple, par ex. en appuyant sur flèche du haut/flèche du bas.
On peut imaginer aussi de pouvoir le faire au scroll comme dans la suite Adobe... à voir.
Je n'ai pas trop envie d'avoir des petites flèches pour ne pas surcharger l'UI.
A good way to do this may be to add a config file where users could set a language code and languages files like laravel does
Si le texte ne change pas notamment, mais j'ai l'impression que c'est variable, quand on clique sur écouter par exemple, ça ne sauve pas les tags SSML dans le cookie, seul le texte est sauvegardé.
Il faut peut-être trigger un changement de contenu ?
Pour reproduire :
Hello,
I have the feeling that :
Am I wrong ?
If so, it's a shame, because it doubles the consumption of the Google API.
Also, I noticed something that isn't quite a bug. Breeding:
Un pb lié à #26 : comme on remplace le premier <p>
par un saut de ligne on se retrouve avec un saut de ligne au tout début avant le contenu (j'imagine). Cela donne un mp3 vide. J'imagine qu'on peut fix ça avec un array_map
après la ligne 84 où on testerait si le texte est vide
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.