owlbear-rodeo / kenku-fm Goto Github PK
View Code? Open in Web Editor NEWOnline tabletop audio sharing for Discord
Home Page: https://www.kenku.fm
License: GNU General Public License v3.0
Online tabletop audio sharing for Discord
Home Page: https://www.kenku.fm
License: GNU General Public License v3.0
Describe the bug
When shuffle
is enabled, playlists will always play the first track in the list, no randomness is applied until the second song plays.
To Reproduce
Steps to reproduce the behavior:
Shuffle
Expected behavior
The first track that plays from a playlist should be random when shuffle
is enabled.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
I opened Kenku today for a session, but the music would stop playing through discord after ~43 seconds or so. The only way to make it work again is to change the voice channel it's connected to, and then going back to the one you want it to play music in. It's as if it had some sort of timer.
This happens with both music streamed from YouTube or files from my computer.
To Reproduce
Steps to reproduce the behavior:
I'm unsure how to reproduce it. It may as well be just a particular case.
Desktop (please complete the following information):
Additional context
The program was working perfectly yesterday; it stopped working correctly today. Tried restarting too.
I tried changing the bot's token, but it didn't fix it.
Hi,
I'm using Kenku to provide music to for my (Foundry) VTT-based game in Discord.
Preferrably I'd like to control the music & sounds from within the VTT, which is in theory possible using JavaScript-based Macros that make calls to the Kenku API.
However since fastify does not sent any CORS headers, most if not all current browsers will not allow requests from the domain where my VTT is hosted to localhost where Kenku is running.
I was able to add the required headers by forking the project, but I would prefer it if this possibility could be incorporated into the mainline branch.
From a security point of view, the approach I've taken in my fork (allowing CORS requests from all domains) is quite "quick and dirty". For integrating this into the upstream it should at least be optional (that is, CORS requests have to be enabled explicitly in the API settings) or, even better, have a configurable domain name in the API settings for which CORS requests are allowed.
I would gladly implement the required configuration, but the policy states no feature PRs are accepted so I did not (yet ) see much sense in that.
Describe the bug
Content inside the main interface window does not expand to match the size of the window when maximizing
To Reproduce
Expected behavior
When resizing the window with the automated commands, content of program should resize with it.
Desktop:
Additional context
It works when resizing window manually, bug only happens when using automated resizing
Describe the bug
While adding a track nothing happens when selecting or dropping multiple files.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Looking at the code it should take first of the files but this does not happen for me.
Weirdly I also get no warning messages for the file input when I'm inputting wrong file formats.
Desktop (please complete the following information):
I absolutely adore Kenku, it's exactly what I've been looking for. The functionality is perfect, and I rarely run into bugs. Furthermore, it's created a wonderful alternative to what would otherwise be very expensive or subscription-based services that were all too overpriced, and I'm broke and just want to play D&D with nice audio :')
But I digress! While I'm deeply in love with the program, there are minor QoL changes I'd love to see. Several already have threads on this board, but one I haven't seen that I'd like to touch on is UI scaling. Currently, here's how my application looks:
As you can see, basically most of the track titles get cut off. They're not insanely long, either, but the font size is so large and doesn't wrap, so some of them are shortened by half their length or more. This is especially annoying just because with these tracks, many share titles but have different descriptors at the end of the track name (using this screenshot's examples, there's "Along the Zizira", but also a track titled "Along The Zizira (Music Box)"--but with the latter getting cut off, that important descriptor is impossible to see unless I click to edit the track and can then see the file name).
This screenshot is also with the window fully maximized (though the screenshot does not include the lefthand sidebar of the program, obviously). In other words, I cannot make the window any larger on my monitor. The size of the tracks' blocks, in addition to the font size overall, feels excessively large, and gives a bit of a claustrophobic/cluttered feeling. Slimming everything down and being more space-efficient would be a huge improvement. But my most pressing issue is the inability to easily view full track titles; there's not even hover-text if I mouse over them.
And for the record, the issue of the text being too big and getting cut off also applies to the text on Soundboard/Playlist titles! Really just being able to adjust scaling somehow, or having the UI more intuitively condense/wrap content like that would be an amazing improvement.
Thanks for reading!
I'm using a few tracks where several have long lead-ins that are too quiet for what I want (combat music) and some have long silences at the end before the next track plays. For now I've had to edit down a copy to isolate only the part(s) that I want to play, which works fine but isn't ideal.
What I'd love to see is the ability to set a start and stop timestamp (defaulting to 00:00 and track length respectively) so that I can just use the files as-is and have Kenku FM skip to the part(s) that I want.
Describe the bug
When playing a playlist with Shuffle and Repeat Playlist on, manually playing the last item causes the player to continually repeat that track, ignoring the other previous tracks in the playlist.
To Reproduce
Steps to reproduce the behaviour:
Expected behaviour
Any of the other tracks to be played
Desktop (please complete the following information):
Additional context
The issue also occurs when playing the playlist directly, and the Shuffle feature happens to pick the final track. In such cases, the player continuously repeats the final track, and the previous tracks in the playlist are disregarded.
It would be nice to import directly playlist in m3u, xspf (or any other format), in this way the creation would be much faster on local machine and all the informations would be in the file. And, if modified, it would be much faster to reimport it.
Describe the bug
Kenku does not play any soundtrack at all, even for local computer output. A few seconds after I start the program, a small popup at the bottom left says "Unable to start stream for web view 3". Also Kenku FM does not appear in the Windows Volume Mixer.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I should be able to hear sound for local output.
Desktop (please complete the following information):
Additional context
The problem happened after Kenku upgraded to the new version. Before, there were problems with tracks playing for one minute and then muted.
Hello,
First, I would like to thank the team because Kenku is already useful is I can't wait for more features to come.
I took note that you don't wish new features to be submitted but I would like to enhance the HTTP API for my own purposes. In order to control Kenku from my tablet, I would like to be able to have the list of playlists and the list of soundboards through the API. I would also need to display all the tracks in these. That way i could display the playlist, select one, display the songs, play one and the same goes for soundboards. And no I don't want to bother copying the tracks UUIDs on my tablet, I have so much it would be very tedious.
I'm not familiar with Electron and React but I am with general web development. I found how to add API routes but I don't understand how I could fetch the playlists and soundboards, can you point me in the right direction?
Thank you very much,
Have a nice day
Describe the bug
Kenku enters the discord but no sounds comes out. if I select my PC it works.
I have already tried to change the version and reinstall it, as well as create a new bot.
It was working fine last week, this just started out of nowhere.
Any suggestions on how to fix it?
Windows 10 pro
Describe the bug
When I add a new playlist, I can immediately see it appear in the responses to requests made over HTTP, but soundboards don't show up until I restart Kenku.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
New soundboards should appear in responses to "list soundboards" requests immediately, similar to playlists.
Desktop (please complete the following information):
Great app!
I was using ARES Player to manage my music, but it's not being supported anymore. Kenku is a bliss! Thanks for your amazing work!
I'm missing a feature very important to me, which is the ability to create different "profiles". I have differnte playlists for different kinds of games (cyberpunk, medieval, vampire). Manage all of them in the same canvas gets a little bit cluttered.
Maybe the possiblilitie to open multiple "kenku player" tabs would help this.
I'd like to also suggest integration of some sort with VDO.Ninja, a free tool to share audio, screen and cameras. I'm opening it as a web tab and using it to share my audio in 320kbps to my players.
Describe the bug
When connecting KenkuFM to a channel in discord, me and my friends start to hear an echo of myself, and it's really annoying. Other than that it works ok, music is playing etc, but it's making an echo of my voice.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I should not hear my own voice from Kenku.
Desktop (please complete the following information):
Additional context
Previosely it worked perfectly, and nothing changed from a technical standpoint. It just came from nowhere when I tried to start a session. I tried to reinstall, use a virtual cable, but nothing worked.
The issue started while I had the previous version, but haven't stopped after updating.
The echo is clearly going from the app and the bot, no other sourse.
Describe the bug
Kenku FM window size is not retained when program is restarted. Every time I launch it, the window is same small size and I have adjust it.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The window size (and position) should be retained between application launched.
Desktop (please complete the following information):
Additional context
n/a
Greetings. I understand, that you do not accept PRs with features, so I want to inquire if this feature is on the roadmap.
Kenku FM currently allows you to make playlists of local audio, but you can also make bookmarks to sites like Youtube from which it can play audio/video. I would love to have the intersection of these two, i.e. to be able to make playlists with Youtube videos -- ideally a mix of local audio and Youtube videos. The local audio would be played as currently while Youtube video would use the browser feature.
Afaik, most of the groundwork for this feature is already implemented due to existing features. However, I can imaging several challenges with design, UI, the mixing of playlists and browsers, Youtube's ToS, etc, so I understand if this feature is off the table.
Allowing a mix of local and online sources in playlists would open up a lot of freedom. My current alternative is to make playlists on Youtube and make a bookmark for each of those, but I don't have the nice UI of playlists and have to find online versions of local tracks.
Right now diving into playlists and diving back out makes them a bit harder to manage. It'd be neat if on higher resolutions (like fullscreen), the empty space could turn into a sidebar with all songs in the currently selected playlist. That way it'd be much easier to jump around playlist to playlist without having to back out each time.
Describe the bug
When set up the some of the remote endpoints aren't responding to requests (playlist/play for instance)
To Reproduce
Run the following .bat script:
.bat script:
curl --request PUT --url 127.0.0.1:3333/v1/playlist/play --header 'Content-Type: application/json' --data '{ "id": "4f6f8642-c442-46a3-aed7-af38796faf21" }'
Expected behavior
The playlist should start playing
Screenshots
None
Desktop (please complete the following information):
OS: Windows
Additional context
response:
{"statusCode":415,"code":"FST_ERR_CTP_INVALID_MEDIA_TYPE","error":"Unsupported Media Type","message":"Unsupported Media Type: application/x-www-form-urlencoded"}curl: (6) Could not resolve host: application curl: (3) URL using bad/illegal format or missing URL curl: (6) Could not resolve host: 4f6f8642-c442-46a3-aed7-af38796faf21 curl: (3) unmatched close brace/bracket in URL position 1: }'
Describe the bug
Every once and a while (rare, but it's happened 4-5 times), I'll stop all playing sounds and the UI will update to show that they are no longer playing, but some of them will continue to play. Restarting/restopping doesn't seem to fix it, and the only way I've found to stop the sounds from playing is to restart the whole app.
To Reproduce
I have not been able to reliably reproduce the error, but it happens sometimes after starting and then stopping a sound.
Expected behavior
The stopped sounds should stop playing.
Desktop (please complete the following information):
Describe the bug
Depending upon the size of the Kenku FM window it's possible that when viewing playlists (from the home screen or all playlists views) the play button will not be visible for any playlist that has a long-ish name.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The play button for the playlist should be visible at all sizes.
Screenshots
Example Playlists View
Note the "Ambient (Dungeon/Temple)" playlist's play button is not visible.
Desktop (please complete the following information):
Additional context
I think this is maybe just be a case of somehow pinning the button to the right side of the box such that it takes priority over the text, as it's better to cut off the long text than it is to lose the button.
In my case the issue would also be partly avoided by the addition of folders, as I'm only going with longer names to help me categorise my playlists, but I think it's an issue worth fixing anyway.
The Kenku FM documentation is doesn't specify that the syntax is for Mac/Unix and may need some changes for Windows systems.
We should update the documentation so that this is clear.
After one second the audio from Discord lowers it's quality, getting distorted and of significant lower quality.
The audio stays clear and of the same quality all the time.
I just set up the bot and it worked perfectly during out first session, going into the second session and the bot just randomly stops playing now? On both downloaded music and the browser it will just stop playing for some reason. Having it leave the voice channel and reconnect seems to let it keep playing. The music does not pause, the sound just stops playing but I can see it still progressing through the track.
Some interfaces (Like Spotify) are a little difficult to work with because they are so zoomed in. Being able to adjust this like in a normal browser would be very useful.
I realise mine may be quite a niche case, I have a separate system for hosting most of my media files including music, TV shows etc. (for Plex), so my ideal setup would be to run the Kenku FM app on that system, and then operate it remotely from the computer I use for Discord etc.
While it's fantastic that this app already has a remote control feature, and I'll probably be able to cobble something together to use it, that's not going to be accessible to most users.
What I would like to propose is that the app itself gain the ability to function as a remote control for another instance of the app running on another machine; essentially what this would mean is that instead of showing local playlists, output channels etc., you would instead see the playlist and channels available to the remote instance of the app, enabling you to control it on your local machine.
This would probably require some kind of layer of abstraction so that as far as the UI is concerned nothing is different, while in the background the appropriate HTTP requests are being fired off to the remote app rather than data being loaded from the local machine. Drag and drop adding of audio would probably need to be disabled (since audio on the local machine won't be available to the remote one), limiting the user to only manually entered URLs. There may also be some minor tweaks that make sense, for example instead of the system output as "This Computer" it should become "Remote System" or such, to remind users the sound won't play out of the speakers of the machine they're connecting from.
It may also be useful to do this in case mobile apps are released in future, as this would allow a mobile device to control audio from a desktop/laptop/server. The alternative would be a purpose-built Kenku FM Remote app, but to me it makes more sense just to roll it into the same app (less duplication between the two).
One issue I encountered when using Kenku FM yesterday was that some of my music was a lot quieter than others, so I frequently had to dip into the app to adjust the overall volume to compensate.
While I know there are some tools I could use to balance the volume, it would be nice to not have to rely on external tools to pre-process everything.
What I would like to see added is a volume adjustment slider for both individual tracks and entire playlists (maybe soundboards too?). If set to the middle (zero) position there will be no adjustment except for the master volume, otherwise the volume is adjusted up or down by a percentage based on how high or low the slider is set. If there is both a track adjustment, and a playlist adjustment, then these should be combined.
The idea is that by boosting quiet tracks and reducing noiser ones it should be possible to get them all at roughly the same level so the master volume should not need to be changed. Meanwhile the playlist adjustment would make it possible to still have some music louder or quieter intentionally for ambience, combat and so-on.
In future it would also be great if per-track volume adjustments could be done automatically when they are added, i.e- Kenku FM would measure the minimum, average and maximum median volume levels and use these to set an automatic track adjustment that the user can override later if they wish. This way all music should be at a similar overall volume by default.
Describe the bug
When the discord bot is playing back music occasionally this audio will stutter, giving a disjointed listening experience.
To Reproduce
Set up the bot as per instructions. I encountered this error the most when I was playing a long (1+ hr) audio track I had imported from my local machine into a playlist/soundboard and was streaming a spotify song on top of it. The stuttering was mostly noticeable because the long track was ambience with a lot of consistent, repetitive sounds in it.
Expected behavior
Smooth playback with no noticeable stuttering
Desktop (please complete the following information):
Additional context
Was on a high end network, but was running kenku and discord on the same laptop and getting moderate levels of memory usage (still flash tho, no swp/paging). Also had the multi-out feature on with only discord bot as the output
The client are listing all audio channels of the guilds.
Dont display channels the bot user dont have permission to "view"/"connect".
While discord output is already great, it would be ever greater if we could output to a running icecast server.
Such feature would allow to have music directly in vtt soft like foundry where a simple audio element on the canva can be used to broadcast icecast audio.
With such setup, no additional bot, no discord limitations and pure vtt immersion.
Thanks for considering this request.
Sound output in the voice channel tends to cut off, with the bot staying visibly connected to the channel on Discord for a short period of time, then disconnecting.
Immediately reconnecting and/or quickly switching voice channels sometimes doesn't work either - the bot itself connects fine, but no sound is being transmitted. Usually, after 2-3 jumps, the music "catches up". Meanwhile, various errors are being displayed:
This behaviour seems random and tends to go away after continuously using Kenku for about 20 minutes. I.e., I tend to get a bunch of these issues early while I'm setting up for the game, and than the whole 3 hour session goes without a single disconnect.
To Reproduce
Steps to reproduce the behavior:
Desktop (please complete the following information):
Additional context
Please see this discord.js bug report, as it pretty much describes the same problem, as far as I can tell:
I really enjoy Kenku.fm but there's one feature I would love to see, the ability to have the program auto sort the tracks in playlists by different criteria.
One obvious one is auto sorting by alphabetical order. If Kenku.fm is able to see the track length maybe include the option to sort by shortest to longest and longest to shortest. Also if it keeps the date/time of when a track was added to the playlist sorting by newest to oldest and oldest to newest.
It would be nice to have a search box to search among playlists and soundboards names and, when in one of these, search a single song in it.
Since at least yesterday Kenku just doesn't stream to Discord. It shows up in the channel, but stays mute. When switching channels I get Error connecting to voice channel: Disconnected
I tried downgrading to earlier version, reinstalling the app, cleaning windows firewall rules. Tested on two different discord servers.
The progress bar still moves as if it was playing, but stays silent.
Local play works no problem.
Currently running v1.2.4
First of all thanks for this app. I showed KenkuFM to another DM i know and we both immediatly started using it for our D&D Campaigns.
To my Suggestion:
I have a playlist with a libary of Battle Tracks for different situations and it would be helpful to be able to quickly drag and drop the thematically appropriate songs for the situation from one Playlist into another.
Maybe by being able to open two Kenku Player tabs and just draging them over,
or having a library structure to the side to better categorize your playlists and Drag + ctrl Songs in.
Describe the bug
While I can add .m4a (AAC) files individually to a playlist using the add track button, adding them to the playlist directly via drag-and-drop does not work. When dragging mixed .mp3 and .m4a files, only the .mp3 files are added.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
All playable audio files should be added.
Desktop:
Additional context
I've only been able to test on macOS so far, so it's possible this issue is macOS specific but I don't know. As I say, adding the file individually works fine, it only appears to be drag-and-drop directly onto a playlist that is affected; maybe it's running different checks on the files that should be made consistent with add track?
The current releases are hard to use on Arch Linux would be nice if there was a Flatpack or a Arch linux build. Gonna look if there is a way I can help with this but leaving the issue to let others know the status.
Describe the bug
When trying to connect Kenku-FM to discord, I get the error: "Error connecting to bot: creating the TLS connector resulted in a error"
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Connects to discord to be able to play music.
Desktop (please complete the following information):
Additional context
Note that Kenku-fm 1.2.4 is able to connect to discord but no sound comes from the bot.
What it says on the tin! A few small issues just bundled into one post because I don't want to spam haha.
Crossfade: I absolutely love that I can set fadein-fadeout times on soundboard tracks, but it's weird to me that playlists don't have any sort of crossfade feature. I really don't like abrupt starts/stops in audio for background ambiance and such, so I've currently abandoned playlists entirely and plan to run everything off of soundboards due to that.
Seamless Looping: On the note of not liking abrupt start/stops; virtually all audio I use is designed to seamlessly loop. But if the program playing it has any sort of buffer when looping a track between the track's end and restarting it, it causes a hiccup in the sound. For the record, this seems to be an issue solely on Playlist tracks; the soundboard loops perfectly. Another reason I just... don't use playlists at all right now.
Soundboard Scrubbing: On playlists, you can scrub through the track's duration, jumping to certain points. Even just seeing where you are in progression through the track's length. It's odd to me that soundboards don't have a similar utility. The scrubbing bar is there, but it only affects any playing audio from playlists. There's no way to jump to a certain part in a soundboard track, which is less than convenient especially while setting things up and testing things.
Extra Note - Hover Text: It'd be really nice if buttons in the application had hover text pop up when you hover them that label what they are! Especially since not all are self-explanatory; what I think is a shuffle button I initially took to be a crossfade button (which understandably caused confusion when clicking it did nothing and definitely did not create a crossfade). But that could just be me being dumb!
That's all for now! Really looking forward to using this program more and getting to see how it develops further!!
This is not a bug request but feature enhancement suggestion. In short - provide ability to export one or more playlists and soundboards.
This will facilitate situations where OS or application has to be reinstalled with clean config or when there are more than one machines. For example I have Windows and macOS computers and keeping the two instances in synchronization on playlist/soundboard level will be perfect.
Describe the bug
First off I totally understand your contribution policy and I'm not 100 % sure if this can be classified as a bug but for me it is an inconvenience.
When adding a track, most of the time you will have an URL ending with a file name.
This file name is not applied to the name field.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
From a user standpoint I would expect the name of the file to be automatically filled into the name field below.
Optionally without the file ending.
This would make it so much easier to simply drag in a file and add it.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
For gamemasters hosting multiple campaigns, it'd be neato to keep everything isolated from each other. Bonus points if you can copy data between them, but that's extra.
Describe the bug
I'm working on Owlbear Rodeo addon for Kenku FM control and can not achieve desirable result without having to do a custom build of Kenku.
I'm facing this bug:
When connecting to my Kenku FM instance from the browser it gives CORS error because there is no cross origin allowed.
To Reproduce
Steps to reproduce the behavior:
fetch('http://127.0.0.1:3333/v1/playlist')
Access to fetch at 'http://127.0.0.1:3333/v1/playlist' from origin 'https://www.google.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
Expected behavior
Returned list of playlists as specified in documentation
Screenshots
None
Desktop (please complete the following information):
Additional context
After I made an adjustment suggested in this issue it worked.
Please consider adding flag in setting to allow CORS for integrations.
Hello. I am loving the app and have only one issue I'd like help to solve. A volume slider of some kind that effects any audio from Kenku would be amazing. Everything has to be set to a 5-25% volume range to not hurt everyone who are listening. Therefore if there was an overall volume slider, I could turn the entire app down to that range and get more finely turned audio adjustments for each local/web source.
If there happens to be a pre-existing solution for this kind of issue, I'd love to learn!
Describe the bug
Starting as kenku-fm from the command line gives an error. The process hangs until killed.
A JavaScript error occurred in the main process
Uncaught Exception:
Error: libssl.so.1.1: cannot open shared object file: No such file or directory
at process.func [as dlopen] (node:electron/js2c/asar_bundle:5:1810)
at Module._extensions..node (node:internal/modules/cjs/loader:1205:18)
at Object.func [as .node] (node:electron/js2c/asar_bundle:5:1810)
at Module.load (node:internal/modules/cjs/loader:988:32)
at Module._load (node:internal/modules/cjs/loader:829:12)
at c._load (node:electron/js2c/asar_bundle:5:13339)
at Module.require (node:internal/modules/cjs/loader:1012:19)
at require (node:internal/modules/cjs/helpers:102:18)
at 85109 (/usr/lib/kenku-fm/resources/app/.webpack/main/index.js:2:58)
at webpack_require (/usr/lib/kenku-fm/resources/app/.webpack/main/index.js:14:517194)
To Reproduce
Expected behavior
Normal Kenku-FM behavior
Screenshots
N/A
Desktop (please complete the following information):
Additional context
I was running version 1.2.2 with no errors (except sound quit since I last used it a week ago).
I tested an install and run of prior versions, 1.2.4, and 1.3.0. These install and run without error.
It's just version 1.3.2 that gives the JavaScript startup error.
Describe the bug
When playing audio through the browser after a fresh start of the app, audio will become slowed and distorted after 10-20 seconds of normal playback. The sound is quite strange, it sounds like its going into slo-mo (literally pitch shifting down) and when it finishes that it will begin to cut in and out every 1-2 seconds.
This issue was posted about on reddit here: https://www.reddit.com/r/OwlbearRodeo/comments/ugmzaj/kenku_fm_audio_starting_slowed_down_and_then_cuts/
Changing performance mode has no impact on the behavior, and it is consistent between outputting to the local computer and a discord bot connection. CPU usage during these periods does not spike, plenty is available for use.
I've cleared my Appdata Kenku folder in an attempt to reconfigure the issue/start fresh and even playing from a fresh state the issue continues.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Audio should play normally.
Screenshots
N/A
Desktop (please complete the following information):
Additional context
N/A
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.