GithubHelp home page GithubHelp logo

arkrow / pymusiclooper Goto Github PK

View Code? Open in Web Editor NEW
233.0 233.0 20.0 611 KB

A python program for repeating music endlessly and creating seamless music loops, with play/export/tagging support.

Home Page: https://pypi.org/project/pymusiclooper/

License: MIT License

Python 100.00%
audio audio-loops loop-points music music-analysis music-loops python

pymusiclooper's People

Contributors

arkrow avatar coolsonickirby avatar dependabot[bot] 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

pymusiclooper's Issues

Feature Request: Option to specify upper limit to loop duration

Is your feature request related to a problem? Please describe.
There are cases when one is looking for a loop of a given upper limit length, in which case, having an upper limit would be useful.

Describe the solution you'd like
A command line option that takes the duration upper limit as an argument.

Cannot install when Python is >=3.12

Before continuing with the bug report, does updating to the latest version fix this issue? [Yes/No]

No

Describe the bug
Cannot install, reports Python is >=3.12 when it is 3.11.7

Numba issue numba/numba#9197

Debugging Information

% pipx install pymusiclooper 
Fatal error from pip prevented installation. Full pip output in file:
    /Users/matt/.local/pipx/logs/cmd_2024-01-15_10.09.36_pip_errors.log

pip seemed to fail to build package:
    numba<0.58.0,>=0.57.0

Some possibly relevant errors from pip install:
    error: subprocess-exited-with-error
    RuntimeError: Cannot install on Python version 3.12.0; only versions >=3.8,<3.12 are supported.
    error: metadata-generation-failed

Error installing pymusiclooper.

Expected behavior

  • should install on latest software

Environment Information (please complete the following information):

  • OS: macOS 14.2.1 Sonoma
  • PyMusicLooper version being used (execute pymusiclooper --version in the terminal if unsure):
  • Is FFmpeg installed and working? (execute ffmpeg --version in the terminal if unsure): Yes
  • Python: 3.11.7

Additional context

  • was previously using 2.5.3 through pip and made the mistake of uninstalling to upgrade
  • install through pip gives 3.2.2 but it's broken in other ways, see #28

Feature request: print time instead of frame indexes

Is your feature request related to a problem? Please describe.
I'd like to use the loops with another music player

Describe the solution you'd like
Print the corresponding time instead of frames with the export-points command. Maybe add an extra flag like --export-seconds

Describe alternatives you've considered (if relevant)
Not sure how to do this with some other editing programs (such as ffmpeg); I'm missing a lot of technical info on audio editing and its terminology. Couldn't find this info when searching online (the terms get mixed up like "oh, you want to do stuff with video frames" or "oh, you have audio desync")

Additional context

Stops After 00:00:01 (and makes CMD's cursor invisible)

Before continuing with the bug report, does updating to the latest version fix this issue?
I've checked for updates for both pymusiclooper and ffmpeg.

Describe the bug
The process stops after a second without outputting any file, text, or errors. It also causes the CMD cursor to become invisible and requires a restart of CMD to fix.

Debugging Information
Nothing gets outputted, it just stops as if it closed. No errors or files.

The file I used is a 2 minute and 53 second 44.1 kHz 16bit stereo FLAC encoded file. I believe the algorithm should be able to find a loop, as the start and end are the exact same.

Expected behavior
Give me a correct output or a error.

Environment Information (please complete the following information):

  • OS: Windows 11
  • PyMusicLooper version being used (execute pymusiclooper --version in the terminal if unsure): yes: 3.4.1
  • Is FFmpeg installed and working? (execute ffmpeg --version in the terminal if unsure): yes: ffmpeg version 4.4-essentials_build-www.gyan.dev

Additional context
After a restart of Windows and instantly doing a command, it goes up to 00:00:03, but then stops and all future commands stop at 00:00:01 again.

Allow export-points to export multiple results

Is your feature request related to a problem? Please describe.
I'd like to use the PyMusicLooper in conjunction with an app I'm developing to allow people to create pcm files for SNES msus. The app allows people to adjust normalization, temp, and other settings along with being able to set loop points. My hope is to use PyMusicLooper to give people options for auto detected loop points.

Describe the solution you'd like
If operating on a single file, have a flag to export the top X results rather than just the top 1 result.

Describe alternatives you've considered (if relevant)
I've considered trying to scrape the interactive mode results in an app, but that seems rather flimsy.

Additional context
N/A

Create songs of a specific length?

Is your feature request related to a problem? Please describe.

Looks like this program can create loops, intros and outros and give approximate length for the loop portion, any chance it could generate songs of a specific length with the intro and outro and use the loop to stretch or shrink the song to that length? e.g. I want a song exactly 2 min 37 sec to fit a home video.

Describe the solution you'd like

Add --length option in seconds

Describe alternatives you've considered (if relevant)

n/a

Additional context

This looks cool, thanks for sharing this!

problem loading audio

Hello, I am trying to run PyMusicLooper on a m1 , python 3.9
and I have this error showing:
ERROR ###.mp3 could not be loaded. It might not contain valid audio data, or is in an supported format.

which is weird cause I use librosa and this exact same file with other projects with no problem,
I tried other formats than mp3 same problem
I tried with an url same problem, tho i see the link is being downloaded.

thank you

Docs or man page?

Is your feature request related to a problem? Please describe.
Since v3 i find it troublesome to remember the command line usage and am forever looking things up

Describe the solution you'd like

  • Docs or man page would be great
  • Even better if it can be generated from the source

Could be one of the following formats

  • man
  • Sphinx (most common for Python projects)
  • HTML (generated from Sphinx, I generated my own for aubio)

Describe alternatives you've considered (if relevant)

Additional context

Loop file size

Is it normal for the loop part to be almost 10 times bigger than the main opus file?

I was trying to loop these 3 videos to have a shorter smaller file instead of a 70MB 1 hour file.

  • OcR2mvq_REk
  • Qa6sQrj8taY
  • irAAKLSGYec

However my heart has lived a thousand lifetimes (ambient music, dark academia) [OcR2mvq_REk].opus is 70MB while

  • my heart has lived a thousand lifetimes (ambient music, dark academia) [OcR2mvq_REk].opus-intro.wav is 65MB
  • my heart has lived a thousand lifetimes (ambient music, dark academia) [OcR2mvq_REk].opus-loop.wav is 518MB
  • my heart has lived a thousand lifetimes (ambient music, dark academia) [OcR2mvq_REk].opus-outro.wav is 93MB

Am I doing something wrong?

Also I know at least one of the video has 2 songs inside (fades out fades in), will the script pick up those smaller loops or will it try to find a loop for the whole file? Should I split the file first?

Cannot process any file

Describe the bug
As stated in title, I cannot process any file because of error below.
Debugging Information
The error displayed is just:
LLVM ERROR: Symbol not found: __svml_cosf8_ha

Expected behavior
It should process any files correctly

Desktop (please complete the following information):

  • OS: Windows 11
  • FFmpeg is installed and working

running on Windows 10 breaks incoming voice chat audio

Describe the bug
When importing this library on windows 10, incoming voice chat playback breaks.
It happens on both Discord and Steam, after running, the microphone from the Windows 10 machine still transmits audio to the other participants, but it does not receive anyone elses audio until leaving/reconnecting [it doesn't matter who reconnects]
 
Debugging Information
n/a as the script itself appears to function normally
I've run this myself on WIndows 11 and linux with no issues, just on my friends Windows 10 machine this issue occurs

Expected behavior
All previous audio streams should be unaffected by launching the script

Environment Information (please complete the following information):

  • OS: Windows 10
  • PyMusicLooper version being used: 3.1.0
  • Is FFmpeg installed and working?: Yes

Errors out with a “ValueError: array is too big”

When running pymusiclooper Area01.wav with this audio file, the program quickly errors out with a ValueError: array is too big. (This happens not only with the file above, but with any file I try!) Here's the traceback:

> pymusiclooper -i Area01-mid-s0-b58-e0-c4-1.wav
Traceback (most recent call last):
  File "c:\program files (x86)\python37-32\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\program files (x86)\python37-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\Myself\AppData\Roaming\Python\Python37\Scripts\pymusiclooper.exe\__main__.py", line 7, in <module>
  File "C:\Users\Myself\AppData\Roaming\Python\Python37\site-packages\pymusiclooper\__main__.py", line 241, in cli_main
    loop_pair_list = loop_pairs(args.path, args.min_duration_multiplier)
  File "C:\Users\Myself\AppData\Roaming\Python\Python37\site-packages\pymusiclooper\__main__.py", line 23, in loop_pairs
    track = MusicLooper(file_path, min_duration_multiplier)
  File "C:\Users\Myself\AppData\Roaming\Python\Python37\site-packages\pymusiclooper\core.py", line 27, in __init__
    if trim
  File "C:\Users\Myself\AppData\Roaming\Python\Python37\site-packages\librosa\util\decorators.py", line 88, in inner_f
    return f(*args, **kwargs)
  File "C:\Users\Myself\AppData\Roaming\Python\Python37\site-packages\librosa\effects.py", line 504, in trim
    aggregate=aggregate,
  File "C:\Users\Myself\AppData\Roaming\Python\Python37\site-packages\librosa\effects.py", line 440, in _signal_to_frame_nonsilent
    mse = feature.rms(y=y, frame_length=frame_length, hop_length=hop_length)
  File "C:\Users\Myself\AppData\Roaming\Python\Python37\site-packages\librosa\util\decorators.py", line 88, in inner_f
    return f(*args, **kwargs)
  File "C:\Users\Myself\AppData\Roaming\Python\Python37\site-packages\librosa\feature\spectral.py", line 952, in rms
    x = util.frame(y, frame_length=frame_length, hop_length=hop_length)
  File "C:\Users\Myself\AppData\Roaming\Python\Python37\site-packages\librosa\util\decorators.py", line 88, in inner_f
    return f(*args, **kwargs)
  File "C:\Users\Myself\AppData\Roaming\Python\Python37\site-packages\librosa\util\utils.py", line 197, in frame
    x, strides=out_strides, shape=out_shape, subok=subok, writeable=writeable
  File "C:\Users\Myself\AppData\Roaming\Python\Python37\site-packages\numpy\lib\stride_tricks.py", line 104, in as_strided
    array = np.asarray(DummyArray(interface, base=x))
ValueError: array is too big; `arr.size * arr.dtype.itemsize` is larger than the maximum possible size.

Desktop (please complete the following information):
Here are my specs!

  • Operating system: Windows 10 (Windows 10 Pro, version 22H2, build 19045.2251).
  • Python version: 3.7.3
  • RAM: 8 GiB.
  • FFmpeg: Installed.

Here's hoping it's fixable!

Error after entering pymusiclooper in cmd

Before continuing with the bug report, does updating to the latest version fix this issue?
No

Describe the bug
It was working just fine for a few weeks but recently it started to give this error: And I reinstalled python, pip deleted and reinstalled all libraries but none worked just this same error

Debugging Information
Traceback (most recent call last):
File "frozen runpy", line 198, in run_module_as_main
File "frozen runpy", line 88, in run_code
File "C:\Program Files\Python311\Scripts\pymusiclooper.exe_main
.py", line 4, in
File "C:\Program Files\Python311\Lib\site-packages\pymusiclooper_main
.py", line 3, in
from .cli import cli_main
File "C:\Program Files\Python311\Lib\site-packages\pymusiclooper\cli.py", line 20, in
from .core import MusicLooper
File "C:\Program Files\Python311\Lib\site-packages\pymusiclooper\core.py", line 6, in
import taglib
ImportError: DLL load failed while importing taglib: The specified module could not be found

Expected behavior
U know to run normally

Environment Information (please complete the following information):

  • Windows 10
  • PyMusicLooper version 3.1.0.0 (I can't use pymusiclooper --version cause of it):
  • Is FFmpeg installed and working?
    Yeah its in PATH

Additional context
I don't have very much of coding knowledge so i can't interpret it very much
and i tried both pipx and pip installation methods but both gives the same thing

Shorter loops

I tried to fiddle around with --max-loop-duration to try to find shorter loops but it doesn't seem to find any loops no matter what the file is. Is there a way to change this behavior ?

Thank you!

__version__ Not Updated

Before continuing with the bug report, does updating to the latest version fix this issue? [Yes/No] - No

Describe the bug
init.py still has version 3.1.0 in it, so the --version flag seems to be returning 3.1.0 even on 3.2.0: https://github.com/arkrow/PyMusicLooper/blob/master/pymusiclooper/__init__.py

image

Debugging Information
I can confirm I've updated because the new --alt-export-top feature seems to be working:

$ pymusiclooper export-points --min-duration-multiplier 0.25 --path 11Green\ Brinstar.mp3 

Loop points for "11Green Brinstar.mp3":
LOOP_START: 3561463
LOOP_END: 5942845

$ pymusiclooper export-points --min-duration-multiplier 0.25 --path 11Green\ Brinstar.mp3 --alt-export-top 5
3561463 5942845 0.20004414021968842 0.24657928792024109 0.9886344750947615
3517575 6163578 0.14694753289222717 0.0888093500287539 0.988366104061565
3252703 8191956 0.1389075517654419 0.1795756363760006 0.9883327886663374
3103721 6014458 0.2082384079694748 0.13788309020281986 0.9882790035343043
3252703 5898752 0.18834000825881958 0.05296680661302844 0.988147926132887

$ pymusiclooper --version
pymusiclooper 3.1.0

Expected behavior
3.2.1 should be returned

Environment Information (please complete the following information):

  • OS: Windows 11 and Linux
  • PyMusicLooper version being used (execute pymusiclooper --version in the terminal if unsure): 😆
  • Is FFmpeg installed and working? (execute ffmpeg --version in the terminal if unsure): ffmpeg version 5.1.4-0+deb12u1

Additional context
Add any other context about the problem here.

IndexError: list index out of range

Describe the bug
Not working when my music is 10 seconds long

Debugging Information
/usr/local/lib/python3.9/site-packages/librosa/util/decorators.py:88: UserWarning: PySoundFile failed. Trying audioread instead.
return f(*args, **kwargs)
INFO: Loaded '常青_7142339610037717768.mp3'. Analyzing...
/usr/local/lib/python3.9/site-packages/librosa/core/convert.py:1332: RuntimeWarning: divide by zero encountered in log10

  • 2 * np.log10(f_sq)
    INFO: Detected 61 beats at 123 bpm
    INFO: Finished initial audio processing in 0.267s
    INFO: Found 0 possible loop points
    Traceback (most recent call last):
    File "/usr/local/bin/pymusiclooper", line 8, in
    sys.exit(cli_main())
    File "/usr/local/lib/python3.9/site-packages/pymusiclooper/main.py", line 243, in cli_main
    loop_start, loop_end, score = choose_loop_pair(loop_pair_list, args.path)
    File "/usr/local/lib/python3.9/site-packages/pymusiclooper/main.py", line 111, in choose_loop_pair
    loop_start = loop_pair_list[index]["loop_start"]
    IndexError: list index out of range

Desktop (please complete the following information):

  • OS: iMac macOS Ventura
  • Is FFmpeg installed and working? (execute ffmpeg --version in the terminal if unsure): ffmpeg version 5.1. YES

Additional context
Here is the music
常青_7142339610037717768.mp3.zip

Version on pip is not the latest

Despite https://pypi.org/project/pymusiclooper/ showing 3.1.0, installing it with pipx and running pymusiclooper --version tells you that 2.5.3 is installed.

My current workaround: downloading the repo, running poetry install, aliasing pymusiclooper to poetry --directory [repo directory] run -q pymusiclooper, although poetry has to startup each time, which is slow, so this isn't that great a workaround.

installing results in broken version (tag-related)

Before continuing with the bug report, does updating to the latest version fix this issue? [Yes/No]

No

Describe the bug

  • installing via pip results in broken version
  • TagLib issue? taglib/taglib#1206
  • happens with 3.x.x which makes sense as that is when tag was introduced

Debugging Information

% pymusiclooper --version
Traceback (most recent call last):
  File "/opt/homebrew/bin/pymusiclooper", line 5, in <module>
    from pymusiclooper.__main__ import cli
  File "/opt/homebrew/lib/python3.11/site-packages/pymusiclooper/__main__.py", line 3, in <module>
    from .cli import cli_main
  File "/opt/homebrew/lib/python3.11/site-packages/pymusiclooper/cli.py", line 20, in <module>
    from .core import MusicLooper
  File "/opt/homebrew/lib/python3.11/site-packages/pymusiclooper/core.py", line 18, in <module>
    taglib = lazy.load("taglib")
             ^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/lazy_loader/__init__.py", line 205, in load
    module = importlib.util.module_from_spec(spec)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ImportError: dlopen(/opt/homebrew/lib/python3.11/site-packages/taglib.cpython-311-darwin.so, 0x0002): symbol not found in flat namespace '__ZN6TagLib10StringList6appendERKNS_6StringE'

Expected behavior

  • should work

Environment Information (please complete the following information):

  • OS: macOS 14.2.1 Sonoma
  • CPU: M1 Pro ARM64 Apple silicon
  • PyMusicLooper version being used (execute pymusiclooper --version in the terminal if unsure): 3.2.2
  • Is FFmpeg installed and working? (execute ffmpeg --version in the terminal if unsure): Yes

Additional context
Add any other context about the problem here.

Switch mpg123 to another lib like mpg123

Is your feature request related to a problem? Please describe.
It look like preview and play feature doesn't work with Windows,because https://github.com/20tab/mpg123-python works not well on Windows.
Describe the solution you'd like
FFPYPLAYER is a pylib player using ffmpeg,and PyMusicLooper must works with ffmpeg.
We can use FFPYPLAYER instead of mpg123 or another lib like mpg123

Describe alternatives you've considered
Use FFPlay Directly?

Won't process the Audio file correctly

Before continuing with the bug report, does updating to the latest version fix this issue? no

Describe the bug
Everytime Pymusiclooper starts to process the audio or URL I have chosen it'll just say "ERROR unsupported format string passed to numpy.ndarray.format" a bit after when it says it's processing.

Debugging Information
pymusiclooper -i play --url "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

Expected behavior
Play the song on repeat with the best discovered loop point.

Environment Information (please complete the following information):

  • OS: windows 11
  • PyMusicLooper version being used (execute pymusiclooper --version in the terminal if unsure): pymusiclooper 3.4.0
  • Is FFmpeg installed and working? (execute ffmpeg --version in the terminal if unsure): yes

Additional context
I tried reinstalling pymusiclooper and reinstalling ffmpeg put nothing seems to work

ERROR: Numba needs NumPy 1.24 or less

Describe the bug
"ERROR: Numba needs NumPy 1.24 or less"

Debugging Information

  • latest bumpy was installed by brew

Expected behavior

  • was working prior to this

Desktop (please complete the following information):

  • OS: macOS 12.6.7 (21G651)
  • Is FFmpeg installed and working? (execute ffmpeg --version in the terminal if unsure): Yes

Additional context
Add any other context about the problem here.

empty 'LooperOutput' folder created when not exporting

Before continuing with the bug report, does updating to the latest version fix this issue? No

Describe the bug
When just viewing printed out loop points in the terminal, a ‘LooperOutput’ folder is created in the input file path

Debugging Information
pymusiclooper -i export-points --path $file --brute-force

Expected behavior
An empty folder should not be created when not exporting

Environment Information (please complete the following information):

  • OS: Windows 11
  • PyMusicLooper version being used (execute pymusiclooper --version in the terminal if unsure): v3.2.3
  • Is FFmpeg installed and working? (execute ffmpeg --version in the terminal if unsure): Yes
    Additional context
    Add any other context about the problem here.

Using split-audio with --format "ogg" results in silent crash

Before continuing with the bug report, does updating to the latest version fix this issue? [Yes/No]
No, tested on both newest stable and nightly

Describe the bug
When using the command split-audio with the option --format "ogg", the will silently exit back to the prompt, outputting an unplayable 5kb .ogg file. This occurred with both a .wav and .flac input file and .ogg output. This occurred regardless of input music. This does not occur with any input file and a .mp3 or .wav output.

Debugging Information
Verbose:

PS C:\Users\user\Music\work> pymusiclooper.exe -v split-audio --path '.\E199_BGM00_L_16 test.wav' --format "OGG"
INFO Loaded ".\E199_BGM00_L_16 test.wav". Analyzing...
INFO Detected 666 beats at 112 bpm
INFO Finished initial audio processing in 4.375s
INFO Found 40 possible loop points in 0.080s
INFO Filtered to 40 best candidate loop points
INFO Total analysis runtime: 4.519s
PS C:\Users\user\Music\work>

Debug:

PS C:\Users\user\Music\work> pymusiclooper.exe --debug split-audio --path '.\E199_BGM00_L_16 test.wav' --format "OGG"
C:\Users\user\pipx\venvs\pymusiclooper\Lib\site-packages\librosa\core\intervals.py:15: DeprecationWarning: path is
deprecated. Use files() instead. Refer to
https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
with resources.path("librosa.core", "intervals.msgpack") as imsgpack:
C:\Users\user\pipx\venvs\pymusiclooper\Lib\site-packages\audioread\rawread.py:16: DeprecationWarning: 'aifc' is
deprecated and slated for removal in Python 3.13
import aifc
C:\Users\user\pipx\venvs\pymusiclooper\Lib\site-packages\audioread\rawread.py:17: DeprecationWarning: 'audioop' is
deprecated and slated for removal in Python 3.13
import audioop
C:\Users\user\pipx\venvs\pymusiclooper\Lib\site-packages\audioread\rawread.py:19: DeprecationWarning: 'sunau' is
deprecated and slated for removal in Python 3.13
import sunau
C:\Users\user\pipx\venvs\pymusiclooper\Lib\site-packages\librosa\core\convert.py:1870: RuntimeWarning: divide by zero
encountered in log10

  • 2 * np.log10(f_sq)
    PS C:\Users\user\Music\work>

(It should be noted that the progress bar still continues for some time after these warnings before exiting silently)

Expected behavior
The file exports just as it does with .wav as the output, just already in the required format.

Environment Information (please complete the following information):

  • OS: Windows 10 21H2
  • PyMusicLooper version being used (execute pymusiclooper --version in the terminal if unsure): pymusiclooper 3.4.1
  • Is FFmpeg installed and working? (execute ffmpeg --version in the terminal if unsure): Yes

Additional context
In interactive mode, it is able to find loop points and interact as expected. It is only when the file writing process begins that the process terminates, leaving an almost empty (5kb) file.

Cannot play audio in Windows

E:\Music\Xenoblade Rips\Converted Files\Xenoblade 2>pymusiclooper "m41 - Gormott.ogg"
Playing with loop from 08:04.715 back to 03:39.552; similarity: 99.9%
(press Ctrl+C to stop looping.)
[src/libout123/module.c:INT123_open_module():185] error: Failure getting module directory! (Perhaps set MPG123_MODDIR?)
[src/libout123/libout123.c:out123_open():439] error: Found no driver out of [win32,win32_wasapi] working with device <default>.
ERROR: An issue related to the mpg123 library for playback has occured. If it is not installed/functional, alternatively use the export fucntionalities such as --export . See ` pymusiclooper --help ` for a full list of options.

How do I get the audio working with this? I have the MPG_123 libraries, but I don't know where I'm supposed to put them.

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.