Universal function library of scientific calculation.
-
Let the video play at N times speed (install ffmpeg first)
guang av_speed inputname outputname N --cut_frame=False
-
Fourier visualization
guang fourier
-
Fourier draw anything you want
-
FFT convolution
from guang.sci import fft
A = np.random.rand(100, 100)
B = np.random.rand(100, 100)
fft.fft_conv2d(A, B)
-
Use dict_dotable
to convert a dictionary to dot-able dictionary:
from guang.Utils.toolsFunc import dict_dotable
a = {'a':{'b':1}}
a = dict_dotable(a)
print(a.a.b)
>> 1
-
Use probar
to display current progress has separated to pyprobar
from guang.Utils.bar import bar, probar
for idx, x in probar(range(10)):
time.sleep(0.8)
>> 100.00% |█████████████████████████████| 0'7.2"|0'7.2" ETC: 12-2 23:59:8
N = 1024
a = np.linspace(2, 5, N)
for idx, i in enumerate(a):
time.sleep(0.01)
bar(idx, N)
>> 100.00% |█████████████████████████████| 0:00:00|0:00:10 ETC: 02-19 20:33:34
-
@broadcast
broadcast a non-broadcast function.
from guang.Utils.toolsFunc import broadcast
@broadcast
def f(x):
if x==1 or x==0:
return x
else:
return f(x-1)+f(x-2)
>> f([2,4,10])
>> array([1, 3, 832040], dtype=object)
-
download
download files from google drive.
from guang.Utils.google import download
url = "https://drive.google.com/open?id=1eU57Fkv1DBEOqi-iOs1AebD02FqVDY23"
outname = "filename.zip"
download(url, outname)
-
txt2ph
Convert Chinese characters to phoneme.
from guang.Voice.txt2pinyin import txt2ph
txt2ph('你好,我是光')
>> [('n', 'i3'), ('h', 'ao3'), ('sp1',), ('uo3',), ('sh', 'ii4'), ('g', 'uang1')]
-
reduce_from_duration
Remove files with duration less than least_time
seconds.
Note that this function does not work in the interactive interpreter because it uses multiprocessing.pool.Pool
from guang.Voice.reduce import reduce_from_duration
reduced_list = reduce_from_duration(path_list, least_time=2)
print(len(path_list), len(reduced_list))
>> (6889, 6714)
-
Find NOT silence part of a sound file: find_no_silence
from guang.Voice.reduce import find_no_silence
start, end, arg_start, arg_end = find_no_silence(filename)
-
Download wechat files.
from guang.wechat.Utils.download import downloads
downloads(nickName='caloi', fileType='mp3', d_t=60)
-
Plots 3D Scatter:
from guang.Utils.plotly import Scatter3d
from guang.Utils.interesting import Lorenz
trace = Lorenz.Trace()
x,y,z = trace[:,0], trace[:,1], trace[:,2]
fig = Scatter3d()
fig.scatter3d(x,y,z,mode="lines+markers",color_line=z,color_marker=None,marker_size=2)
fig.show()
-
Data dimension reduction:
cd guang/ML/manifold
python test_digits.py
python test_s_curve
-
:smiley: