https://ccrma.stanford.edu/mediawiki/api.php?action=feedcontributions&user=Ddrkirby&feedformat=atomCCRMA Wiki - User contributions [en]2024-03-28T14:36:24ZUser contributionsMediaWiki 1.24.1https://ccrma.stanford.edu/mediawiki/index.php?title=220b-winter-2012/final-rehearsal-schedule&diff=12866220b-winter-2012/final-rehearsal-schedule2012-03-19T15:41:58Z<p>Ddrkirby: /* Time Slots */</p>
<hr />
<div>= Final Project Presentation Rehearsal Schedule =<br />
<br />
Location: CCRMA Stage, 3rd floor, The Knoll<br />
<br />
Date/Time: Monday, March 19, 10am-3pm<br />
<br />
== Time Slots ==<br />
<br />
Please indicate your name, number of audio channels, whether or not you need video, and any other technical needs. <br />
<br />
* 9:00 - (name, number of channels, video/no video)<br />
* 9:20 - (name, number of channels, video/no video)<br />
* 9:40 - (Cecilia, 2 or 8, video/no video(not sure yet))<br />
* 10:00 - Alex, 2, video<br />
* 10:20 - Sarah, 4 , no video, mic input.<br />
* 10:40 - Kevin, 2, video<br />
* 10:00 - Danny, 2, video<br />
* 10:20 - Kurt, 2 ch, video<br />
* 10:40 - Francois, 8, video, DK<br />
* 11:00 - Micah, 2, video, an outlet to plug my amp into.<br />
* 11:20 - Jennifer, 2, video (an old MacBook, so I will need to borrow the thing that connects it to the projector)<br />
* 11:40 - Lydia, 2, video<br />
* 12:00 - JP, 2, No video<br />
* 12:20 - Jeff, 2, no video, mic for input<br />
* 12:40 - Evan, 2, possibly video<br />
* 1:00 - Chris, Listening Room, no video<br />
* 1:20 - Jiffer, 2-chan, no vid<br />
* 1:40 - Eri, 2, no vid, mic<br />
* 2:00 - (Colin Sullivan, 2, no video), Max Praglin (2, no video)<br />
* 2:20 - Alex Stabile, 2, video<br />
* 2:40 - Timothy Wong, 2, video</div>Ddrkirbyhttps://ccrma.stanford.edu/mediawiki/index.php?title=220b-winter-2012/final-rehearsal-schedule&diff=12848220b-winter-2012/final-rehearsal-schedule2012-03-13T01:05:16Z<p>Ddrkirby: /* Time Slots */</p>
<hr />
<div>= Final Project Presentation Rehearsal Schedule =<br />
<br />
Location: CCRMA Stage, 3rd floor, The Knoll<br />
<br />
Date/Time: Monday, March 18, 10am-3pm<br />
<br />
== Time Slots ==<br />
<br />
Please indicate your name, number of audio channels, whether or not you need video, and any other technical needs. <br />
<br />
* 9:00 - Francois, 8, video, DK<br />
* 9:20 - (name, number of channels, video/no video)<br />
* 9:40 - (Cecilia, 2 or 8, video/no video(not sure yet))<br />
* 10:00 - (, number of channels, video/no video)<br />
* 10:20 - Sarah, 4 , no video<br />
* 10:40 - (name, number of channels, video/no video)<br />
* 10:00 - (name, number of channels, video/no video)<br />
* 10:20 - (name, number of channels, video/no video)<br />
* 10:40 - (name, number of channels, video/no video)<br />
* 11:00 - Micah, 2, video<br />
* 11:20 - Jennifer, 2, no video (for now..)<br />
* 11:40 - (name, number of channels, video/no video)<br />
* 12:00 - JP, 2, No video<br />
* 12:20 - Jeff, 2, no video, mic for input<br />
* 12:40 - (name, number of channels, video/no video)<br />
* 1:00 - (name, number of channels, video/no video)<br />
* 1:20 - Jiffer, 2-chan, no vid<br />
* 1:40 - (name, number of channels, video/no video)<br />
* 2:00 - (name, number of channels, video/no video)<br />
* 2:20 - (name, number of channels, video/no video)<br />
* 2:40 - Timothy Wong, 2, no video</div>Ddrkirbyhttps://ccrma.stanford.edu/mediawiki/index.php?title=220b-winter-2012/final-rehearsal-schedule&diff=12847220b-winter-2012/final-rehearsal-schedule2012-03-13T01:05:08Z<p>Ddrkirby: /* Time Slots */</p>
<hr />
<div>= Final Project Presentation Rehearsal Schedule =<br />
<br />
Location: CCRMA Stage, 3rd floor, The Knoll<br />
<br />
Date/Time: Monday, March 18, 10am-3pm<br />
<br />
== Time Slots ==<br />
<br />
Please indicate your name, number of audio channels, whether or not you need video, and any other technical needs. <br />
<br />
* 9:00 - Francois, 8, video, DK<br />
* 9:20 - (name, number of channels, video/no video)<br />
* 9:40 - (Cecilia, 2 or 8, video/no video(not sure yet))<br />
* 10:00 - (, number of channels, video/no video)<br />
* 10:20 - Sarah, 4 , no video<br />
* 10:40 - (name, number of channels, video/no video)<br />
* 10:00 - (name, number of channels, video/no video)<br />
* 10:20 - (name, number of channels, video/no video)<br />
* 10:40 - (name, number of channels, video/no video)<br />
* 11:00 - Micah, 2, video<br />
* 11:20 - Jennifer, 2, no video (for now..)<br />
* 11:40 - (name, number of channels, video/no video)<br />
* 12:00 - JP, 2, No video<br />
* 12:20 - Jeff, 2, no video, mic for input<br />
* 12:40 - (name, number of channels, video/no video)<br />
* 1:00 - (name, number of channels, video/no video)<br />
* 1:20 - Jiffer, 2-chan, no vid<br />
* 1:40 - (name, number of channels, video/no video)<br />
* 2:00 - (name, number of channels, video/no video)<br />
* 2:20 - (name, number of channels, video/no video)<br />
* 2:40 - (Timothy Wong, 2, no video)</div>Ddrkirbyhttps://ccrma.stanford.edu/mediawiki/index.php?title=220a-fall-2011&diff=12737220a-fall-20112011-11-21T02:44:20Z<p>Ddrkirby: </p>
<hr />
<div>= Final Presentation =<br />
<br />
* web page due and presentation on Thursday, December 15 3:30pm<br />
<br />
<br />
Final projects in 220a are wide open in content. New music, ideas involving sound, upgrades to Chuck itself, graphics interaction (Processing language), anything goes. The only requirement is to do the sound and music programming in Chuck so your code is shareable with the rest of the class. You'll have 8 minutes to set up, play and present your work at our final meeting. It'll be a long evening and Chris will cook. These are usually pretty fun marathons and guests are welcome.<br />
<br />
We'll be up in the Stage from 3:30pm and there is a signup wiki for presentation order. Anyone with questions about a project idea or how to make one work can contact Chris or the TA's.<br />
<br />
<br />
<br />
== Final Presentation Sign Up ==<br />
<br />
1. Abrey Mann<br />
<br />
2. Max Praglin<br />
<br />
3. Timothy Wong<br />
<br />
4.<br />
<br />
5.<br />
<br />
6.<br />
<br />
7. Mayank Sanganeria<br />
<br />
8. Francois Germain<br />
<br />
9.<br />
<br />
10.<br />
<br />
11.<br />
<br />
12.<br />
<br />
13.<br />
<br />
14.<br />
<br />
15.<br />
<br />
16.<br />
<br />
17.<br />
<br />
18.<br />
<br />
19.<br />
<br />
20.<br />
<br />
21.<br />
<br />
22.<br />
<br />
23.<br />
<br />
24.<br />
<br />
25.<br />
<br />
26.<br />
<br />
27.<br />
<br />
28.<br />
<br />
29.<br />
<br />
30.<br />
<br />
31.<br />
<br />
32.<br />
<br />
33.<br />
<br />
34.<br />
<br />
35.<br />
<br />
36.<br />
<br />
37.<br />
<br />
== Music Presentation Sign Up ==<br />
<br />
* <span style="color:#ccc">9/29 (THU) : Cecilia Wu, Kurt Werner, Colin Sullivan</span><br />
<br />
* <span style="color:#ccc">10/4 (TUE) : Beau Hye Silver, Kevin Chau, Max Praglin</span><br />
<br />
* <span style="color:#ccc">10/6 (THU) : Duncan Lindsay, Jeff Rowell, Micah Arvey</span><br />
<br />
* <span style="color:#ccc">10/11 (TUE) : Sarah Smith, Max Ryan, Alex Stabile</span><br />
<br />
* <span style="color:#ccc">10/13 (THU) : Timothy Wong, Danny Organ, Afrooz Family</span><br />
<br />
* <span style="color:#ccc">10/18 (TUE) : Aravind Arun, Lydia Zodda, David Sabeti</span><br />
<br />
* <span style="color:#ccc">10/20 (THU) : Derek Tingle, Helen Chavez, Andy Stuhl</span><br />
<br />
* <span style="color:#ccc">10/25 (TUE) : Lulu DeBoer</span><br />
<br />
* <span style="color:#faa">10/27 (THU) : "Monterey Whale Watch!"</span><br />
<br />
* <span style="color:#ccc">11/1 (TUE) : Eri Gamo, Evan Gitterman</span><br />
<br />
* <span style="color:#ccc">11/3 (THU) : Mayank Sanganeria, Sidharth Kumar, Jennifer Hsu</span><br />
<br />
* <span style="color:#ccc">11/8 (TUE) : Calvin Wang, Abrey Mann</span><br />
<br />
* <span style="color:#faa">11/10 (THU) : Joint Lecture with UMich</span><br />
<br />
* <span style="color:#ccc">11/15 (TUE) : JP Wright, Turenas</span><br />
<br />
* <span style="color:#ccc">11/17 (THU) : Chowning lecture</span><br />
<br />
* 11/29 (TUE) : Melvin Low, Danny Dalton, Sewon Jang<br />
<br />
* 12/1 (THU) : Francois Germain, Last Chance! <-- sign here!!</div>Ddrkirbyhttps://ccrma.stanford.edu/mediawiki/index.php?title=256a-fall-2011/hw4&diff=12717256a-fall-2011/hw42011-11-16T04:01:49Z<p>Ddrkirby: </p>
<hr />
<div>= Homework #4: Project Proposal + Minimal Networking =<br />
<br />
Due date:<br />
* '''part 1''': 2010.11.7 3:15pm (class time - be ready to give 2 minute presentation), Monday<br />
* '''part 2''': 2010.11.11 11:59:59pm (or thereabout), Friday<br />
<br />
<br />
<div style="text-align: left;">[[Image:computer_networking.jpg]]</div><br />
<br />
<br />
In this two-part assignment, you are to put together a proposal/presentation for final project. In the second part of the assignment, you are create a simple networked instrument using OSC.<br />
<br />
<br />
== Specification (part 1 of 2): Project Proposal ==<br />
* put together a proposal for your final project<br />
** check out this [[256a-fall-2009/proposal-example|project page template]]<br />
* recommended number of people on team: 1 or 2 (if 3 or more, please talk to me)<br />
* craft some preliminary design for the product (the vision, for end users)<br />
* architect the software (the engine/framework, for developers)<br />
* make some realistic milestones (2 to 3) leading up the final presentation (in class, finals week)<br />
* for Monday (11/2), present this in a 2-3 minute presentation<br />
<br />
<br />
== Specification (part 2 of 2): Networking ==<br />
* using OSC, and components from your previous 3 assignments (adding code as necessary), create the simplest networked instrument you can think of (that is still "expressive")<br />
* prepare a 30-second performance with it (recruit others as needed)<br />
* here is [http://www.audiomulch.com/~rossb/code/oscpack/ OSCpack], a c++ library shown in class, also in the [http://ccrma.stanford.edu/~ge/software/calories calories] visualization.<br />
<br />
<br />
=== components and ideas ===<br />
* only hard project requirement: your networked instrument should make use of OSC (sending and receiving)<br />
* real-time audio / synthesis<br />
* interaction (who controls what, and on which machine(s))?<br />
* graphics from hw3?<br />
* ???<br />
* perhaps a one-to-one musical instrument (two laptops, two people)?<br />
* perhaps a networked musical game (e.g., musical hot potato, some form of marco polo)?<br />
* perhaps ??!?!?!?<br />
<br />
=== questions ===<br />
* what is the interface? (e.g., keyboard? text? mouse?)<br />
* how "real-time" is this instrument (it doesn't have to be)?<br />
* what kind of music can the instrument make (as a group)?<br />
* how many people and machines are needed in a performance setting?<br />
<br />
* keep it simple! (aesthetically speaking, aim for a ultra-simple networked instrument that is still by some measure still "expressive")<br />
<br />
<br />
== Note ==<br />
* have fun with it!!!<br />
* your code should compile and run on the CCRMA machines<br />
* comment your code!<br />
* choose your own coding conventions - but '''be consistent'''<br />
* you are welcome to work together, but you must do/turn in your own work<br />
<br />
== Deliverables ==<br />
<br />
'''(part 1): in class'''<br />
<br />
'''(part 2): turn in all files by via coursework''':<br />
<br />
* 1) source code to the project (*.h, *.cpp, *.c makefile, etc.)<br />
* 2) also<br />
** links to your files of various kinds<br />
** instructions on building the project (for example, anyone in the class should be able to download and build)<br />
** a short README text section that:<br />
*** conveys your ideas/comments in constructing each program <br />
*** describes any difficulties you encountered in the process<br />
*** lists any collaborators</div>Ddrkirbyhttps://ccrma.stanford.edu/mediawiki/index.php?title=256a-fall-2011/hw4&diff=12716256a-fall-2011/hw42011-11-16T04:01:41Z<p>Ddrkirby: </p>
<hr />
<div>= Homework #4: Project Proposal + Minimal Networking =<br />
<br />
Due date:<br />
* '''part 1''': 2010.11.7 3:15pm (class time - be ready to give 2 minute presentation), Monday<br />
* '''part 2''': 2010.11.11 11:59:59pm (or thereabout), Friday<br />
<br />
<br />
<div style="text-align: left;">[[Image:computer_networking.jpg]]</div><br />
<br />
<br />
In this two-part assignment, you are to put together a proposal/presentation for final project. In the second part of the assignment, you are create a simple networked instrument using OSC.<br />
<br />
<br />
== Specification (part 1 of 2): Project Proposal ==<br />
* put together a proposal for your final project<br />
** check out this [[256a-fall-2009/proposal-example|project page template]]<br />
* recommended number of people on team: 1 or 2 (if 3 or more, please talk to me)<br />
* craft some preliminary design for the product (the vision, for end users)<br />
* architect the software (the engine/framework, for developers)<br />
* make some realistic milestones (2 to 3) leading up the final presentation (in class, finals week)<br />
* for Monday (11/2), present this in a 2-3 minute presentation<br />
<br />
<br />
== Specification (part 2 of 2): Networking ==<br />
* using OSC, and components from your previous 3 assignments (adding code as necessary), create the simplest networked instrument you can think of (that is still "expressive")<br />
* prepare a 30-second performance with it (recruit others as needed)<br />
* here is [http://www.audiomulch.com/~rossb/code/oscpack/ OSCpack], a c++ library shown in class, also in the [http://ccrma.stanford.edu/~ge/software/calories calories] visualization.<br />
<br />
<br />
=== components and ideas ===<br />
* only hard project requirement: your networked instrument should make use of OSC (sending and receiving)<br />
* real-time audio / synthesis<br />
* interaction (who controls what, and on which machine(s))?<br />
* graphics from hw3?<br />
* ???<br />
* perhaps a one-to-one musical instrument (two laptops, two people)?<br />
* perhaps a networked musical game (e.g., musical hot potato, some form of marco polo)?<br />
* perhaps ??!?!?!?<br />
<br />
=== questions ===<br />
* what is the interface? (e.g., keyboard? text? mouse?)<br />
* how "real-time" is this instrument (it doesn't have to be)?<br />
* what kind of music can the instrument make (as a group)?<br />
* how many people and machines are needed in a performance setting?<br />
<br />
* keep it simple! (aesthetically speaking, aim for a ultra-simple networked instrument that is still by some measure still "expressive")<br />
<br />
<br />
== Note ==<br />
* have fun with it!!!<br />
* your code should compile and run on the CCRMA machines<br />
* comment your code!<br />
* choose your own coding conventions - but '''be consistent'''<br />
* you are welcome to work together, but you must do/turn in your own work<br />
<br />
== Deliverables ==<br />
<br />
'''(part 1): in class'''<br />
<br />
'''(part 2): turn in all files by via coursework''':<br />
<br />
* 1) source code to the project (*.h, *.cpp, *.c makefile, etc.)<br />
* 2) also<br />
** links to your files of various kinds<br />
** instructions on building the project (for example, anyone in the class should be able to download and build)<br />
** a short README text section that:<br />
*** conveys your ideas/comments in constructing each program <br />
*** describes any difficulties you encountered in the process<br />
*** lists any collaborators<br />
<br />
(test to see whether malicious edits can be made)</div>Ddrkirbyhttps://ccrma.stanford.edu/mediawiki/index.php?title=ChipStation&diff=12695ChipStation2011-11-06T12:55:41Z<p>Ddrkirby: /* ChipStation */</p>
<hr />
<div>= ChipStation =<br />
<br />
A Fall 2011 Music256a/CS476a project proposal page by Timothy Wong (aka DDRKirby(ISQ))<br />
ddrkirby@stanford.edu<br />
<br />
== Idea / Premise ==<br />
To extend upon the concept presented by the AXE homebrew program for Nintendo DS.<br />
<br />
Watch a video of AXE here: [http://www.youtube.com/watch?v=1ewMNgiTQ30]<br />
<br />
AXE is downloadable at [http://pineight.com/ds/].<br />
<br />
<br />
== Motivation ==<br />
Axe is a really cool concept, but pretty darn basic and not very exciting after a few minutes of noodling around.<br />
<br />
The basic idea of making a music-making machine where it "sounds cool" even if you're just messing around is very appealing. I feel like this is great because non-musicians can still make things that sound cool (though musicians can make things that sound even cooler =P).<br />
<br />
<br />
== The Thing (What is it) ==<br />
Unlike AXE, this will be a Windows/Linux/OSX cross-platform product so that it's easier for your everyday layman to use.<br />
<br />
As for the interface, imagine AXE, only multiplied by 4 or so. Right now I'm envisioning multiple different "pads" presented on the screen in a grid layout. You can mouseclick any of these "pads" to get the same effect as in AXE.<br />
<br />
A major difference here though, is that you'll be able to record what you play, and have it continually playback to you. This is how you construct multiple layers, kind of like overdubbing. So you can record an 8-bar drum beat, then on top of that put in a bassline, and then a lead line, etc. Getting the right UI for the recording is going to be tricky (it might just be automatic).<br />
<br />
I'm going to be pretty minimalistic with my UI design since I want to keep things simple--at least for now. Making things pretty can come later.<br />
<br />
<br />
== Design ==<br />
No networking will be involved--that's just needlessly complicating things.<br />
<br />
In terms of programming architectures, I'm probably going to be using SDL, as it's cross-platform, well-established, and I've used it before. GUI will probably be mostly static 2D.<br />
<br />
There are a few major design considerations here:<br />
<br />
1) How to synthesize the sound? On the fly? Or sampled?<br />
<br />
I think the answer to this one is "both." For drum samples we should just sample them, but for the leads and basses, we might want to synthesize them ourselves so that we can have finer-grained control over things like timbre or volume. I think I'll probably end up using stk for this, meaning it'll probably be easiest if all of the audio in my app is done via rtAudio/stk, so that I won't have to intermingle SDL audio code with it.<br />
<br />
2) How to restrict the sound so that it sounds good even if you're messing around?<br />
<br />
AXE does this by using a pentatonic scale. I'm thinking of doing similar things...pentatonic is one, but blues scale might be another. Obviously, quantization will also be key here, and I'm probably gonna do it similarly to AXE, with a slight "buffer window" to allow some room for late hits. This will probably be very customizable via some sort of options dialogue, ideally.<br />
<br />
I think it's important to abstract out the "pad" interface, since a drum pad might work slightly differently (or even look differently) than a lead pad, for example.<br />
<br />
<br />
== Testing ==<br />
The primary tester will of course, be me, since I think I'll be the primary user as well ;)<br />
<br />
However, it'd be really good if I can show this to my friends and they figure it out too. Hard to say though; making user interfaces that are not confusing to everyday users is a lot harder than one would think...<br />
<br />
<br />
== Team ==<br />
Just me. ;)<br />
<br />
<br />
== Milestones ==<br />
* 11/14 - Have "something" working. This probably means having a basic pad abstraction along with a very basic example, that plays SOME sound.<br />
* 11/21 - (Thanksgiving break)<br />
* 12/5 - All the framework should be done by now, which means the only part left is to actually make the different pads.<br />
* 12/12 - Presentation week: everything should be done by now!</div>Ddrkirbyhttps://ccrma.stanford.edu/mediawiki/index.php?title=ChipStation&diff=12694ChipStation2011-11-06T12:55:19Z<p>Ddrkirby: </p>
<hr />
<div>= ChipStation =<br />
<br />
A Fall 2011 Music256a/CS476a project proposal page by Timothy Wong (aka DDRKirby(ISQ))<br />
ddrkirby@stanford.edu<br />
<br />
== Idea / Premise ==<br />
To extend upon the concept presented by the AXE homebrew program for Nintendo DS.<br />
<br />
Watch a video of AXE here: [http://www.youtube.com/watch?v=1ewMNgiTQ30]<br />
AXE is downloadable at [http://pineight.com/ds/].<br />
<br />
<br />
== Motivation ==<br />
Axe is a really cool concept, but pretty darn basic and not very exciting after a few minutes of noodling around.<br />
The basic idea of making a music-making machine where it "sounds cool" even if you're just messing around is very appealing. I feel like this is great because non-musicians can still make things that sound cool (though musicians can make things that sound even cooler =P).<br />
<br />
<br />
== The Thing (What is it) ==<br />
Unlike AXE, this will be a Windows/Linux/OSX cross-platform product so that it's easier for your everyday layman to use.<br />
As for the interface, imagine AXE, only multiplied by 4 or so. Right now I'm envisioning multiple different "pads" presented on the screen in a grid layout. You can mouseclick any of these "pads" to get the same effect as in AXE.<br />
<br />
A major difference here though, is that you'll be able to record what you play, and have it continually playback to you. This is how you construct multiple layers, kind of like overdubbing. So you can record an 8-bar drum beat, then on top of that put in a bassline, and then a lead line, etc. Getting the right UI for the recording is going to be tricky (it might just be automatic).<br />
<br />
I'm going to be pretty minimalistic with my UI design since I want to keep things simple--at least for now. Making things pretty can come later.<br />
<br />
<br />
== Design ==<br />
No networking will be involved--that's just needlessly complicating things.<br />
In terms of programming architectures, I'm probably going to be using SDL, as it's cross-platform, well-established, and I've used it before. GUI will probably be mostly static 2D.<br />
<br />
There are a few major design considerations here:<br />
1) How to synthesize the sound? On the fly? Or sampled?<br />
I think the answer to this one is "both." For drum samples we should just sample them, but for the leads and basses, we might want to synthesize them ourselves so that we can have finer-grained control over things like timbre or volume. I think I'll probably end up using stk for this, meaning it'll probably be easiest if all of the audio in my app is done via rtAudio/stk, so that I won't have to intermingle SDL audio code with it.<br />
<br />
2) How to restrict the sound so that it sounds good even if you're messing around?<br />
AXE does this by using a pentatonic scale. I'm thinking of doing similar things...pentatonic is one, but blues scale might be another. Obviously, quantization will also be key here, and I'm probably gonna do it similarly to AXE, with a slight "buffer window" to allow some room for late hits. This will probably be very customizable via some sort of options dialogue, ideally.<br />
<br />
I think it's important to abstract out the "pad" interface, since a drum pad might work slightly differently (or even look differently) than a lead pad, for example.<br />
<br />
<br />
== Testing ==<br />
The primary tester will of course, be me, since I think I'll be the primary user as well ;)<br />
However, it'd be really good if I can show this to my friends and they figure it out too. Hard to say though; making user interfaces that are not confusing to everyday users is a lot harder than one would think...<br />
<br />
<br />
== Team ==<br />
Just me. ;)<br />
<br />
<br />
== Milestones ==<br />
* 11/14 - Have "something" working. This probably means having a basic pad abstraction along with a very basic example, that plays SOME sound.<br />
* 11/21 - (Thanksgiving break)<br />
* 12/5 - All the framework should be done by now, which means the only part left is to actually make the different pads.<br />
* 12/12 - Presentation week: everything should be done by now!</div>Ddrkirbyhttps://ccrma.stanford.edu/mediawiki/index.php?title=ChipStation&diff=12693ChipStation2011-11-06T12:54:57Z<p>Ddrkirby: Created page with '= ChipStation = A Fall 2011 Music256a/CS476a project proposal page by Timothy Wong (aka DDRKirby(ISQ)) ddrkirby@stanford.edu == Idea / Premise == To extend upon the concept preā¦'</p>
<hr />
<div>= ChipStation =<br />
<br />
A Fall 2011 Music256a/CS476a project proposal page by Timothy Wong (aka DDRKirby(ISQ))<br />
ddrkirby@stanford.edu<br />
<br />
== Idea / Premise ==<br />
To extend upon the concept presented by the AXE homebrew program for Nintendo DS.<br />
Watch a video of AXE here: [http://www.youtube.com/watch?v=1ewMNgiTQ30]<br />
AXE is downloadable at [http://pineight.com/ds/].<br />
<br />
<br />
== Motivation ==<br />
Axe is a really cool concept, but pretty darn basic and not very exciting after a few minutes of noodling around.<br />
The basic idea of making a music-making machine where it "sounds cool" even if you're just messing around is very appealing. I feel like this is great because non-musicians can still make things that sound cool (though musicians can make things that sound even cooler =P).<br />
<br />
<br />
== The Thing (What is it) ==<br />
Unlike AXE, this will be a Windows/Linux/OSX cross-platform product so that it's easier for your everyday layman to use.<br />
As for the interface, imagine AXE, only multiplied by 4 or so. Right now I'm envisioning multiple different "pads" presented on the screen in a grid layout. You can mouseclick any of these "pads" to get the same effect as in AXE.<br />
<br />
A major difference here though, is that you'll be able to record what you play, and have it continually playback to you. This is how you construct multiple layers, kind of like overdubbing. So you can record an 8-bar drum beat, then on top of that put in a bassline, and then a lead line, etc. Getting the right UI for the recording is going to be tricky (it might just be automatic).<br />
<br />
I'm going to be pretty minimalistic with my UI design since I want to keep things simple--at least for now. Making things pretty can come later.<br />
<br />
<br />
== Design ==<br />
No networking will be involved--that's just needlessly complicating things.<br />
In terms of programming architectures, I'm probably going to be using SDL, as it's cross-platform, well-established, and I've used it before. GUI will probably be mostly static 2D.<br />
<br />
There are a few major design considerations here:<br />
1) How to synthesize the sound? On the fly? Or sampled?<br />
I think the answer to this one is "both." For drum samples we should just sample them, but for the leads and basses, we might want to synthesize them ourselves so that we can have finer-grained control over things like timbre or volume. I think I'll probably end up using stk for this, meaning it'll probably be easiest if all of the audio in my app is done via rtAudio/stk, so that I won't have to intermingle SDL audio code with it.<br />
<br />
2) How to restrict the sound so that it sounds good even if you're messing around?<br />
AXE does this by using a pentatonic scale. I'm thinking of doing similar things...pentatonic is one, but blues scale might be another. Obviously, quantization will also be key here, and I'm probably gonna do it similarly to AXE, with a slight "buffer window" to allow some room for late hits. This will probably be very customizable via some sort of options dialogue, ideally.<br />
<br />
I think it's important to abstract out the "pad" interface, since a drum pad might work slightly differently (or even look differently) than a lead pad, for example.<br />
<br />
<br />
== Testing ==<br />
The primary tester will of course, be me, since I think I'll be the primary user as well ;)<br />
However, it'd be really good if I can show this to my friends and they figure it out too. Hard to say though; making user interfaces that are not confusing to everyday users is a lot harder than one would think...<br />
<br />
<br />
== Team ==<br />
Just me. ;)<br />
<br />
<br />
== Milestones ==<br />
* 11/14 - Have "something" working. This probably means having a basic pad abstraction along with a very basic example, that plays SOME sound.<br />
* 11/21 - (Thanksgiving break)<br />
* 12/5 - All the framework should be done by now, which means the only part left is to actually make the different pads.<br />
* 12/12 - Presentation week: everything should be done by now!</div>Ddrkirbyhttps://ccrma.stanford.edu/mediawiki/index.php?title=220a-fall-2011&diff=12392220a-fall-20112011-10-03T16:17:30Z<p>Ddrkirby: </p>
<hr />
<div>* Please write down your name under the date you prefer. You can edit this page by clicking '''"edit" link'''. If you have a trouble, please contact TAs to modify this page for you.<br />
<br />
* Notes!!<br />
** Your presentation should be more or less 10 minutes.<br />
** TA will be around from 9:50am, just in case you need any technical assistance. You also need to be present before the class starts! (Please be punctual when you're presenting your music!)<br />
<br />
<br />
<br />
== Music Presentation Sign Up ==<br />
<br />
* <span style="color:#ccc">9/29 (THU) : Cecilia Wu, Kurt Werner, Colin Sullivan</span><br />
<br />
* 10/4 (TUE) : Kevin Chau, Max Praglin<br />
<br />
* 10/6 (THU) : Duncan Lindsay, Jeff Rowell<br />
<br />
* 10/11 (TUE) : Sarah Smith<br />
<br />
* 10/13 (THU) : Timothy Wong<br />
<br />
* 10/18 (TUE) :<br />
<br />
* 10/20 (THU) :<br />
<br />
* 10/25 (TUE) :<br />
<br />
* 10/27 (THU) :<br />
<br />
* 11/1 (TUE) :<br />
<br />
* 11/3 (THU) :<br />
<br />
* 11/8 (TUE) :<br />
<br />
* 11/10 (THU) :<br />
<br />
* 11/15 (TUE) : <br />
<br />
* 11/17 (THU) : JP Wright<br />
<br />
* 11/29 (TUE) : Melvin Low<br />
<br />
* 12/1 (THU) :</div>Ddrkirby