Partage
  • Partager sur Facebook
  • Partager sur Twitter

Transformer un texte en son

Generer un fichier MP3

    20 janvier 2021 à 11:09:21

    Bonjour , 

    Je souhaiterais savoir si vous pourriez éventuellement m'aider concernant la problématique suivante :

    Je dispose d'une interface web permettant de retranscrire ce que j'écrit vers un vocal , cela fonctionne parfaitement 

    Cependant , mon souhait serait de pouvoir télécharger cet audio sous format MP3 

    Je suis actuellement bloqué , je ne sais pas du tout comment m'y prendre

    HTML :

    <body class="bg-dark text-white">
            <div class="container text-center">
                <img class="img mb-5" src="image/logo-esiee-it.png">
                <div class="row">
                    <div class="col-md-8 mx-auto">
                        <form>
                            <div class="form-group">
                                <textarea name="" id="texte" cols="30" øórows="10" class="form-control form-control-lg" placeholder="Ecrire ici .."></textarea>
                            </div>
                            <div class="form-group">
                                <select id="voix" class="form-control form-control-lg"></select>
                            </div>
                            <button class="btn btn-light btn-block">Parlez Ici</button>
                        </form>
                    </div>
                </div>
            </div>
            <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
            <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
            <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
            <script src="js/main.js"></script>
        </body>

    JS :

    const synth=window.speechSynthesis;
    
    const form=document.querySelector('form');
    const texte=document.querySelector('#texte');
    const voiceSelect=document.querySelector('#voix');
    
    
    
    let voix=[];
    const getVoices = () => {
        voix=synth.getVoices();
    
        voix.forEach(voice =>{
           
            const option = document.createElement('option');
            
            option.textContent = voice.name+'('+voice.lang + ')';
    
            option.setAttribute('data-lang', voice.lang);
            option.setAttribute('data-name', voice.name);
            voiceSelect.appendChild(option);
    
        });
    };
    
    getVoices();
    if(synth.onvoiceschanged !==undefined){
        synth.onvoiceschanged = getVoices;
    }
    
     
    const speak = () =>{
      
        if(synth.speaking){
            console.error('Erreur');
            return;
        }
        if(texte.value !==''){
            
            const parler = new SpeechSynthesisUtterance(texte.value);
    
            parler.onend = e =>{
            }
    
            parler.onerror = e =>{
            }
    
            const selectedVoice = voiceSelect.selectedOptions[0].getAttribute('data-name');
    
            voix.forEach(voice => {
                if(voice.name === selectedVoice){
                    parler.voice = voice;
                }
            });
    
           
            
            synth.speak(parler);
    
        }
    };
    
    
    form.addEventListener('submit', e =>{
        e.preventDefault();
        speak();
        texte.blur(); 
    });
    
    voiceSelect.addEventListener('change', e => speak());

    Merci D'avance pour vos retour

    • Partager sur Facebook
    • Partager sur Twitter

    Transformer un texte en son

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown