Skip to main content

Some tools function

Project description

Guang

image image image image

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

Installation

pip install guang

Nightly Build

pip install git+https://github.com/beidongjiedeguang/guang

Examples

  • Convert audio in .mp3/ .wav format to (sample rate=16k, single channel) .wav format

    from guang.Voice.convert import cvt2wav
    cvt2wav(orig_path, target_path, sr=16000)
    
    # Multi-process
    from guang.Voice.convert import multi_cvt2wav 
    multi_cvt2wav(PATH1, PATH2,sr=16000, n_cpu=None)
    
  • 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

    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):
        # 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)
    
  • 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 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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

guang-0.0.7.9.5.tar.gz (27.8 kB view hashes)

Uploaded Source

Built Distribution

guang-0.0.7.9.5-py3-none-any.whl (48.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page