Simulator kata bahasa Inggris yang paling sederhana menggunakan Python dan Balabolka

Ada sejumlah besar metode berbeda dalam mempelajari bahasa asing pada umumnya dan bahasa Inggris pada khususnya. Namun apa pun metodenya, mempelajari kata-kata masih diperlukan.

Untuk keperluan ini, ada begitu banyak simulator berbeda dengan pilihan kata untuk dipelajari. Namun, kemampuan mereka terkadang tidak cukup.

Pada salah satu simulator ini, saya sudah cukup banyak belajar kata-kata. Dan dihadapkan dengan satu masalah. Simulator menawarkan kata Rusia, sebagai tanggapan Anda perlu menulis kata ini dalam bahasa Inggris, penyiar (sebenarnya synthesizer ucapan) kemudian menyuarakan versi bahasa Inggris. Saya menulis semua kata dengan sempurna, namun ketika saya melihat teks bahasa Inggris, saya hanya ingat bahwa saya mengajarkan kata ini, tetapi saya tidak ingat apa artinya. Artinya, saya menyadari bahwa saya kurang bisa mengenali kata-kata.

Kelemahan lain dari simulator yang dipilih adalah posisi kosong ditawarkan untuk input, ke mana huruf harus dimasukkan, dan saya selalu punya petunjuk berapa banyak huruf harus dalam kata, dan ini bukan olahraga.

Berdasarkan pertimbangan ini, saya menyadari bahwa saya ingin membuat simulator untuk mengulangi kata-kata yang saya pelajari. Simulator ini harus berbahasa Inggris-Rusia ke arah terjemahan dan dengan akting suara dari teks bahasa Inggris untuk melatih mendengarkan.

Prosedur untuk memecahkan masalah adalah sebagai berikut:

  • Saya menyiapkan file csv dari dua kolom: 'kata' dan 'menerjemahkan', yang mencakup semua kata yang saya butuhkan.
  • Saya mengunduh versi konsol Balabolka, program gratis terkenal (text-to-speach), yang dirancang untuk menyuarakan teks apa pun dari file atau dari clipboard.
  • Saya menulis kode yang berfungsi di Notebook Jupiter di bawah sistem operasi Windows 10.

Saya tidak segera datang menggunakan Balabolka. Pada awalnya saya ingin menggunakan pyttsx3 library, tetapi banyak kesalahan crash ketika menginisialisasi paket pyttsx3.init (), dan tidak ada suara ketika memulai pyttsx3.init ('dummy'). Saya tidak berhasil menembus kesalahpahaman timbal balik dengan paket ini, jadi saya harus mencari opsi lain, dan saya berhasil dengan Balabolka.

Kode yang saya dapatkan adalah ini:

import subprocess, clipboard
import pandas as pd

Mulai standar. Jika panda tahu segalanya, maka pustaka sub-proses dan clipboard tidak saya kenal. Paket subproses mengakses versi konsol Balabolka, mensimulasikan baris perintah. Paket clipboard memungkinkan Anda untuk menyalin teks ke clipboard, dari mana itu akan dibaca oleh synthesizer ucapan.

words = pd.read_csv ('C:/.../Python_Scripts/words.csv', delimiter=';')
words.head()

Saya membaca file csv yang disiapkan dengan kata-kata dan terjemahan.

words.shape

Dan saya selalu mengontrol nilai-nilai variabel, apa yang tertulis di dalamnya dan bagaimana.

words1 = words.sample(frac=1)
words1.head()

Saya mencampur kata-kata dalam file seperti kartu, agar tidak mengingat urutan kata-kata.

words10 = words1.iloc[0:100]

Terkadang tidak ada cukup waktu untuk menelusuri seluruh file kata dan di sini Anda dapat membatasi jumlah kata yang diulang.

for i in range (len (words10)):
    path = r'C:\...\balcon\balcon.exe'
    flag = ' -n Slt -s -3 -c'
    clipboard.copy (words10['word'].iloc[i])
    subprocess.Popen(path + flag, creationflags=0, close_fds = True)
    print ("\033[1m {}\033[0m" .format(words10['word'].iloc[i]))
    tr = input ()
    print ("\033[1m {}\033[0m" .format(words10['translate'].iloc[i]))
    res = words10['translate'].iloc[i] == tr
    if res == True:
        print("\033[1m\033[36m {}\033[0m" .format(''))
    else:
        print("\033[1m\033[31m {}\033[0m" .format(''))
    i = +1

Teks program itu sendiri.

Dalam variabel path, saya memanggil versi konsol Balabolka, file balcon.exe.

Konsol memiliki parameter panggilan sendiri yang ditulis ke variabel flag.

Secara khusus, di sini saya menggunakan:

  • suara gratis -n Slt (itu diunduh dari pengembang synthesizer suara Olga Yakovleva, saya mengambil suara bahasa Inggris dengan kejelasan pengucapan yang saya butuhkan dan, pada kenyataannya, suara itu bisa yang lain)
  • kecepatan pengucapan -s -3 (opsi ini berarti memperlambat kecepatan pengucapan -3 dari standar)
  • membaca dari clipboard -c (Balabolka dapat membaca teks baik dari file maupun dari clipboard; saya memilih clipboard, karena membuat ribuan file dengan kata-kata adalah pekerjaan yang mengerikan).

Hasil dari program ini terlihat seperti ini:

Jendela Notebook Jupiter

Pada awalnya, "sosis" panjang keluaran tanpa menyoroti teks tampak benar-benar tidak dapat dibaca (pertama kata dalam bahasa Inggris, kemudian jawaban yang saya masukkan, kemudian output dari terjemahan yang benar, kemudian hasil membandingkan versi asli dan yang dimasukkan, berjumlah empat baris per kata). Ini membuatnya sangat sulit untuk menganalisis kesalahan. Saya harus menggunakan kode ANSI sehingga nantinya saya bisa dengan cepat menemukan kata-kata itu di tempat saya melakukan kesalahan.

Simulator paling sederhana ini tidak berpura-pura menjadi asli. Sejumlah besar program yang lebih maju telah dibuat, tetapi untuk menyelesaikan masalah lokal saya sendiri, hasil ini cocok untuk saya. Saya bisa mengendalikannya dari awal hingga akhir. Script dapat dimodifikasi, menghapus ejaan kata bahasa Inggris, hanya menyisakan suara dan melatih mendengarkan. Anda juga dapat mengubah arah terjemahan dan melatih ejaan kata-kata bahasa Inggris, yang tidak cukup bagi saya dalam simulator asli, dan dengan mana seluruh cerita ini dimulai.

Saya akan senang jika skrip sederhana ini membantu orang yang tidak memiliki keterampilan pemrograman yang kuat untuk membuat simulator sendiri atau untuk mengimplementasikan sesuatu yang lain berdasarkan kode ini.

All Articles