Guang
Universal function library of scientific calculation.
Requirements
Python 3
CUDA >= 10.0
PyTorch >= 1.0
Tensorflow >= 1.12.0
opencv-python
pydub
librosa
pyworld
soundfile
pypinyin
pomegranate
python-Levenshtein
streamlit
pyprobar
fire
Installation
# Before install `guang`, you need to have all the requirements installed.
pip install guang
Nightly Build
git clone https://github.com/beidongjiedeguang/guang.git
cd guang
python ./night_workflow.py
Examples
-
Convert audio in .mp3/ .wav format to (sample rate=16k, single channel) .wav format
Use in bash/shell
guang cvt2wav INPUT OUTPUT
Use as function
from guang.Voice.convert import cvt2wav cvt2wav(input_name, output_name, sr=16000) # Multi-process from guang.Voice.convert import multi_cvt2wav multi_cvt2wav(PATH1, PATH2,sr=16000, n_cpu=None)
-
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_dotableto 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
-
Usehas separated to pyprobarprobarto display current progressfrom 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
-
@broadcastbroadcast a non-broadcast function.from guang.Utils.toolsFunc import broadcast @broadcast def f(x): # A function that can map only a single element 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)
-
downloaddownload 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)
-
txt2phConvert Chinese characters to phoneme.from guang.Voice.txt2pinyin import txt2ph txt2ph('你好,我是光') >> [('n', 'i3'), ('h', 'ao3'), ('sp1',), ('uo3',), ('sh', 'ii4'), ('g', 'uang1')]
-
reduce_from_durationRemove files with duration less thanleast_timeseconds. Note that this function does not work in the interactive interpreter because it usesmultiprocessing.pool.Poolfrom 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_silencefrom 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 -
😃
Metadata
Release files for guang 0.0.8.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| guang-0.0.8.1.6.tar.gz | 112.9 kB | Without provenance | Details for guang-0.0.8.1.6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| guang-0.0.8.1.6-py3-none-any.whl | Python 3 | none | any | Details for guang-0.0.8.1.6-py3-none-any.whl |
Total release size: 270.3 kB
Release files / guang-0.0.8.1.6.tar.gz
| Download URL | guang-0.0.8.1.6.tar.gz |
|---|---|
| Size | 112.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0b9c52a4f32f6c9905f68cca944914e3172e5d1d78cd775d2e9ae09ea870faa4
|
|
BLAKE2b-256 checksum How to use checksums |
06f15b86c3b52f01a86fb32ef21d712a00fa2e5396deae9d97cc6ba3bdd32431
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5
|
Release files / guang-0.0.8.1.6-py3-none-any.whl
| Download URL | guang-0.0.8.1.6-py3-none-any.whl |
|---|---|
| Size | 157.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9acf0ccaf4bc80221cd9fc86a7fd2fbfff30ae5ae2977b4993ceeacf38be658f
|
|
BLAKE2b-256 checksum How to use checksums |
800db5f0558ded4acbf71b492a66fcf4fd87cb5205fa6b5baf8e0f1dd12e2e88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5
|
Security for guang 0.0.8.1.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.