Author |
Message |
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Mon Feb 18, 2008 9:48 pm Post subject:
Chuck Guitar Riff Lab Software Interface Subject description: The thread that escaped from the ChucK forum! |
|
|
Well, this is "DIY Hardware and Software", so I guess a software interface counts as on-topic material. I just got done coding up a software interface to my Guitar Riff Lab in ChucK, using the new GUI front end called MAUI. Here is a photo of the interface:
It works on a technique that I seem to have rediscovered somehow in my ChucK explorations, which I call Boolean Sequencing. The 8x8 array on the left is a set of 8 logical expressions of 8 bits each. Dark squares are anded bits, and if any of the 8 logical expressions fires a true value then a note is played. There is a lot more about it to discuss, but you get the idea from reading the slider titles.
There's a guitar in there made by kijjaz, and with the right settings of body size and reverb it sounds very realistic (to me anyway, but what do I know?). Right now it only works on Macs, but they are porting the MAUI GUI interface to windows and linux currently.
Anyway, it is fun to sit around and click on the screen until a good guitar riff is formed, then listen to it loop over and over. What do you think? |
|
Back to top
|
|
|
seraph
Editor
Joined: Jun 21, 2003 Posts: 12398 Location: Firenze, Italy
Audio files: 33
G2 patch files: 2
|
Posted: Tue Feb 19, 2008 1:10 am Post subject:
Re: Chuck Guitar Riff Lab Software Interface Subject description: The thread that escaped from the ChucK forum! |
|
|
Inventor wrote: | Well, this is "DIY Hardware and Software", so I guess a software interface counts as on-topic material. |
you are on-topic but maybe it could be better to keep all chucK related topics together. I am going to move it there leaving a "shadow link" on this forum.
Is that OK? _________________ homepage - blog - forum - youtube
Quote: | Don't die with your music still in you - Wayne Dyer |
|
|
Back to top
|
|
|
Kassen
Janitor
Joined: Jul 06, 2004 Posts: 7678 Location: The Hague, NL
G2 patch files: 3
|
Posted: Tue Feb 19, 2008 5:02 am Post subject:
Re: Chuck Guitar Riff Lab Software Interface Subject description: The thread that escaped from the ChucK forum! |
|
|
seraph wrote: |
Is that OK? |
It's fine with me, though we already have a extensive topic on it.
The underlying sequencing technique could be implemented in other ways too, BTW, and that might be quite interesting to people working in other media? I've never seen anything like like it.
I think that -if anywhere- it should go here as well;
http://wiki.cs.princeton.edu/forums.html/ChucK/Projects _________________ Kassen |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Tue Feb 19, 2008 6:15 pm Post subject:
|
|
|
OK, now we have a thread dedicated to the topic, so I'll post my progress report here. I have added some features to the MAUI guitar lab program, see image below.
Most notably you will see on the right the new instruments. They sound pretty good and you can play multiple instruments at the same time if you want. I'll have to add some sliders for the new instrument parameters at some point as well.
Next you will notice that the 8x8 array of logic expressions has some new characters: the & and the !. The switches are not toggles anymore, they are pushType switches, and when you push one it cycles between nothing, &, and !. & is a bit that must be one for the note to play as we always had, but the new one is ! which is a bit that must be zero for a note to play. This is particularly important for the technique of timing the boolean sequence.
In that technique we do a binary count of [!,!] [!,&] [&,!] [&,&] in the upper two bits and then the lower bits represent patterns played in that time step. That way you can easily make a song that is composed of four sub-songs, so the music kind of goes somewhere instead of being all random. There is more to discuss on the topic of how to do Boolean Sequencing with this tool, but I won't ramble on right now...
Also here is the latest software. Enjoy!
Description: |
MAUI wowie guitar riff lab, latest revision as of now. A fun tool for playing with Boolean Sequencing. |
|
Download |
Filename: |
MAUI_BS_guitar_lab4.ck |
Filesize: |
16.32 KB |
Downloaded: |
743 Time(s) |
|
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Tue Feb 19, 2008 6:31 pm Post subject:
Re: Chuck Guitar Riff Lab Software Interface Subject description: The thread that escaped from the ChucK forum! |
|
|
I'm shy on editing the Wiki because I messed up a Wiki page on that very same Wiki once. I presume someone came back around and deleted my changes, haha. ulp!
But what would I do, make a web page strictly for Boolean Sequencing, or strictly for the new MAUI guitar lab tool, or what were you thinking of, Kassen? |
|
Back to top
|
|
|
Kassen
Janitor
Joined: Jul 06, 2004 Posts: 7678 Location: The Hague, NL
G2 patch files: 3
|
Posted: Wed Feb 20, 2008 8:44 am Post subject:
|
|
|
Oh, WiKi editing isn't that hard, I could help you.... Just send a mail or PM once you have something and I can help hammer it into shape.
What I think would be interesting to present there is this process of how you started ChucKing, discovered this angle and then came up with this relatively polished result. That's appealing... and that's a great advertisement towards those who believe it will take a long time before they would get interesting results if they'd start to ChucK. It's also a very original perspective on computer-assisted sequencing.
I really like your latest angle, BTW, you are now moving towards emulating a extremely simple computer in ChucK... Quite similar to BetaBlocker ( http://www.youtube.com/watch?v=IpclpEm774U ) but even lower level. _________________ Kassen |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Wed Feb 20, 2008 10:54 am Post subject:
|
|
|
Kassen wrote: | What I think would be interesting to present there is this process of how you started ChucKing, discovered this angle and then came up with this relatively polished result. That's appealing... and that's a great advertisement towards those who believe it will take a long time before they would get interesting results if they'd start to ChucK. It's also a very original perspective on computer-assisted sequencing. |
Wow, Kassen, I take that as a high compliment coming from someone as knowledgeable as you! So of course I spent a few hours this morning writing up a web page to suit your description. You can find it here:
http://www.freedomodds.com/music/guitar_lab.html
I will add more to it as time progresses, perhaps today. I guess we can call this version stable for now as I would like to get feedback from folks before adding more to it.
For example, I could add the sliders for the new instruments, or perhaps set up whole separate windows for the various instruments to each have their own unique boolean sequences. I'd also like to see a recording feature and a save/load feature.
Unfortunately I don't think ChucK has the requisite file i/o and string processing to do the save/load feature, but after you make a good riff the first thing you want to do is save it. Perhaps this is on the ChucK feature list for the future?
Anyway, thanks for the encouragement, it really fuels my fire so to speak, haha! |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Wed Feb 20, 2008 10:59 am Post subject:
|
|
|
p.s. Yay! I added the Wiki entry without error this time. |
|
Back to top
|
|
|
Kassen
Janitor
Joined: Jul 06, 2004 Posts: 7678 Location: The Hague, NL
G2 patch files: 3
|
Posted: Wed Feb 20, 2008 7:49 pm Post subject:
|
|
|
Inventor wrote: |
Wow, Kassen, I take that as a high compliment coming from someone as knowledgeable as you! |
I dunno about knowledge, I may know a thing or two about ChucK syntax&weirdness but that's quite independent of my appreciation for this; this is a good, new, idea with nice execution.
It's great in general how people sign up, get the basics down, and post (about) projects, everybody is building stuff and helping each-other out; I think it's beautiful.
Oh, and I read your page; cool. I think this kind of thing is often missing in electronic music. With classical and in particular jazz you often have releases that come with liner notes explaining the piece and why it was written (if you are lucky) and so on. I like that, I think it can add depth to your enjoyment or make a work more accessible. _________________ Kassen |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Thu Feb 21, 2008 2:45 am Post subject:
|
|
|
[quote="Kassen"] Inventor wrote: | Oh, and I read your page; cool. I think this kind of thing is often missing in electronic music. With classical and in particular jazz you often have releases that come with liner notes explaining the piece and why it was written (if you are lucky) and so on. I like that, I think it can add depth to your enjoyment or make a work more accessible. |
Yes, I think we have all had the experience of buying albums and staring at the album covers while listening to the music, thirsting for information about the songs and getting little to read. I imagine that as we evolve our muscal productions, audio, video, and text will all become part of the the presentation, and concepts like gaming, chatting, and business will mix in with it all. These elements are available in bits and pieces in various net places today, but I figure that the music industry will attempt to present the whole experience itself one day. Or am I just rambling again? Whatever. |
|
Back to top
|
|
|
Kassen
Janitor
Joined: Jul 06, 2004 Posts: 7678 Location: The Hague, NL
G2 patch files: 3
|
Posted: Thu Feb 21, 2008 2:47 am Post subject:
|
|
|
I'm sorry but you'll have to mail Spencer (see the mini's docs for his address). Without a Mac I can't defuse or confirm this bug. _________________ Kassen |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Thu Feb 21, 2008 2:57 am Post subject:
|
|
|
OK, I emailed Spencer. |
|
Back to top
|
|
|
Kassen
Janitor
Joined: Jul 06, 2004 Posts: 7678 Location: The Hague, NL
G2 patch files: 3
|
Posted: Thu Feb 21, 2008 2:58 am Post subject:
|
|
|
Inventor wrote: | I imagine that as we evolve our muscal productions, audio, video, and text will all become part of the the presentation, and concepts like gaming, chatting, and business will mix in with it all. |
I agree. I have high hopes for the future of paid digital downloads for this.
You could imagine, for example, that if somebody buys the whole album instead of just a few songs you could throw in a free pdf with such info. To me that would offset the loss of the record cover or the CD booklet. Maybe a flash game would be possible as well, I do think some Ipods can run games.
Of course it could be taken much, much further but I was thinking about options that would be open right now.
As it stands I think downloaded MP3's are a bit of a non-medium in that they don't really offer something over other media aside from not having to leave your house. _________________ Kassen |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Thu Feb 21, 2008 3:28 am Post subject:
|
|
|
[quote="Kassen"] Inventor wrote: | You could imagine, for example, that if somebody buys the whole album instead of just a few songs you could throw in a free pdf with such info. |
You know what, iTunes is doing that already. I bought an Ozzy album from them and it came with a pdf of the lyrics. Though perhaps you would prefer more of the story, but at least that's something. |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Thu Feb 21, 2008 8:27 pm Post subject:
|
|
|
I've been working on the Guitar Lab code and I've got some major changes in place. Now there are sliders for all of the instruments, and each instrument has its own Boolean Sequencing matrix. It now has two windows, the main one as before plus the slider window. I added a record feature too, so its easy to record your song. Also there are new LEDs that show the logic term values as they change over time. That's a lot of improvement in a short time, made possible by the simplicity and power of ChucK!
Here is a recording with snare, drum, and guitar. In the recording I start out the first 1/4 of the song with no guitar to illustrate that Boolean Sequencing is capable of scheduling instruments to some degree. Also the three instruments all have separate Boolean Sequence matrices unlike before. I also attached the source code. Cheers!
Description: |
Another song from Guitar Lab. This one has three instruments, all on separate Boolean Sequences. |
|
Download |
Filename: |
MAUI_Guitar_Lab4.mp3 |
Filesize: |
517.55 KB |
Downloaded: |
1217 Time(s) |
Description: |
Latest revision of Guitar Lab. Has major improvements and is now closer to a completed application. |
|
Download |
Filename: |
MAUI_BS_guitar_lab10.ck |
Filesize: |
35.9 KB |
Downloaded: |
411 Time(s) |
|
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Fri Feb 22, 2008 7:46 am Post subject:
|
|
|
I also made a long song, about 5 minutes, which is here:
http://www.freedomodds.com/music/songs/MAUI_Guitar_lab5.mp3
It has guitar, snare, drum, and mandolin instruments. In this song there are purposely placed gaps in the guitar so you can hear the mandolin clearly, and the logic matrices of the guitar and the mandolin are similar, so they create unique but related sounds. It really sounds like the two instruments are working together. |
|
Back to top
|
|
|
MusicScienceGuy
Joined: Jun 22, 2007 Posts: 97 Location: Vancouver, Canada
|
Posted: Fri Feb 22, 2008 4:50 pm Post subject:
Re: Chuck Guitar Riff Lab Software Interface Subject description: The thread that escaped from the ChucK forum! |
|
|
[quote="Inventor"]Well, this is "DIY Hardware and Software", so I guess a software interface counts as on-topic material. I just got done coding up a software interface to my Guitar Riff Lab in ChucK, using the new GUI front end called MAUI. [quote]
Interesting! how would you map it to a Generalized keyboard like I'm avocating building? specifically one made from a a standard keyboard with the keys doubled up to give 4 rows by 40 to 88 columns, or vice versa: 4 columns by 40-88 rows. Evenutally we hope to go to 6 rows.
Also note that the keys can be assigned diagonally.
MSG. |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Fri Feb 22, 2008 5:41 pm Post subject:
Re: Chuck Guitar Riff Lab Software Interface Subject description: The thread that escaped from the ChucK forum! |
|
|
MusicScienceGuy wrote: | Interesting! how would you map it to a Generalized keyboard like I'm avocating building? specifically one made from a a standard keyboard with the keys doubled up to give 4 rows by 40 to 88 columns, or vice versa: 4 columns by 40-88 rows. Evenutally we hope to go to 6 rows.
MSG. |
Personally I think your keyboard is pretty cool. I like the way the buttons are big enough that my big fat fingers could operate them properly and big enough to put labels on them. Also you have enough buttons to handle this application.
I'd probably try mapping them along a zig-zag vertically, because the new version of Guitar Lab is 12 bits wide in the logic matrix. Then various sliders can be implemented as button-pairs for up/down tapping and the buttons can be mapped as, well, buttons.
The only concern I would have is the lack of a display feedback. I would want to see at least an LED on each button so I can know it's status. It could have the LED on for an & bit and blinking for a ! bit, for example, and pulse-width modulate the slider LEDs to show analog intensity.
Anyway, cool item and I'm glad you're having fun with it. If you want to use Guitar Lab with your keyboard, I could possibly help code an interface for it, but at this time I wouldn't know where to begin. ChucK has user i/o features though, it would simply be a matter of learning. Good luck with the keyboard. |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Sun Feb 24, 2008 5:02 pm Post subject:
|
|
|
Here's an update and some photos of the latest Guitar Lab, plus the latest source code.
The main panel now looks like this:
You'll notice that the Logic matrix is now 12 bits wide, allowing for songs that are 10 minutes or longer in duration. I'd like to see 16 bits, but computationally its a burden, especially because of the new paging feature. Now there are four pages of 8-logic expressions each, so you can have up to 32 unique patterns, which is great for writing long, complex songs. There are other changes like the frequency and offset being instrument-specific now and little tweaks like the start button changing to stop when you press it.
Here is the slider panel:
It has just about all of the parameters for these instruments, with a few exceptions.
That's all for now, and I think I'll take a short break from coding so here I will give you the latest source code as well: cheers!
Description: |
Lucky number 13 revision of MAUI Guitar Lab, the latest one to date. |
|
Download |
Filename: |
MAUI_BS_guitar_lab13.ck |
Filesize: |
40.61 KB |
Downloaded: |
436 Time(s) |
|
|
Back to top
|
|
|
kijjaz
Joined: Sep 20, 2004 Posts: 765 Location: bangkok, thailand
Audio files: 4
|
Posted: Sun Feb 24, 2008 5:06 pm Post subject:
|
|
|
ahhh!! I should get my MacBook and play with this!! |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Sun Feb 24, 2008 5:52 pm Post subject:
|
|
|
kijjaz wrote: | ahhh!! I should get my MacBook and play with this!! |
Hey kijjaz, didn't know you had a Mac. You have to get the miniaudicle from here to make MAUI work:
http://audicle.cs.princeton.edu/mini/mac/
It would be worth your time, especially since three of the instruments are yours! It's fun to move a slider and hear the instrument sound change in real time. |
|
Back to top
|
|
|
MusicScienceGuy
Joined: Jun 22, 2007 Posts: 97 Location: Vancouver, Canada
|
Posted: Sun Feb 24, 2008 8:53 pm Post subject:
Re: Chuck Guitar Riff Lab Software Interface Subject description: The thread that escaped from the ChucK forum! |
|
|
Inventor wrote: |
The only concern I would have is the lack of a display feedback. I would want to see at least an LED on each button so I can know it's status. It could have the LED on for an & bit and blinking for a ! bit, for example, and pulse-width modulate the slider LEDs to show analog intensity.
|
I plan to have the visual feedback on the laptop display, rather than the keyboard.
I also use Max/MSP for the programming. how does this compare to Chuck?
I don't have time to do much programming, & not for a while. My web site and learning the thing are sandwiched into a very busy life & ongoing romance with my girlfriend&wife javascript:emoticon('')
Smile |
|
Back to top
|
|
|
soundcyst
Joined: Feb 17, 2008 Posts: 18 Location: santa cruz, ca
|
Posted: Mon Feb 25, 2008 2:00 am Post subject:
|
|
|
daaamn, you've done a LOT with this guy the past week.
nice work!
i'm having fun with all of the different instrument sounds. the mandolin is particularly nice in the background =) |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Mon Feb 25, 2008 3:59 am Post subject:
|
|
|
soundcyst wrote: | daaamn, you've done a LOT with this guy the past week.
nice work!
i'm having fun with all of the different instrument sounds. the mandolin is particularly nice in the background =) |
WooHoo, user feedback! Thanks, soundcyst, I worked a lot of hours on it but thanks to the ease and power of ChucK it was mostly simple work.
I'm glad you like the mandolin, it sounds a lot like a guitar on some settings. Note that you can make the mandolin more prominent by turning its Gain up to 1.0 and the guitar's gain down to 0.3 or so. Then record on 50% master volume and you won't get clipping in the recording.
Now that I took a break, I realized that I'm computing all the instruments, even if they are all turned off, duh, so I'll have to fix that. On my system when I press record I get warnings about cpu usage. It's because I'm computing all the logic for all the pages all the time.
Another thing is I need to make the XOR button instrument-specific. Lots of loose ends to tie up.
Have you made any songs yet? I'd like to hear someone else's work with Guitar Lab. |
|
Back to top
|
|
|
|