Erstellen Sie eine App zur Aussprachebewertung (Teil 1)

PHPz
Freigeben: 2024-08-18 07:01:02
Original
853 Leute haben es durchsucht

Der Zweck dieses Tutorials besteht darin, eine Anwendung zu erstellen, um die Aussprache des Benutzers zu steuern.

Um ihm zu folgen, müssen Sie Kenntnisse in Javascript und idealerweise Vue.js 3 haben.

Die Idee

Ich habe vor kurzem beschlossen, wieder Deutsch zu lernen. Die größte Schwierigkeit, auf die ich in dieser Sprache stoße, besteht darin, sie richtig auszusprechen. Normalerweise höre ich mir ein Beispiel an, nehme auf, wie ich es wiederhole, und höre mir dann noch einmal zu. Es ist ein komplizierter Prozess und ich muss zugeben, dass ich kein besonders gutes Ohr habe.

Aufgrund dieser Beobachtung habe ich mich gefragt, ob es eine App oder eine API gibt, die mir sagen könnte, ob ich ein Wort oder einen Satz auf Deutsch richtig ausspreche! Nach einigen Untersuchungen und großartigen Entdeckungen wollte ich meine eigene App programmieren, um mein Problem zu lösen.

So habe ich es gemacht!

Verfügbare APIs

Nach einiger Recherche konnte ich Apps finden, die mein Problem lösten. Aber insgesamt war die Aussprachevalidierung oft nur eine zusätzliche Funktion einer kostenpflichtigen Anwendung (oder einer, die mit einem Abonnement funktionierte). Ich habe mich dann entschieden, nach APIs zu suchen.

Hier ist die Liste der APIs, die diese Aufgabe übernehmen:

  • Google Cloud Speech-to-Text API
  • Microsoft Azure Speech Service
  • iSpeech-Aussprache
  • Sprachmatik
  • Speechace
  • Elsa Now
  • SpeechSuper

Diese APIs sind kostenpflichtig, ermöglichen Ihnen aber im Allgemeinen zwei Wochen lang Zugriff zum Testen und Experimentieren.

Da ich meine Aussprache des Deutschen überprüfen wollte, habe ich mich für den Test mit der SpeechSuper-API entschieden, da diese mehrere Sprachen unterstützt, darunter auch Deutsch. Später im Tutorial werden wir die Speechace-API ausprobieren, um zu demonstrieren, wie einfach es ist, je nach Bedarf von einer API zur anderen zu wechseln.

Definition der Ergonomie der Anwendung

Das Ziel besteht darin, eine einfache App zu implementieren, mit der Sie ein Wort eingeben, Ihre Stimme aufzeichnen, die Audioaufnahme an die API senden und Ihre Punktzahl anzeigen können.

So wird die Bewerbung aussehen:

Create a pronunciation assessment App (Part 1)

Also erstellen wir eine Anwendung, die ein Textfeld anzeigt, in das ein Wort oder ein Satz eingegeben werden kann. Über eine Schaltfläche können Sie es anhören.
Wir haben dann eine Taste zum Aufzeichnen unserer Stimme. Diese ändert den Stil, wenn sie sich im Aufnahmemodus befindet. Klicken Sie einfach darauf, um zu stoppen und an die API zu senden, um eine Aussprachebewertung zu erhalten.
Sobald die Punktzahl erreicht ist, wird sie als Kachel mit einer Farbe angezeigt, die unsere Punktzahl darstellt, von Rot über Grün bis hin zu Orange.

Initialisierung der Anwendung

Das Ideal wäre, die App als Webapp, aber auch als native Android-Anwendung bereitstellen zu können. Aus diesem Grund werden wir Quasar.

verwenden

Das Quasar-Framework

Quasar ist ein Open-Source-Vue.js-Framework zur Entwicklung von Anwendungen mit einer einzigen Codebasis. Sie können im Web (SPA, PWA, SSR), als mobile Anwendung (Android, iOS) oder als Desktop-Anwendung (MacOs, Windows, Linux) bereitgestellt werden.

Vorbereitung

Falls dies noch nicht der Fall ist, müssen Sie NodeJS installieren. Besser ist es, Volta zu verwenden, da Sie damit je nach Ihren Projekten unterschiedliche Versionen von NodeJs verwenden können.

Wir beginnen mit der Initialisierung unseres Projekts mit dem Quasar-Gerüstwerkzeug.

npm i -g @quasar/cli npm init quasar
Nach dem Login kopieren

Die CLI wird uns mehrere Fragen stellen. Wählen Sie die folgenden Optionen aus:

Optionsliste
  • App mit Quasar CLI
  • Projektordner: learn2speak
  • Quasar v2
  • Javascript
  • Quasar-App mit Vite
  • Paketname: learn2speak
  • Produktname des Projekts: Sprechen lernen
  • Projektbeschreibung: Bewerten Sie Ihre Aussprache
  • Autor: Sie selbst
  • CSS-Präprozessor: Sass mit SCSS-Syntax
  • Benötigte Funktionen:
    • ESLint
    • Axios
  • ESLint-Voreinstellung: Standard
  • Projektabhängigkeiten installieren: Ja, verwenden Sie npm

Sobald der Befehl ausgeführt wurde, können Sie das Verzeichnis aufrufen und die Anwendung lokal bereitstellen:

cd learn2speak npm run dev
Nach dem Login kopieren

Ihr Standardbrowser sollte die Seite unter der folgenden Adresse öffnen: http://localhost:9000

Create a pronunciation assessment App (Part 1)

Modifikation des vorgeschlagenen Skeletts, um die angestrebte Ergonomie zu erreichen

Die Beispielanwendung ist verfügbar. Wir werden die Elemente entfernen, die wir nicht benötigen. Dazu öffnen wir den Quellcode in VSCode (Sie können natürlich auch einen anderen Editor verwenden)

code .
Nach dem Login kopieren

Layout modification

Quasar provides us with the notion of Layout and then of page included in the latter. The pages and the layout are chosen via the router. For this tutorial, we do not need to know these notions, but you can learn them here: Quasar layout

We do not need drawer, at least not for now so we will delete it from the src/layouts/MainLayout.vue file. To do this, delete the section of the

Nach dem Login kopieren

We can then remove the entire script part and replace it with the following code:

Nach dem Login kopieren

We don't need more for the layout part because our application will define only one page.

The main page

The implementation of the main page is in the file: src/pages/IndexPage.vue

this is the main page where we will position our text field and the save button.

For this file, we simply remove the Quasar logo from the template (thetag) and modify the script part to use the vueJS 3 composition api, so that the source looks like the following file:

 
Nach dem Login kopieren

We will now add the text field using the Quasar component QInput

To do this we add the q-input component to the page template:

Nach dem Login kopieren

You can see that the text field is displayed in the center of the screen, this is due to the Quasar flex and flex-center classes. These classes are defined by Quasar: Flexbox. We will fix this by placing the text field at the top of the screen, we will also take advantage of this to style the component.

Quasar even provides us with a Flex Playground to experiment and find the classes to put.

  
Nach dem Login kopieren

As you can see, we have defined a sentence reference in the script part to store the value entered by the user. It is associated via the v-model directive to the q-input component

We will finish this first part by adding the button allowing the recording of our pronunciation of the word or sentence. For this we will simply use the q-button component of Quasar and position it after our text field.

  
Nach dem Login kopieren

Note that we added the q-mt-lg class to air out the interface a bit by leaving some space above each component. You can refer to the Quasar documentation on spacing.

The application will look like:

Create a pronunciation assessment App (Part 1)

What will we do next

We have therefore managed to obtain the skeleton of our application.

In a future part we will see how to acquire the audio, then how to obtain a score via the SpeechSuper API

  • Part 2: Acquiring the audio
  • Part 3: Obtaining the score via the SpeechSuper API
  • Part 4: Packaging the application

Conclusion

Don't hesite on comments the post ! Part 2 will follow soon !

Das obige ist der detaillierte Inhalt vonErstellen Sie eine App zur Aussprachebewertung (Teil 1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!