- Comment intégrer Deepspeech dans un projet java maven?
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Intégrer une vidéo dans un powerpoint - Guide
- Eclipse java - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
1 réponse
Bonjour,
Dans la mesure où ton besoin n'a pas été véritablement expliqué, je vais aller au plus simple.
Je considère la dernière version de DeepSpeech, la 0.9.3 qui date de 2020.
Les livrables sont ici : https://github.com/mozilla/DeepSpeech/releases/tag/v0.9.3
La documentation est ici : https://deepspeech.readthedocs.io/en/v0.9.3/index.html
En particulier : Using a Pre-trained Model > Using the command-line client
Vu la documentation, je télécharge donc ces différents fichiers :
- native_client.amd64.cpu.win.tar.xz (à décompresser)
Remarque : étant sous Windows j'ai choisi un native_client Windows, mais dans la liste des livrables il y a une vingtaine d'autres possibilités. - deepspeech-0.9.3-models.pbmm (900 Mo)
- deepspeech-0.9.3-models.scorer (180 Mo)
- audio-0.9.3.tar.gz (à décompresser)
Uniquement pour l'exemple, on peut le supprimer ensuite.
Dans mon répertoire de travail je me retrouve donc avec ces différents fichiers :
C:\deepspeech>
│ deepspeech-0.9.3-models.pbmm
│ deepspeech-0.9.3-models.scorer
├───audio
│ 2830-3980-0043.wav
│ 4507-16021-0012.wav
│ 8455-210777-0068.wav
└───native_client
deepspeech.exe
...
On peut tester en lignes de commandes que cela fonctionne bien avec un des fichiers d'exemple téléchargé.
C:\deepspeech\native_client\deepspeech.exe --model C:\deepspeech\deepspeech-0.9.3-models.pbmm --scorer C:\deepspeech\deepspeech-0.9.3-models.scorer --audio C:\deepspeech\audio\2830-3980-0043.wav
Passons à la partie Java en utilisant la méthode Runtime.exec(String[]) pour exécuter la même ligne de commande puis récupérer le résultat affiché.
import java.io.IOException;
import java.util.Scanner;
public class DeepSpeech {
private static final String NATIVE_CLIENT = "C:\\deepspeech\\native_client\\deepspeech.exe";
private static final String MODEL = "C:\\deepspeech\\deepspeech-0.9.3-models.pbmm";
private static final String SCORER = "C:\\deepspeech\\deepspeech-0.9.3-models.scorer";
public static String executeDeepSpeech(String audio) throws IOException {
String[] cmdArray = {NATIVE_CLIENT, "--model", MODEL, "--scorer", SCORER, "--audio", audio};
Process process = Runtime.getRuntime().exec(cmdArray);
StringBuilder result = new StringBuilder();
try (Scanner sc = new Scanner(process.getInputStream())) {
while (sc.hasNextLine()) {
result.append(sc.nextLine()).append("\n");
}
}
return result.toString();
}
public static void main(String[] args) throws IOException {
System.out.println(executeDeepSpeech("C:\\deepspeech\\audio\\2830-3980-0043.wav")); // experience proves this
System.out.println(executeDeepSpeech("C:\\deepspeech\\audio\\4507-16021-0012.wav")); // why should one halt on the way
System.out.println(executeDeepSpeech("C:\\deepspeech\\audio\\8455-210777-0068.wav")); // your paris sufficient i said
}
}
Chez moi, ça fonctionne en mettant entre 1 et 2 secondes par fichier.
À voir ensuite ce que tu veux en faire dans ton projet Java FX.