Giter Club home page Giter Club logo

pysptk's Introduction

pysptk

PyPI Python package Build Status Coverage Status Documentation Status License DOI

A python wrapper for Speech Signal Processing Toolkit (SPTK).

NOTE: pysptk is based on a modified version of SPTK (r9y9/SPTK).

Documentation

  • STABLEmost recently tagged version of the documentation.
  • LATESTin-development version of the documentation.

Demonstration notebook

Installation

The latest release is availabe on pypi and you can install it by:

pip install pysptk

If yout want the latest master, run

pip install git+https://github.com/r9y9/pysptk

or clone the repository and then build it yourself.

pysptk's People

Contributors

jfsantos avatar maratsubkhankulov avatar r9y9 avatar wuaalb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pysptk's Issues

versions with sptk

In sptk, the help msg show like before,

freqt -h

 freqt - frequency transformation

  usage:
       freqt [ options ] [ infile ] > stdout
  options:
       -m m  : order of minimum phase sequence      [25]
       -M M  : order of warped sequence             [25]
       -a a  : all-pass constant of input sequence  [0]
       -A A  : all-pass constant of output sequence [0.35]
       -h    : print this message
  infile:
       minimum phase sequence (float)               [stdin]
  stdout:
       warped sequence (float)

 SPTK: version 3.11
 CVS Info: $Id$

But in pysptk, there is only two parameter(order=25, alpha=0.0), I wonder what's the difference, is it because of the version?

I'm really green hand, i'm sorry for the silly question if it is.

Support float32 and float64 conversion

Sometimes It's frustrating that we have to make sure the array to be np.float64-typed, e.g.

pysptk.mcep(x.astype(np.float64), order=24, alpha=0.41).astype(np.float32) # I like float32, so I need to convert it again

Maybe we need a function wrapper that automatically does this kind of type conversions.

FFT length not equal to original SPTK code

I am using pysptk with World vocoder, and found that when using the mcep() function, the FFT length parameter is not same compare with the original C code.

In Pysptk the fft_length = len(windowed_data), but in C code we can input a fft_length directly.

In my case my data is 513 length ,and fft_length should be 1024, I try to modify the code for fft_length =(len(window)-1)*2, the function is ok, but the pysptk got Segmentation fault:11 frequenctly.

Can you fixed it as same as the original SPTK?

Extend vector2vector operations to matrix2matrix

We often do frame-by-frame processing. For example, if we want to compute mel-cepstrum for each frame, currently we need to write something lke:

frames = ... # shape: (num_frames, frame_len)
mc = np.apply_along_axis(pysptk.mcep, 1, frames, order=24, alpha=0.41)

I've been thinking recently it would be useful if we can simply write:

mc = pysptk.mcep(frames, order=24, alpha=0.41)

pysptk.mgc2sp vs spkt mgc2sp: different results?

Hi, it's a bit a continuation from the issue raised with pyworld. I've made a vocoder module based on pyworld / pysptk and noticed that the re-synthesised speech (simple copy synthesis) sounded like it was low pass filtered (in addition to some artefacts introduced by pyworld). I traced this to a problem with the conversion of the mcep coefficients to the spectral envelope. I made a comparison between sptk and pysptk and found that the spectral envelope resynthesised by pysptk.mg2sp is lower in the high frequencies than both the original spectral envelope and the resynthesised envelope with sptk.
Here's the comparison:

demo_mcep_encoding

questions about function mc2sp in conversion.py

hi, @r9y9. I have questions about function mc2sp in conversion.py when reading your codes. the parameter 'mc' passed into 'mc2sp' is a 2d array, and i tested that 'c' returned by 'freqt' is also a 2d array. But, 'symc' declared in this function is a 1d array as 'symc=np.zeros(fftlen)', and is it wrong about the code 'symc[0] = c[0]'?

MFCC

I should consider to port mfcc, though as far as I remember, SPTK's mfcc is a little buggy.

mgcep with itype != 0

Hello r9y9,

Thanks a lot for making this repo. I have the following problem: I am extracting the amplitude spectrum with some other program and like to use the mgcep function to turn amplitude spectrum into MGCs. However, the windowed_length, which determines the fft size and has to be a power of 2, is taken from the input array, which causes the following error:

fft : m must be a integer of power of 2!

cdef int windowed_length = len(windowed)

Taking the size from the input directly is only correct for the input of a windowed signal (itype==0), for all others, I think, it should be (len(windowed) - 1) * 2, probably the same as in the mcep function:
frame_length = (len(windowed) - 1) * 2 # fftlen

It would be great if you can take a look at it. Thanks!

Best

The question about “failed to compute LPC. Please try again with different parameters”

I am very happy to find that your library can calculate LPC coefficients. Because the pyhton package named “audiolazy” is very slow to calculate. So I tried this package from "pip install" to test the accuracy. But I regret to find that many frames cannot be calculated with the message “failed to compute ......”. While audiolazy or MATLAB can calculate them correctly. In frames that can be calculated, the first coefficient of the output is not 1 and the other coefficients are correct. Are these pysptk bugs or my wrong operations?

There is the code of calculating LPCs by different packages

import librosa
import numpy as np
import audiolazy.lazy_lpc as alpc
import pysptk.sptk as pplc


def readWave(filename, frame_len):
    wave_data, fs = librosa.load(filename, sr=None, mono=False, dtype='float64')
    length = len(wave_data)
    n = frame_len / 2
    last = length % n
    if last != 0:  # If samples are not an integer multiple of N/2, then zeros should be filled in.
        new_len = length + n - last
        wave_data = np.append(wave_data, np.zeros(int(n - last)))
        frame = int(new_len / n - 1)
    else:
        frame = int(length / n - 1)
    return wave_data, frame, fs


# get lpcs by audiolazy package
def getALPC(wav, frame, frame_len, order):
    n = int(frame_len / 2)
    win = np.hanning(frame_len)
    wav_frame = np.empty([frame, frame_len]) 
    lpc_frame = np.empty([frame, order + 1])
    for i in range(0, frame):
        wav_frame[i, :] = wav[i * n: (i + 2) * n] * win
        lpc_frame[i, :] = alpc.lpc(wav_frame[i, :], order).numerator
    return lpc_frame, wav_frame

# get lpcs by pysptk package
def getPLPC(wav, frame, frame_len, order):
    n = int(frame_len / 2)
    win = np.hanning(frame_len)
    wav_frame = np.empty([frame, frame_len])  
    lpc_frame = np.empty([frame, order + 1])
    for i in range(0, frame):
        wav_frame[i, :] = wav[i * n: (i + 2) * n] * win
        lpc_frame[i, :] = pplc.lpc(wav_frame[i, :], order)
    return lpc_frame, wav_frame


if __name__ == '__main__':
    frame_len = 512
    order = 8
    file_name = r"E:\Database\Hurricane_speech_corpus\mrt\lombard_mrt\mrt_001_2.wav"               
    wav_in, frame, fs = readWave(file_name, frame_len)
    lpc_frame0, wav_frame0 = getALPC(wav_in, frame, frame_len, order)
    lpc_frame1, wav_frame1 = getPLPC(wav_in, frame, frame_len, order)

Getting the error 'pysptk' has no attribute 'sptk'

AttributeError                            Traceback (most recent call last)
<ipython-input-4-ab1e3204dd3d> in <module>
----> 1 features1=articulationf.extract_features_file(file_audio, static=True, plots=True, fmt="npy")
      2 print(features1.shape)

~/PycharmProjects/DisVoice/articulation/articulation.py in extract_features_file(self, audio, static, plots, fmt, kaldi_file)
    260             segmentsOff=V_UV(F0, data_audio, fs, 'offset')
    261 
--> 262         BBEon, MFCCon=extractTrans(segmentsOn, fs, size_frameS, size_stepS, self.nB, self.nMFCC)
    263         BBEoff, MFCCoff=extractTrans(segmentsOff, fs, size_frameS, size_stepS, self.nB, self.nMFCC)
    264 

~/PycharmProjects/DisVoice/articulation/articulation_functions.py in extractTrans(segments, fs, size_frameS, size_stepS, nB, nMFCC, nfft)
    104         frame_act=np.hstack((frames[j], np.zeros(fill)))
    105         BarkEn[j,:]=barke(frame_act,fs, nfft, nB)
--> 106         MFCC[j,:]=pysptk.sptk.mfcc(frame_act, order=nMFCC, fs=fs, alpha=0.97, num_filterbanks=32, cepslift=22, use_hamming=True)
    107     return BarkEn, MFCC
    108 

AttributeError: module 'pysptk' has no attribute 'sptk'```

install failed on python3.6

I got the following error while installing pysptk on python3.6. Installing numpy before pysptk could work around.

Collecting pysptk
Downloading https://files.pythonhosted.org/packages/7c/25/4ea0932fbf0f1db42934b85011c1c825bcf57055ecde7e511f05e9fb9197/pysptk-0.1.18.tar.gz (419kB)
100% |################################| 419kB 3.0MB/s
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 154, in save_modules
yield saved
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 195, in setup_context
yield
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 250, in run_setup
_execfile(setup_script, ns)
File "/usr/lib/python3/dist-packages/setuptools/sandbox.py", line 45, in _execfile
exec(code, globals, locals)
File "/tmp/easy_install-0t3fb45w/numpy-1.20.0rc1/setup.py", line 30, in
pass
RuntimeError: Python version >= 3.7 required.

Installation guide

There is some dependency that must be satisfied before installing by pip. For example, I had to install python-pip, python-dev and python-numpy in a clean ubuntu 14.04 (in vagrant). I should note some installation guide.

compilation error?

I tried to install pysptk, but unfortunately got the following error.

The whole messages is here;
https://gist.github.com/tam17aki/b67d374ed094997d07dc

Best regards,
Akira


duplicate symbol _ppade in:

build/temp.macosx-10.9-x86_64-2.7/lib/SPTK/bin/lmadf/_lmadf.o

build/temp.macosx-10.9-x86_64-2.7/lib/SPTK/bin/mlsadf/_mlsadf.o

ld: 1 duplicate symbol for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: command 'clang' failed with exit status 1

Add support to the RAPT pitch extraction algorithm

I would like to use RAPT as the pitch extraction algorithm as in my (limited) experience it has slightly better performance than SWIPE'. Could you describe the required steps to add it? I can implement it myself and send a pull request.

Why does the pysptk.conversion.sp2mc function

I am beginner to signal processing, and I found in sp2mc, the return is

mc:array, shape(order+1)
mel-cepstrum

I wonder if the given order of MCEP is 24, why does the return is 25? Shouldn't it be exactly the same of the given order——24?
And I found the first column is significantly larger the other columns, and some code call the first column "c0", what does it represent?
I check SPTK document, but can not found out why, thank you very much in advance.

The env var used to determine the build tools path for compiling c stuff

Running setup.py install for pysptk ... error
Complete output from command d:\coding\pyfastcache\pyvenv\qppwgnov2020stdref\scripts\python.exe -u -c "import setuptools, tokenize;file='C:\Users\sumur\AppData\Local\Temp\pip-install-a_nxk4m_\pysptk\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record C:\Users\sumur\AppData\Local\Temp\pip-record-bfudty5b\install-record.txt --single-version-externally-managed --compile --install-headers d:\coding\pyfastcache\pyvenv\qppwgnov2020stdref\include\site\python3.7\pysptk:
running install
running build
running build_py
-- Building version 0.1.18
creating build
creating build\lib.win-amd64-3.7
creating build\lib.win-amd64-3.7\pysptk
copying pysptk\conversion.py -> build\lib.win-amd64-3.7\pysptk
copying pysptk\sptk.py -> build\lib.win-amd64-3.7\pysptk
copying pysptk\synthesis.py -> build\lib.win-amd64-3.7\pysptk
copying pysptk\util.py -> build\lib.win-amd64-3.7\pysptk
copying pysptk\version.py -> build\lib.win-amd64-3.7\pysptk
copying pysptk_init_.py -> build\lib.win-amd64-3.7\pysptk
creating build\lib.win-amd64-3.7\pysptk\example_audio_data
copying pysptk\example_audio_data\arctic_a0007.wav -> build\lib.win-amd64-3.7\pysptk\example_audio_data
copying pysptk\example_audio_data\COPYING -> build\lib.win-amd64-3.7\pysptk\example_audio_data
running build_ext
skipping 'pysptk_sptk.c' Cython extension (up-to-date)
building 'pysptk._sptk' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/

Again to rephrase,where is the Variable used to determine that the MVCpp does not exist.
I had a local copy but i do not know what is the Variable used.

after success: coveralls error in python 3.4

The command "nosetests --with-coverage --cover-package=pysptk -v -w tests/" exited with 0.
$ coveralls
Submitting coverage to coveralls.io...
Source file is not python pysptk/sptk
Traceback (most recent call last):
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/tokenize.py", line 375, in find_cookie
    line_string = line.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 24-25: invalid continuation byte

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/travis/virtualenv/python3.4.2/bin/coveralls", line 9, in <module>
    load_entry_point('coveralls==0.5', 'console_scripts', 'coveralls')()
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/coveralls/cli.py", line 60, in main
    result = coverallz.wear()
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/coveralls/api.py", line 78, in wear
    json_string = self.create_report()
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/coveralls/api.py", line 97, in create_report
    data = self.create_data()
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/coveralls/api.py", line 145, in create_data
    self._data = {'source_files': self.get_coverage()}
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/coveralls/api.py", line 157, in get_coverage
    return reporter.report()
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/coveralls/reporter.py", line 27, in report
    self.parse_file(cu, self.coverage._analyze(cu))
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/coverage/control.py", line 592, in _analyze
    return Analysis(self, it)
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/coverage/results.py", line 22, in __init__
    exclude=self.coverage._exclude_regex('exclude')
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/coverage/parser.py", line 29, in __init__
    sourcef = open_source(self.filename)
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/tokenize.py", line 438, in open
    encoding, lines = detect_encoding(buffer.readline)
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/tokenize.py", line 416, in detect_encoding
    encoding = find_cookie(first)
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/tokenize.py", line 380, in find_cookie
    raise SyntaxError(msg)
SyntaxError: invalid or missing encoding declaration for '/home/travis/build/r9y9/pysptk/pysptk/sptk.cpython-34m.so'

FFT for n points (non power of 2)

I was using the library to extract the mfccs from an audio signal (.wav) and I came across the following message: "fft: m must be an integer of power of 2!". I was wondering if it would be interesting to modify this module to circumvent such limitations. I'm willing to work on it if you have no problems.

Continuous integration build fails because numpy is missing.

Hi @r9y9,

I am building building a project which has pysptk as a dependency and my builds are failing because the setup.py script requires numpy as a dependency.

For my CI, I can use an easy workaround and install numpy previous to running my project's pip install. Anyway this could create problems for production builds (e.g. docker) and usability problems in general.

I think this could be easily fixed using the setup_requires in your setup.py. Search for setup_requires here.

I am willing to look into this and eventually submit a PR if you want.

Test failure cases

  • adaptive cepstrum analysis a2e57b9
  • conversion functions 6cbde79
  • mel-generalized cepstrum analysis
  • synthesis filters
  • window functions
  • utils

and then reorganize tests

pysptk setup error

Hi, when pull code from github and install manually by python setup.py build an error occured

running build running build_py -- Building version 0.1.15+71b73cc copying pysptk/version.py -> build/lib.linux-x86_64-3.6/pysptk running build_ext skipping 'pysptk/_sptk.c' Cython extension (up-to-date) building 'pysptk._sptk' extension gcc -pthread -B /opt/anaconda3-5.1.0/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/opt/anaconda3-5.1.0/lib/python3.6/site-packages/numpy/core/include -I/root/pysptk/lib/SPTK/include -I/opt/anaconda3-5.1.0/include/python3.6m -c pysptk/_sptk.c -o build/temp.linux-x86_64-3.6/pysptk/_sptk.o -std=c99 pysptk/_sptk.c:523:18: fatal error: SPTK.h: No such file or directory compilation terminated. error: command 'gcc' failed with exit status 1

so, how to slove this?

f0 and pitch

Hello, I want to know what is the conversion relationship between f0 and pitch?
I run the same data to get f0 and pitch, which are different from the conversion relationship I know.

f0 = pysptk.swipe(data.astype(np.float64), fs=16000, hopsize=80, min=60, max=200, otype="f0")
pitch = pysptk.swipe(data.astype(np.float64), fs=16000, hopsize=80, min=60, max=200, otype="pitch")
f0[:6]

Out[4]:
array([ 60. , 60. , 60. , 196.24851072, 194.48506966, 0. ])

pitch[:6]
Out[5]:
array([266.66666667, 266.66666667, 266.66666667, 81.52928112, 82.26852595, 0. ])

Failing build with readthedocs on external package

Hi there,
Firstly thanks a lot for your work on pysptk!
I want to use pystpk to build another package. When trying to compile my documentation with readthedocs, the build fails on pysptk. Any idea on what is happening would be very appreciated.

See the error message:

Installed /home/docs/checkouts/readthedocs.org/user_builds/MyPackage/envs/latest/lib/python3.7/site-packages/PeakUtils-1.3.3-py3.7.egg
Searching for pysptk==0.1.18
Reading https://pypi.org/simple/pysptk/
Downloading https://files.pythonhosted.org/packages/7c/25/4ea0932fbf0f1db42934b85011c1c825bcf57055ecde7e511f05e9fb9197/pysptk-0.1.18.tar.gz#sha256=34c5ccc40c9e177cfd764daa9f7635c4c1e648e14ce78ba975537dae5a14c4e4
Best match: pysptk 0.1.18
Processing pysptk-0.1.18.tar.gz
Writing /tmp/easy_install-x00vsruw/pysptk-0.1.18/setup.cfg
Running pysptk-0.1.18/setup.py -q bdist_egg --dist-dir /tmp/easy_install-x00vsruw/pysptk-0.1.18/egg-dist-tmp-mk3n2z_u
fatal: not a git repository (or any of the parent directories): .git
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/MyPackage/envs/latest/lib/python3.7/site-packages/setuptools/sandbox.py", line 154, in save_modules
    yield saved
  File "/home/docs/checkouts/readthedocs.org/user_builds/MyPackage/envs/latest/lib/python3.7/site-packages/setuptools/sandbox.py", line 195, in setup_context
    yield
  File "/home/docs/checkouts/readthedocs.org/user_builds/MyPackage/envs/latest/lib/python3.7/site-packages/setuptools/sandbox.py", line 250, in run_setup
    _execfile(setup_script, ns)
  File "/home/docs/checkouts/readthedocs.org/user_builds/MyPackage/envs/latest/lib/python3.7/site-packages/setuptools/sandbox.py", line 45, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-x00vsruw/pysptk-0.1.18/setup.py", line 173, in <module>
  File "/home/docs/checkouts/readthedocs.org/user_builds/MyPackage/envs/latest/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/home/docs/.pyenv/versions/3.7.3/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/home/docs/.pyenv/versions/3.7.3/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/home/docs/.pyenv/versions/3.7.3/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/docs/checkouts/readthedocs.org/user_builds/MyPackage/envs/latest/lib/python3.7/site-packages/setuptools/command/bdist_egg.py", line 163, in run
    self.run_command("egg_info")
  File "/home/docs/.pyenv/versions/3.7.3/lib/python3.7/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/home/docs/.pyenv/versions/3.7.3/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/home/docs/checkouts/readthedocs.org/user_builds/MyPackage/envs/latest/lib/python3.7/site-packages/setuptools/command/egg_info.py", line 296, in run
    self.find_sources()
  File "/home/docs/checkouts/readthedocs.org/user_builds/MyPackage/envs/latest/lib/python3.7/site-packages/setuptools/command/egg_info.py", line 303, in find_sources
    mm.run()
  File "/home/docs/checkouts/readthedocs.org/user_builds/MyPackage/envs/latest/lib/python3.7/site-packages/setuptools/command/egg_info.py", line 534, in run
    self.add_defaults()
  File "/home/docs/checkouts/readthedocs.org/user_builds/MyPackage/envs/latest/lib/python3.7/site-packages/setuptools/command/egg_info.py", line 570, in add_defaults
    sdist.add_defaults(self)
  File "/home/docs/.pyenv/versions/3.7.3/lib/python3.7/distutils/command/sdist.py", line 228, in add_defaults
    self._add_defaults_ext()
  File "/home/docs/.pyenv/versions/3.7.3/lib/python3.7/distutils/command/sdist.py", line 311, in _add_defaults_ext
    build_ext = self.get_finalized_command('build_ext')
  File "/home/docs/.pyenv/versions/3.7.3/lib/python3.7/distutils/cmd.py", line 299, in get_finalized_command
    cmd_obj.ensure_finalized()
  File "/home/docs/.pyenv/versions/3.7.3/lib/python3.7/distutils/cmd.py", line 107, in ensure_finalized
    self.finalize_options()
  File "/tmp/easy_install-x00vsruw/pysptk-0.1.18/setup.py", line 38, in finalize_options
AttributeError: 'dict' object has no attribute '__NUMPY_SETUP__'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.