ontehfritz / loopinloopout Goto Github PK
View Code? Open in Web Editor NEWsample, loops, and stem, repository
sample, loops, and stem, repository
LoopINLoopOUT ------------------------------------------- Sample, Loop, and Stem repository. The application is all about remixing, collaborating, creating, and sharing. - Dependencies: https://github.com/benalavi/waveform This gem is used to generate waveform from wav to png - Depends on ruby-audio gem - Depends on oily_png - Depends on chunky_png On OSX or linux you need to have: mac: brew install libsndfile brew install ffmpeg brew install imagemagick
Allow users to search for banks, projects and files. Based on genre, type, or username.
Allow users to post mix-downs to their sound cloud.
Explore section will show what is happening globally, New Remix challenges, Top banks, Top projects, Top loops and samples, Winners of challenges and other projects or banks a user may be interested in.
Allow users to create clips, this is quick short clips you want to share quickly, these will have file size limits and expire if haven't been accessed in N days.
Also small and easy url to access it.
Use mono c# for cross platform development:
Be able to sync projects to folder on users computer. Similar to drop box, but can choose any destination folder.
Create project locally
It will create the folders, drag files into folder or into application.
Files with the same name will be updated
Be able to use the application for most features.
Able to use app or web app.
Some restrictions need to be applied to soundfiles. This will only apply to audio sound files.
A limit of 2 mins for loops and one shots
30 minutes for mix-downs and remixes
I small version of the main player used for quick previewing.
This will be used on the bank view and sound file update page
Add the Rules section. Should have the ability to use some kind of markdown. Also be able to include an example by embedding a example from LILO, youtube link, or sound cloud.
Add sorting to remix list sort by score, votes, favorite total, or newest. Remix list will also is used by remix challenge so this has to be taken into consideration as score and votes will show for RemixChallenge, but not Remix type.
Be able to use @ to tag a sound file. This will generate a link to the sound file. This way discussion won't get cluttered with comments for a specific file. This can be now made directly on the file.
Example, "Hey bro check out some comments I had on @glicthed_drums." Then clicked @glitched_drums and you will be directed to the comments.
Allow comments on projects
Add a quick link to reply to comments, this will reference the original comment. Use anchors on each comment/replies to easily link to them in notifications and from emails. Use simple indentation for replies.
Currently the player is based off of jplayer. It can currently:
Play an audio file from grid, also be able to stop and play another file in the sample grid.
Missing Features:
Activity feed will keep the user up to date on projects, banks, and users being followed.
Track:
Followed user activity (new projects, banks, and files)
Projects (new files or changes)
Banks (new files or changes)
Add discussion feature to leave comments on projects
Create a table that will parse genre from banks and projects, to be a genre cache. The cache table will contain a list of all genres, this will be used for searching and displaying all the genres on loop in loop out
I allow users to follow and be followed
Be able to follow and unfollow
Book marking bank allows users to easily access and remember banks as well as get updates.
@ tags to reference files in a project as well as time. The @tag on files will generate a link to the file and the time will go to that spot on the audio clip. When clicked it will play the file in the audio player from the time position. If no time position then start the audio from the beginning.
The ability to use some kind of markdown and add images.
When someone starts to follow you send out a notification
The purpose of this project type is to allow sharing of all the sound, loop and stems of song(s) and allow other users to download them and be able to upload a remix. However, this is not an official remix challenge. It is just to let users download the goodies, and be able to show what they did with them.
Features:
Upload files, stems, and sounds or choose from banks
Upload original file
Upload remixes
Show who has upload a remix
On the remix songlist, some features do not need to exposed, based on if it is Remix or Remix challenge.
Remix:
Remix Challenge:
Allow only filetypes of audio type and music related instruments, daws and trackers. This is going to be very tough, to find all supported file types. The whitelist should be dynamic, no need to restart the app for a new type that gets added.
Have the ability to view all books and the option to remove them
Allow comments on banks
Users will be notified by a number events:
When someone has changed a project they own or part of (added a file, deleted a file, made changes to settings),
When your remix has been voted on or judged
When someone follows you
When a new person has been added to a project
When some uses @ tag on your username in discussion
When someone messages you
After uploading a audio clip generate waveform. The rails application will have to run a few steps in the background:
These will be lengthy operations so it will have to be done as cron job or a ruby background process. A flag can be used in database for status. Then displayed to user while processing.
When user subscribes to a project allow notifications by email. This will happen when a change has been made to the the project.
This is for creative/technical challenges, they can be for fun or for prize. The purpose of this project type is to purpose some crazy musical idea and let people compete or show what they created. Example: Create a song using two notes. Create the best sound using a tin can and two of your favorite effects.
Features:
upload/download or choose from banks sound and loops
upload/download examples ... Links to youtube videos?
upload challenge submissions
judging or voting
show who is participating in the challenge
Allow @ tags to reference users, This will trigger a notification for the user with the message.
This will allow users to highlight songs with in a bank or list all flagged sound files.
This project type is for personal work, such as a song(s) working on. It is a great way to save projects from your daw so you can access files any where or simply just want to share the sounds or cool stems worked on.
When set to private only you can view.
When set to public everyone can download and listen to the files.
Features:
Upload sound files or pick from bank
Upload mixdown
Upload stems
When viewing a bank there is play and stop button, but currently there is no audio player on the page. On this page a mini player should be used.
Create a small player that will have basic functionality
if the sound is a synth patch, midi sequence, max device or other sound file that can't be played by audio player. Allow the user to upload a preview file. The preview file will be an audio file that demos that patch, or potentially how to use it.
Same process as issue #1, except only allow audio files to be uploaded. Also max length of 30 seconds for a preview file.
Compress all files into a zip file, the zip file will contain a folder of the bank name, and inside the folder will contain all the files from the bank.
Allow the creation of projects there will be a few types:
Remix [Post original track, post stems, sound files, allow for posting/favoriting of tracks]
Remix challenge [Same as above, top remixes, scoring and rules]
Collaboration [Look for people to work with] song stems, sounds and master song
Creations ??? [Post music] Not sure of this yet, maybe use sound cloud for this.
Copy sound files from any public bank to your own banks or collab banks
This project type purpose is to collaborate with other lusers to create a song(s). When set to private only invited lusers can access the project. When public it is open to the community to contribute.
Features:
upload stems
upload or choose from banks
upload mixdowns
show who is collaborating
Organize book marks and favourites into an easy to navigate page.
Allow users to be able to copy projects to their dropbox
Copy another users bank into your own bank list. This is useful for customising the bank from someone else.
Add allow copy attribute added to bank
A strange issue happens, when I converted the clips to lower mp3 bit rate it only plays to 37 percent. Also this does not happen only on the web app, when I play the file on mac osx, it also has this issue.
Converting using: system('ffmpeg -b 192k -i "%s" -f mp3 "%s/tmp/waveform/%s.mp3"' % [path, Rails.root.to_s, filename])
Roles for system:
system admin - has access to everything on the LILO system
Roles for project and banks:
Creator - The user that has created the project
Admins - Almost the same privileges as creator, but cannot delete the project or bank
Contributor - Allow user to add content
Contender - A user who has entered a remix or challenge submission
The purpose of the remix challenge is more competitive than a simple remix project. This is allow lusers to download stems, loops and sounds. To create a remix of their own. There could be prizes and rules. Also it allows for a simple way to score the remixes. This can be done by specifying voting and/or scoring.
Features:
upload/download or choose from bank loops and samples
upload/download stems
upload/download remixes
upload/download originals
Voting on remixes
Scoring of remixes
if scoring is specified judges can be assigned.
Leader board on remix browsing. order by
Provide a uploading status on sound files
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.