Irgendwann fragte mich mein Sohn Kun, mein Vater.
Sohn Kun: "Papa, wie erinnerst du dich an englische Wörter?" Dad: Nun, liest du in Schulklassen laut vor? Dann trainierst du vielleicht, laut zu singen? Sohn Kun: "Nun, Leute, die es tun, tun es ..." Vater: "Werden Sie in der Lage, zuerst Lehrbücher zu übersetzen, damit Sie es sagen können, ohne es im nächsten Schritt anzusehen. Diese Art von Training ist effektiv." Sohn Kun: "Das ... ich kann es nicht singen." Papa: "Was ?! Wenn du es oft singst, kannst du dich an ein wenig erinnern, wenn nicht an alles, oder?" Sohn Kun: "Ein bisschen, aber ich werde müde, nachdem ich es oft gemacht habe, also bin ich nicht motiviert ..." Papa: (Im Ernst, das ist Akan, ich hasse es zu lernen, orz)
Die Praxis des "Lernens englischer Wörter" ist ein steiler Weg, den jeder einschlagen kann, es sei denn, er ist Eingeborener oder Rückkehrer. Es scheint, dass sein Sohn Kun bereits die Wand getroffen hat. Es gibt viele Möglichkeiten, sich an Wörter zu erinnern. Lassen Sie uns sie also ein wenig sortieren.
Der grundlegende Ansatz besteht darin, "englische Wörter zu lesen und sie zu trainieren, um sie ins Japanische zu übersetzen". Wenn Sie sich wiederholt daran gewöhnen, sollten Sie sich daran gewöhnen, wenn Sie sich daran erinnern.
Die folgenden Methoden sind typisch für das Auswendiglernen von Wörtern, aber da mein Sohn Kun nicht gut darin ist, wäre die Richtung von "1 englisches Wort" gut.
Es gibt die folgenden Methoden, um den Körper und nicht das Gehirn zu infiltrieren.
Nach vielen Recherchen scheint "2 Voice" in Bezug auf Effizienz und Praktikabilität gut zu sein. Sein Sohn Kun sagt jedoch auch, dass er nicht singen kann. Wenn es darum geht, scheint es auch unwahrscheinlich, dass die "Stimme von 2" machbar ist.
"1 schreiben" wird zeitlich schwierig sein. Was bleibt, ist die Verwendung von "3 Schallquellen", und es wäre besser, dies so weit wie möglich durch Abhören der Lückenzeit zu beheben. Aber wie organisieren Sie die Tonquellen? Viele der CDs im Anhang des Wortbuchs haben nur "englische Stimme". Es gibt eine Tonquelle, die eine Reihe von Englisch und Japanisch wiederholt, aber mein Sohn Kun sagt, er mag den Rhythmus nicht. In der Äußerung "worauf zu achten ist" beklagte er sich sogar darüber, dass "was" hartnäckig sei.
Was für ein Monsterkunde!
Wenn Produkte anderer Unternehmen oder im Handel erhältliche Produkte nicht verwendet werden können, bearbeiten Sie die Tonquelle selbst? Nein, selbst der Vater eines Ingenieurs, der die Welt durchquert, hat nicht so viel Zeit.
Ja, fragen wir den Google-Lehrer.
Dann kam eine Methode namens Hyakushiki English Words heraus. Das Wiederholen von englischen und japanischen Tonquellen ist gut. Oh, aber mein Sohn Kun ist kein Schüler. Gibt es keine andere Wahl, als die Tonquelle selbst herzustellen?
Sie können die Wörter angeben, an die Sie sich erinnern, und die Geschwindigkeit der Tonquelle anpassen. In einigen Fällen wäre es hilfreich, zwischen Englisch-> Japanisch und Japanisch-> Englisch zu wechseln.
In diesem Sinne dachte ich an die folgende Methode.
"Einrichten der Authentifizierung" im Artikel [Text-to-Speech-Client-Bibliotheken] von Google (https://cloud.google.com/text-to-speech/docs/reference/libraries?hl=JA) durchgeführt , Holen Sie sich die JSON-Datei
, die den Dienstkontoschlüssel enthält.
Geben Sie diese Datei als Argument des Programms an.
Dieser Dienst scheint kostenlos zu sein, um bis zu 1 Million Zeichen zu verwenden.
Die CSV-Datei hat das folgende Format.
Flagge | Id3tag_artist | Id3tag_album | Id3tag_title | english | japanese | output | loop_count |
---|---|---|---|---|---|---|---|
y | Papas Englisch | part1 | 0001 | begin | Start | ./mp3/kihon78/0001.mp3 | 2 |
Der Wert, mit dem Sie die Einstellung für jedes Wort ändern möchten, wird auf die Wortdefinitionsdatei festgelegt, und der Wert, der für jede Datei gut zu sein scheint, wird als Parameter festgelegt (Befehlszeilenargument). Es ist erforderlich, diesen Bereich entsprechend dem Bereich zu gestalten, in dem die Einstellungselemente angewendet werden sollen, z. B. ob er während der Systemdefinition, Anwendungsdefinition, Instanzdefinition oder aktiviert geändert werden kann. Dies hängt vom erwarteten Betrieb ab.
def create_audio(
output_path,
text,
params_language_code,
params_name,
params_speaking_rate):
client = texttospeech.TextToSpeechClient.from_service_account_json(
option.servicekey_of_file)
s_input = texttospeech.types.SynthesisInput(text=text)
voice_params = texttospeech.types.VoiceSelectionParams(
language_code=params_language_code, name=params_name)
audio_config = texttospeech.types.AudioConfig(
audio_encoding=texttospeech.enums.AudioEncoding.MP3,
speaking_rate=params_speaking_rate)
response = client.synthesize_speech(
s_input, voice_params, audio_config)
with open(output_path, 'wb') as out:
out.write(response.audio_content)
def synthesize_audio(
input_en_path,
input_jp_path,
loop_count,
output_path,
option):
loop_max = int(loop_count.strip())
audio_en = AudioSegment.from_mp3(input_en_path)
audio_jp = AudioSegment.from_mp3(input_jp_path)
opening_margin = AudioSegment.silent(duration=100)
between_sentences = AudioSegment.silent(duration=option.between_sentences)
between_the_loop = AudioSegment.silent(duration=option.between_the_loop)
if option.japanese_top:
audio = opening_margin + audio_jp + between_sentences + audio_en
if loop_max > 1:
for li in range(loop_max - 1):
audio += between_the_loop + audio_jp + between_sentences + audio_en
else:
audio = opening_margin + audio_en + between_sentences + audio_jp
if loop_max > 1:
for li in range(loop_max - 1):
audio += between_the_loop + audio_en + between_sentences + audio_jp
audio.export(output_path, format='mp3')
os.remove(input_en_path)
os.remove(input_jp_path)
Die vollständigen Implementierungen finden Sie auf github. Wenn Sie möchten, lesen Sie diese bitte.
Future Work