0
votes

Formatant des cordes d'un tableau d'objets dans une chaîne singulière

J'utilise l'API de la parole à la parole de Google pour convertir un fichier audio en texte. Il peut identifier les haut-parleurs, ce qui est vraiment cool, mais il formule les informations d'une manière dont j'ai eu des problèmes. Voici leur Docs sur la séparation des enceintes .

Mon objectif est d'avoir une seule chaîne séparant des lignes de sortie par leurs haut-parleurs, comme celui-ci: p> xxx pré>

si j'envoie un fichier audio pour être transcrit, je reçois Retour Quelque chose comme ceci: p> xxx pré>

Il y a un objet pour chaque mot, je veux juste économiser de l'espace. Tout ce que Tom dit dans cet exemple doit être représenté par Serrertag: 2 Code> P>

Voici le plus proche que j'ai obtenu jusqu'à présent: p>

  const unformattedTranscript = wordsObjects.map((currentWord, idx, arr) => {
    if (arr[idx + 1]) {
      if (currentWord.speakerTag === arr[idx + 1].speakerTag) {
        return [currentWord.word, arr[idx + 1].word];
      } else {
        return ["SPEAKER CHANGE"];
      }
    }
  });

  const formattedTranscript = unformattedTranscript.reduce(
    (acc, wordArr, idx, arr) => {
      if (arr[idx + 1]) {
        if (wordArr[wordArr.length - 1] === arr[idx + 1][0]) {
          wordArr.pop();
          acc.push(wordArr.concat(arr[idx + 1]));
        } else {
          acc.push(["\n"]);
        }
      }
      return acc;
    },
    []
  );


0 commentaires

3 Réponses :


0
votes

Je pense que vous surchargez des choses. Vous pouvez simplement itérus sur les mots des mots et suivre la balise de haut-parleurs actuelle. Chaque fois que les modifications de balises de haut-parleur de mots actuelles, vous pouvez ajouter une nouvelle ligne (et s'il n'a pas changé - appendez le mot actuel à la ligne en cours). Voici un exemple:

"Speaker1: Hello Tom
Speaker2: Howdy
Speaker1: How was your weekend"


1 commentaires

Merci d'avoir remplacé cela pour moi et même d'écrire le code pour une solution. C'est beaucoup plus simple que d'où mon esprit me prenait.



0
votes

C'est comme ça que je le ferais en utilisant un réducteur: xxx


0 commentaires