[Mixxx-devel] GSOC 2014 - New Idea for MIXXX

2014-03-12 Thread Rishant Agarwal
Hi,

I am Rishant Agarwal,student of BITS Pilani and am doing my Graduation in
Computer Science. I have been using this extremely awesome software for
past few months and recently saw it being listed among the few selected
organizations for GSOC 2014.

I have quite a good experience working with languages like
Java,C,C++,Python, JavaScript,PHP,Jquery , CURL , REST, etc and have also
developed a project which used mixxx and was awarded for the same.

I have used it to create Internet radio along with Icecast and now I would
like to add a feature using which we can fetch live audio stream from
Internet and use existing Mixxx features to create new music which can then
be either saved or streamed back to another application.  Mixxx can then be
used for varios purposes like Live Music Jamming etc.

Project will basically consist of these steps:-

1. Fetching media (Similar to how Wowza Streaming Server does.)
2. Processing the streams to convert into suitable formats ( Can be done
using FFMpeg).
3.Connecting streams to input which can be done using JACK API's
4. Rest all features are pretty much there in MIXXX.

Along with this, we can provide suppport for metadata such as Stream Name
reading, Album arts which can be read from the stream if any exists etc.

I hope you will like my idea .

Regards,

-- 
*Rishant Agarwal*
M.Sc. ( Tech.) Information Systems (4th year)
*BITS Pilani, Pilani *
Mobile: +91 8105625082
--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech___
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org


Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Re: [Mixxx-devel] Design A Cool Cover Flow

2014-03-12 Thread Max Linke
But not that good for mixxx. Maintaining a full 3d engine besides all 
the stuff that Qt already offers is not good for us.  To be able to use 
3d Rendering and displaying them is not as easy as it sounds. You have 
to make descisions about lighting sources and different shaders. You 
need to make sure it runs smoothly on a wide variety of hardware as well 
as Windows/Linux and OS-X.

We do all the development in our free time and we can deviler a better 
product if we just concentrate on playing music.

If you want to display videos during a gig you should give blender a 
try. They have a full rendering pipeline implement, it is scriptabe with 
python and it can also read audio from other sources. People build 
already awesome stuff like 3d printers with that interface

https://www.kickstarter.com/projects/117421627/the-peachy-printer-the-first-100-3d-printer-and-sc

best Max


Am 3/11/2014 7:02 PM, schrieb udara de silva:
 Trevor that is an awesome idea. To be honest I hadn't think that far. What
 you are suggesting is very cool for DJying and would be useful in real
 life. We don't have to stick with actionscript here. We could easily use a
 3D engine developed in C++ like CrystalSpace. But I have to admit that I
 havent work with it before. I'm pretty sure it also behave in the same
 manner so I could get familiar with it quickly. Please give some feedback
 on this one.


 On Tue, Mar 11, 2014 at 11:03 PM, Trevor Hansen tre...@djopus.com wrote:

 If you don't mind me jumping in here. I'm new to programming and am
 getting my feet wet.  I am a DJ and I think having the ability for the 3D
 engine would be cool.  If there is the option of a video output (like VDJ
 has) and render the video out to display the 3D images, then you would have
 a good use for it.  While videos are great, if a song doesn't have a video
 to it, it could display the 3D content.


 On Tue, Mar 11, 2014 at 11:32 AM, Trevor Hansen 
 trevornhan...@gmail.comwrote:

 If you don't mind me jumping in here. I'm new to programming and am
 getting my feet wet.  I am a DJ and I think having the ability for the 3D
 engine would be cool.  If there is the option of a video output (like VDJ
 has) and render the video out to display the 3D images, then you would have
 a good use for it.  While videos are great, if a song doesn't have a video
 to it, it could display the 3D content.


 On Tue, Mar 11, 2014 at 10:03 AM, Max Linke max_li...@gmx.de wrote:

 Hi Udura

 When going through the project ideas by MIXXX it all seems very good
 summer
 projects. I would love to add something on cover flow project idea
 first.
 From my experience for cool animations best choice is ActionScript
 (Flash/Air). I have worked with papervision3d , stage3d and other 3D
 engines developed for actionscript. Some of these engines support
 hardware
 acceleration therefore minimize the CPU load. Since ActionScript is
 working
 with Windows,Linux and Mac using it won't be a matter for cross
 platform
 developing. By using a 3D engine we could build very advanced and
 interactive album art display that would give a *unique touch* for
 Mixxx. I
 would love to show some of my work availiable online.

 http://www.pixelzexplorer.org/us/ourteam.html
 http://www.pixelzexplorer.org/megamind/

 We can develop a cover flow album art display by using purely QT but I
 thought if we add the power of a 3D Engine to Mixxx it would be way too
 cool. Please give me your thoughts on this suggestion. :)
 I'm not sure about using a full blown 3D engine to display some covers.
 It
 seems a bit like using a sledgehammer to crack a nut. Although I see
 that there
 is potential to do interesting interactive stuff. Can you go a bit more
 into
 detail what you imagine and how it would be useful for a DJ.

 But before that can happen you'll need to implement how covers will be
 handeled
 internally. How will you look for them? How will you store them? How are
 covers
 stored usually by people? Without having the internal stuff figured out
 and
 implemented it is no use to work on a shinny UI. For a start just having
 something like Traktor would be good. After that is working you can
 start to
 work on UI's.

 Also ActionScript is a no-go since it depends on proprietry software
 (Adobe
 Flash). As well as the fact that flash is dying in favor of HTML5. Going
 with
 openGL is possible, we already use it to display the waveforms. Before
 you
 suggest any other engine please keep in mind that it has to be
 compatible with
 our license, mixxx uses GPLv2 so we can't bundle anything that is
 released
 under GPLv3. Oh and before I forget it currently runs on a wide range of
 hardware from brand new laptops to years old netbooks and such a basic
 feature
 as cover art should be available to all of them.

 best Max


 --
 Learn Graph Databases - Download FREE O'Reilly Book
 Graph Databases is the definitive new guide to graph 

Re: [Mixxx-devel] Music Mood Detection AI

2014-03-12 Thread Max Linke
Am 3/11/2014 6:51 PM, schrieb udara de silva:
 Greetings all,
 I have an project idea for Mixxx which I think is* very very important *for
 DJs. That is MMD Algorithms for make track selection super easy. First let
 me explain what i mean by mood. Well I'm feeling exciting now. That's a
 mood. I feel like dancing,rocking,clubbing or I'm feeling romantic,sad or
 relaxing. These are what I mean by mood.
How is this quantified? BPM, spectrum, timbre? There has been a lot of 
research on that part that you should read before thinking further. The 
thesis to the mirage plugin for banshee is a good start

http://hop.at/mirage/mirage.pdf

Also we had project like that already last year and I plan to include it 
in the 1.13 version

http://mixxxblog.blogspot.de/2013/05/google-summer-of-code-2013-projects.html
 Say your are DJying a dance floor
 so you want to mix tracks that make people on the dance floor feel like
 dancing. Well you would say a good DJ should know that track. True enough
 but having more than 10,000 songs collection what would be the time taken
 to select the track on the line. *My proposal is to create an Artificial
 Intelligent to detect mood of the music* and generate a playlist out of
 those 1 songs and then the DJ can easily figure out what track does he
 need to play. Let me discuss on how to implement the system in brief,

 before starting off let me post a link again for an artificial intelligence
 I created who I call megamind [?] http://www.pixelzexplorer.org/megamind/ 
 you
 can ask a question and hit enter to see his answer. There I use natural
 language processing to determine what the user might be wanting to know

 Having said that all let me move on to my implementation. With max replies
 I broken my proposal to 4 phases and they goes as follows.

 *Phase 1 : **Supervised mood detection*
 This is quite easy. the plan is to add UI elements to let the DJ choose the
 proper mood of the song. This would be then saved with the song so that
 later this information will be used to create the play list. This would be
 the start point for the project but practically setting moods of all tracks
 would be quite difficult since there will be lot of songs.
What are your features / target function for the ML algorithm? What kind 
of model do you want to use?

 *Phase 2 : **Unsupervised learning for mood detection*
 This would be the most cool part and hence is the most difficult. In this
 track mood will be automatically detected. Is this possible??? YES. I would
 love to go into details how this would be done if you guys are interested
 in accepting my proposal. But what should be noted is that there is no
 perfect algorithm for this because the concept of mood is ambiguous. What
 we could build is an algorithm based of Fuzzy Logic. But I am very
 convinced this is something possible to do.

The same question as above.  What would you use as an input? This is a 
seriously though problem. Thinks that work for stuff like house usually 
don't work for other genres. If you want us to take you seriously here 
you should show that you have read the literature. Although I'm not to 
optimistic in taking this one because we already have such a feature 
lined up for the future

 *Phase 3 : **Combination of the supervised and unsupervised information*
 This would also be an easy task. If the DJ think automatically detected
 mood is not correct in this phase there will be a feature to change it in
 the desirable way.

 *Phase 4 : **Automatically generating the playlist*
 From what Max told me there has being some work done in this area so
 implementing this would be quite easy. Since I trust Max [?] I would rank
 this phase as an easy one. Otherwise I would have to work on this one too..

 So this is my proposal. I have done some work in NLP for decision making
   but haven't try to use AI on the field of Music. But I love challenges and
 would love to tackle the problem. I have work with Java,C++,C and has a
 background knowledge on QT as well. This is my first attempt to contribute
 my skills to the Opensource community and wish you guys let me in. Thank
 you...!



 --
 Learn Graph Databases - Download FREE O'Reilly Book
 Graph Databases is the definitive new guide to graph databases and their
 applications. Written by three acclaimed leaders in the field,
 this first edition is now available. Download your free book today!
 http://p.sf.net/sfu/13534_NeoTech


 ___
 Get Mixxx, the #1 Free MP3 DJ Mixing software Today
 http://mixxx.org


 Mixxx-devel mailing list
 Mixxx-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mixxx-devel


--
Learn Graph Databases - Download FREE O'Reilly Book
Graph Databases is the definitive new guide to graph databases and their
applications. Written by 

Re: [Mixxx-devel] Summer of Code: Hello!

2014-03-12 Thread Max Linke
Am 3/12/2014 2:41 AM, schrieb Corey Antoniuk:
 Hi Max

 Thanks for the feedback!

 Above all I’d like to make a rock solid system before going crazy with the UI.
 I’d also like to have my code be easy to maintain whether I’m the one 
 maintaining it or not.

I like the sound of that. Keep going
 I’m going to spend the next few days updating my plan which I’ll post here 
 before submitting.
You can also make your proposal public and post the link here. You can 
edit it the whole time during the application phase.  Also it might be 
good to also write us small updates then one huge one. Reading short 
mails and giving feedback to specific comments is easier and faster done 
then going over one huge mail. It's the some with code 'commit early, 
commit often'

best Max

 Corey
 On Mar 11, 2014, at 11:34 AM, Max Linke max_li...@gmx.de wrote:

 Hi Corey

 Your proposal looks already good it seems like you already spend quite some
 thought on it. I added some comments to parts where I had questions or where 
 you
 should go into more detail. I'm looking forward to your next iteration.


 Some general thoughts about this project.

 The part this projects relies most heavily on is doing the cover management 
 in
 a sane way internally. Your best UI wont be of any use if you can't find the
 covers or add/change them oh and loading the covers should also be fast. This
 part should not be underestimated and really well thought out. A good way to 
 to
 this is to make a list of possible problems and their solutions. If you think
 about possible test's and also add writing unit-tests for this part to your
 work would be a big plus.

 Also for all the other students who want to work on this, your proposal 
 should
 definitely go into detail here!


 On Mon, 10 Mar 2014 18:13:45 -0400
 Corey Antoniuk corey.anton...@gmail.com wrote:
 My name is Corey Antoniuk and I’d love to work with you guys for Google’s
 Summer of Code!


 That said, as with most open source projects, while it has a full set of
 features and works beautifully, it is lacking some UX niceties that users
 want. This is where I would like to help out. I’d like to work on
 implementing cover art functionality, primarily using the pictureflow QT
 widget written by Airya Hidayat, as suggested by RJ Ryan in Bug #1015894.
 (http://code.google.com/p/pictureflow/)
 Coverflow is definitely a shinny UI but how good will it work for a DJ. What
 are our competitors doing? Are there other ways to display covers on a 
 computer?
 What would be the equivalent to search through a folder of vinyls on a pc? 
 Can
 you make use of hoover effects / pup-up lists?

 Here is a brief overview of my plan at the moment. I’d love to here what you
 guys think. I’ll have to do some more research to determine a timeline, but 
 I
 figured it would be better to see what you guys think of this first.

 1. Make local art accessible to pictureflow
 This is actually the most important part that you have to get working before
 you start to implement any advanced UI's.

 I suspect this won't be that easy because their are several ways
 people store the covers for their songs. Maybe they have an extra file or
 they use the ID3 Tags or maybe even both! Mixxx should be able to pick up the
 covers during a normal library scan and after that display them instantly on
 each run. It is important here that this works fast and reliable whether the
 songs are saved on a ssd, a USB2 external drive or some network drive.  I 
 would
 be good if you do some research what the most common ways are to store covers
 and how other programs handle them. If you want to use code from other 
 projects
 please check their license before, mixxx is GPLv2 and thus incompatible with
 GPLv3 code. You can ask the other projects though if they are willing to
 relicense their code for us, we actually use some clementine code in 1.12 for
 which we got permission.

 Oh and please also keep in mind that everything that touches files has to be
 sandbox compatible on os-x. rryan added some support for that in PR #169
 https://github.com/mixxxdj/mixxx/pull/169

 2. implement pictureflow within the Mixxx UI
 maybe you should go for more then one UI to show cover art. Traktor for 
 example
 has a nice simple way to show covers which would be easy to implement in 
 mixxx.
 This also breaks this project into 2 separate chunks. Part 1 being all the
 internal stuff and a minimal UI, part 2 is a shinny new UI. The advantage is
 that we can merge part 1 before you are finished with 2 and you'll get 
 feedback
 from our users directly during GSoC.

 As with point one it is good if you check our how other DJ programs display
 cover art.

 3. preferences
 actually just having on/off sounds fine. Being able to customize everything 
 is
 nice but it is easy to be lost in the possibilities and is is also easier to
 introduce bugs.

 3. drag and drop to crates
 You should think a bit more about your UI. How will the selection of a cover
 affect 

Re: [Mixxx-devel] Summer of Code: Hello!

2014-03-12 Thread Corey Antoniuk
Thanks Max,

I was actually worried you guys would get annoyed if I update too much, but 
I’ll get something going on my school server tomorrow to keep everyone up to 
date.

So, the pictureflow QT widget I’m hoping to use is MIT licensed, I’ve read over 
the license and it looks like we can use it no problem, but I’d just like to 
get the go ahead first.

Thanks,
Corey

On Mar 12, 2014, at 7:52 PM, Max Linke max_li...@gmx.de wrote:

 Am 3/12/2014 2:41 AM, schrieb Corey Antoniuk:
 Hi Max
 
 Thanks for the feedback!
 
 Above all I’d like to make a rock solid system before going crazy with the 
 UI.
 I’d also like to have my code be easy to maintain whether I’m the one 
 maintaining it or not.
 
 I like the sound of that. Keep going
 I’m going to spend the next few days updating my plan which I’ll post here 
 before submitting.
 You can also make your proposal public and post the link here. You can edit 
 it the whole time during the application phase.  Also it might be good to 
 also write us small updates then one huge one. Reading short mails and giving 
 feedback to specific comments is easier and faster done then going over one 
 huge mail. It's the some with code 'commit early, commit often'
 
 best Max
 
 Corey
 On Mar 11, 2014, at 11:34 AM, Max Linke max_li...@gmx.de wrote:
 
 Hi Corey
 
 Your proposal looks already good it seems like you already spend quite some
 thought on it. I added some comments to parts where I had questions or 
 where you
 should go into more detail. I'm looking forward to your next iteration.
 
 
 Some general thoughts about this project.
 
 The part this projects relies most heavily on is doing the cover management 
 in
 a sane way internally. Your best UI wont be of any use if you can't find the
 covers or add/change them oh and loading the covers should also be fast. 
 This
 part should not be underestimated and really well thought out. A good way 
 to to
 this is to make a list of possible problems and their solutions. If you 
 think
 about possible test's and also add writing unit-tests for this part to your
 work would be a big plus.
 
 Also for all the other students who want to work on this, your proposal 
 should
 definitely go into detail here!
 
 
 On Mon, 10 Mar 2014 18:13:45 -0400
 Corey Antoniuk corey.anton...@gmail.com wrote:
 My name is Corey Antoniuk and I’d love to work with you guys for Google’s
 Summer of Code!
 
 
 That said, as with most open source projects, while it has a full set of
 features and works beautifully, it is lacking some UX niceties that users
 want. This is where I would like to help out. I’d like to work on
 implementing cover art functionality, primarily using the pictureflow QT
 widget written by Airya Hidayat, as suggested by RJ Ryan in Bug #1015894.
 (http://code.google.com/p/pictureflow/)
 Coverflow is definitely a shinny UI but how good will it work for a DJ. What
 are our competitors doing? Are there other ways to display covers on a 
 computer?
 What would be the equivalent to search through a folder of vinyls on a pc? 
 Can
 you make use of hoover effects / pup-up lists?
 
 Here is a brief overview of my plan at the moment. I’d love to here what 
 you
 guys think. I’ll have to do some more research to determine a timeline, 
 but I
 figured it would be better to see what you guys think of this first.
 
 1. Make local art accessible to pictureflow
 This is actually the most important part that you have to get working before
 you start to implement any advanced UI's.
 
 I suspect this won't be that easy because their are several ways
 people store the covers for their songs. Maybe they have an extra file or
 they use the ID3 Tags or maybe even both! Mixxx should be able to pick up 
 the
 covers during a normal library scan and after that display them instantly on
 each run. It is important here that this works fast and reliable whether the
 songs are saved on a ssd, a USB2 external drive or some network drive.  I 
 would
 be good if you do some research what the most common ways are to store 
 covers
 and how other programs handle them. If you want to use code from other 
 projects
 please check their license before, mixxx is GPLv2 and thus incompatible with
 GPLv3 code. You can ask the other projects though if they are willing to
 relicense their code for us, we actually use some clementine code in 1.12 
 for
 which we got permission.
 
 Oh and please also keep in mind that everything that touches files has to be
 sandbox compatible on os-x. rryan added some support for that in PR #169
 https://github.com/mixxxdj/mixxx/pull/169
 
 2. implement pictureflow within the Mixxx UI
 maybe you should go for more then one UI to show cover art. Traktor for 
 example
 has a nice simple way to show covers which would be easy to implement in 
 mixxx.
 This also breaks this project into 2 separate chunks. Part 1 being all the
 internal stuff and a minimal UI, part 2 is a shinny new UI. The advantage is
 that we can merge part 1 before you are