Hi,

This looks like a very challenging project. Thanks for working on it.

Maybe you should also have a look at
lp:~smstewart91/mixxx/advanced_autodj<https://code.launchpad.net/%7Esmstewart91/mixxx/advanced_autodj>and
http://mixxx.org/wiki/doku.php/gsoc2012_autodj_features?s[]=autodj.
You may adopt some of those ideas or just give us your opinion about it.

Do you have added your new source files to the source section in
mixxx/build/depends.py line 400ff?
This may solve your build problem

Kind regards,

Daniel





2012/12/17 <wolfbi...@gmail.com>

> Hello Mixxx,
>
> Ok, first the short synopsis of my idea: I want to be able to record my
> transitions, and have auto-dj mix between songs and recorded transitions.
> My initial questions would be: First, does this already exist? If not, is
> there some inherent problem explaining why this doesn't already exist?
>
>
> -----------------------------------------------------------------------------------------------------------
> Idea
>
> -----------------------------------------------------------------------------------------------------------
>
> The idea is that computers and ai may not (yet) be able to match human
> creativity in music, but they can perfectly reproduce something that a
> human has already done (even better: a computer can do it infinitely many
> times, will never forget how to do it, AND can "remember" infinitely many
> transitions - all of which are impossible for human DJs).  Furthermore,
> songs can be represented as graph nodes, while mixes can be graph edges
> (with orthogonal ratings such as smoothness, harmony, energy level, etc
> (more on this later)) . Given enough crowdsourced edges (ie with enough DJs
> recording and rating transitions), auto-dj would be able to handle song
> requests during a live mix by applying graph search algorithms (with
> heuristics based on the ratings) in order to smoothly transition from the
> current song to the requested song (either directly or through connecting
> song-nodes).
>
> In this way, I fully believe auto-dj can absolutely reproduce anything a
> human DJ can do.  World-ranked EDM DJs know that what they do in a "live"
> performance is not difficult:
> http://deadmau5.tumblr.com/post/25690507284/we-all-hit-play, even if
> they're adverse to admitting it. It might seem like I'm suggesting human
> DJs are obsolete... Well, in many ways they are. I think that what human
> DJs are doing NOW is something that can be easily replaced with automation,
> allowing the live human to do even MORE on top of that (thereby extending
> the computer science idea of abstractions and blackboxes to music).
>  The possibilities here are quite profound - I could continue for days on
> this subject - but in an effort to keep this concise, I'll leave it with
> the tantalizing thought that the live human DJ is now free to further
> express his or her musical talent through *anything* else (eg adding
> complex effects, playing live instruments, sampling extra sounds).
>
> Oh, and from the lay user's perspective? Imagine your "favorites" playlist
> mixed as if by one of the world's best DJs.
>
>
> -----------------------------------------------------------------------------------------------------------
> Implementation
>
> -----------------------------------------------------------------------------------------------------------
>
> Myself and others have been mulling this idea around for ~6 months, and
> it's gotten to the point where that itch needs to be scratched. Although I
> could do this external to Mixxx (record midi messages sent from my
> controller to Mixxx via jack midi routing, then reproduce them when I
> wanted), it would be better in multiple respects for the implementation to
> be within Mixxx itself. I have in mind three general steps to take in terms
> of the mechanism by which auto-dj records and subsequently plays back
> transitions:
>
> 1. Record transitions via audio binary.
> This can be adapted from Mixxx's built-in recording setup: when the record
> button is pressed, record the current deck states as metadata linked to the
> transition sample. Auto-dj, also informed of the connections between songs
> and transitions, would then simply make a decision as to where it wants to
> go next based on the current song and active heuristic.
>
> 2. Record which, when, where, and how controls are tweaked during
> transitions.
> This takes way less memory, as the control data size is << the transition
> audio file size. Plus, now we can get into interesting things like seeing
> the actual controls move / now the DJ can add effects simultaneous to
> auto-dj's transitions.
>
> 3. Present control tweaks in a human readable format.
> That the recording can now be modified, extended, and even generated only
> begins to describe the possibilities this presents:
> "There are known knowns; there are things we know that we know.
> There are known unknowns; that is to say there are things that, we now
> know we don't know.
> But there are also unknown unknowns – there are things we do not know we
> don't know."
> Quote from https://en.wikipedia.org/wiki/There_are_known_knowns
>
>
> -----------------------------------------------------------------------------------------------------------
> Working Status
>
> -----------------------------------------------------------------------------------------------------------
>
> Right now, I'm working on step 1. I plan on adding code to
> src/recording/enginerecord.* which will signal when the record button is
> pressed for start and stop.  However, I'm having troubles including an
> additional file I've named mixrecord: How do you make sure the new file
> gets compiled properly? After running scons, I can't find mixrecord.o in
> lin64_build.
>
> On the other hand, I have also drafted up some SQL schema additions for
> storing the transition metadata: http://pastebin.com/raw.php?i=FDkGktDK.
> The idea is that a "mix" is a recorded transition which has at at least 2
> "mix points" (the start and end of the mix), while mix points have deck and
> master states which capture the control values at a given mix point.
>
> Let me know if you have any questions, answers or suggestions; I am new to
> cpp and qt (but not new to programming).
>
> -Kane
>
>
> ------------------------------------------------------------------------------
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> _______________________________________________
> 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
>
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
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

Reply via email to