Mac終端機自建單字庫練習
目的
想透過終端機學習英文,可以讓終端機從自己詞庫隨機列出相關英文詞庫資訊,並且可以重覆發音。在零碎時間中隨時練習英文。
實作
這次實作使用的技術如下:
say
指令: Mac內建指令say
可進行英文發音,缺點是聲音太機器聲~~- ChatGPT: 透過ChatGPT生成相關領域英文與翻譯,如下:
請列出100個機器學習相關技術名詞或片語,並以cvs list格式顯示,例如 machine learning, 機器學習, 簡短功能描述
- Youtube: 終端機產生
https://youtube.com/results?search_query=Epoch教學
一個連結,可以直接透過YT搜尋相關教學內容。 - Python: 透過python解析CSV文檔進行循環資訊列印與呼叫英文發音。
- Bash: 透過Bash縮短成容易記憶與簡短指令。另如輸入
le__machine_learning
或l1
時,就會資料在終端機顯次六個隨機英文練習。
原始碼
- learn_english.py: 主程式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69import os
import random
import subprocess
import sys
import urllib.parse
repeat = 1 # 每個單字重複次數
learn_count = 6 # 每次學習單字數量
current_path = os.path.dirname(__file__)
# 讀取英文清單
with open(f'{current_path}/learn_english/{sys.argv[1]}.txt', 'r') as f:
items = [row.strip() for row in f.readlines()]
if len(sys.argv) > 2:
learn_count = int(sys.argv[2])
for index, item in enumerate(random.sample(items, learn_count)):
item = [o.strip() for o in item.strip().split(',')]
i = repeat
while i > 0:
i -= 1
# 顯示單字與中文翻譯
print(f'''{index + 1}. \033[91m{item[0]} \033[0m | \033[34m{item[1]}\033[0m | \033[94m{item[2]}\033[0m''')
# 顯示YT參考影片
encoded_string = urllib.parse.quote(f"{item[0]}學習")
print(f'\033[4mhttps://youtube.com/results?search_query={encoded_string}\033[0m \n')
# 自訂發音次數
# subprocess.run(["say",
# f"-r 150",
# item[0],
# ])
#
# subprocess.run(["say",
# f"-r 150",
# item[0],
# ])
subprocess.run(["say",
f"-r 200",
item[0],
])
subprocess.run(["say",
f"-r 200",
item[0],
])
subprocess.run(["say",
f"-r 200",
item[0],
])
subprocess.run(["say",
f"-r 200",
item[0],
])
"""
-v: 指定使用的語音類型,例如-v Alex或-v Victoria
-r: 設定語速,例如-r 150
-o: 指定輸出檔案的路徑和檔名,例如-o output.aiff
-f: 指定要轉換的文字檔案路徑,例如-f input.txt
-i: 指定要轉換的文字,例如-i "Hello, how are you?"
""" - learn_english.sh: Bash簡短指令
1
2
3
4
alias le__machine_learning="python3 {您的路徑}/learn_english.py machine_learning"
alias l1="python3 {您的路徑}/learn_english.py machine_learning"
評論