electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Articles  |  Radio
 |  Media  |  Forum  |  Links  |  Store
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks GalleryGallery 
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software » ChucK programming language
Developing ChucK
Post new topic   Reply to topic Moderators: Kassen
Page 1 of 1 [4 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
Frostburn



Joined: Dec 12, 2007
Posts: 166
Location: Finland
Audio files: 5

PostPosted: Wed Jan 30, 2008 3:15 am    Post subject: Developing ChucK Reply with quote  Mark this post and the followings unread

I need some speed for my anti-aliased oscillators and waveshapers so I'm thinking of tackling my C++ illiteracy and extending ChucK.
I'll also try to fix how oscillator phase is handled at the moment (phases out of [0.0, 1.0] range don't work as expected, ie. warp back to said range. Should also fix FM modulation with negative frequencies)
Who should I contact, if anyone at the moment?
Where do I post the fixes when they're done?
Anything I should know before starting to work with the source?

_________________
In Serendipity We Trust
Back to top
View user's profile Send private message
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 5961
Location: The Hague, NL
G2 patch files: 3

PostPosted: Wed Jan 30, 2008 9:55 am    Post subject: Reply with quote  Mark this post and the followings unread

Cool!

I'd start with the improvements, then move on to including new Ugens in the source. If you have some results that work I suppose the thing to do is send it to the -dev list or Ge personally.

If you would get stuck I suppose the -dev list would be the place to go but I don't think that list is aimed as DSP in C++ tutorials or C syntax, it's probably the perfect place for questions on how the insides of ChucK actually work though,

I have no idea what the conditions for access to the versioning system thingy is, probably speaking C++ is a part of those :¬) I think the main thing is getting your code to work, partially because that's what you want in the first place.

I suppose you could mail Ge about what you want to implement and how to make sure there's a demand for such oscillators to avoid disappointments?

Oh, and if you do succeed in getting a new Ugen to work, could you document the steps you took? I'd be quite interested in that.

_________________
while(!machine.crash() ) <<<"all is well">>>;
Back to top
View user's profile Send private message Send e-mail Visit poster's website
renderful



Joined: Apr 18, 2007
Posts: 10
Location: Boulder, Co

PostPosted: Sun Feb 03, 2008 8:47 am    Post subject: Reply with quote  Mark this post and the followings unread

I'd love to hear about your progress, as I am also thinking of extending Chuck in a few ways. The C++ Ugen sources for the STK are amazingly helpful. Keep us updated!
Back to top
View user's profile Send private message
Frostburn



Joined: Dec 12, 2007
Posts: 166
Location: Finland
Audio files: 5

PostPosted: Mon Feb 04, 2008 6:51 am    Post subject: Reply with quote  Mark this post and the followings unread

renderful wrote:
I'd love to hear about your progress, as I am also thinking of extending Chuck in a few ways.

There's a lot of stuff in the source that one propably should know about before creating anything new. And I am totally new to C++ so there haven't been much progress. I think I've fixed the Phasor UGen though.
I'll try to implement anti-aliasing for all the basic oscillators and post the modified ugen_osc.cpp here. (unless posting single files from a source goes against GPL or something. (?) )

EDIT: I just did that. (see attachment)
It is a modified version of the ugen_osc.cpp from the latest Linux source of ChucK. Just replace the one you have and type make. No warranties! I cannot be held responsible if it blows up your machine. :)

Features:
-Phasor should work properly with all sync modes.
-SinOsc TriOsc and PulseOsc now have automatic anti-aliasing applied to them. (SawOsc is a TriOsc with width fixed to 0.0 or 1.0 so it's dealt with automatically) As a side effect of the new implementation this should also fix sync modes.

I still haven't made an oscillator from scratch. Just modded the old ones.

EDIT2: Um... I think I just divided by positive zero or something in an oscillator... Back to the drawing board. That is to say the code I posted is buggy.


ugen_osc.cpp
 Description:
modified ugen_osc.cpp from the source of chuck version: 1.2.1.1 (dracula).

Download
 Filename:  ugen_osc.cpp
 Filesize:  53.59 KB
 Downloaded:  12 Time(s)


_________________
In Serendipity We Trust
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Moderators: Kassen
Page 1 of 1 [4 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » ChucK programming language
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
Top Selling Products! CLICK HERE!

Please support our site. If you click through and buy from
our affiliate partners, we earn a small commission.


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003, 2004, 2005, 2006 and 2007 by electro-music.com