[chuck-users] chuck-users Digest, Vol 177, Issue 1

Jack Atherton lja at ccrma.stanford.edu
Tue May 12 11:55:18 EDT 2020


Hey Elliot,

You may have seen Ge's recent email, but if not, here's an example of how
to embed a ChucK VM in C++:
http://chuck.stanford.edu/release/files/examples/chuck-embed/host/chuck-embed.cpp

The whole example is here:
http://chuck.stanford.edu/release/files/examples/

~Jack

On Fri, May 1, 2020 at 10:52 AM S. Elliot Perez <s.elliot.perez at gmail.com>
wrote:

> Hey, thanks for the information. I'm currently learning DSP and the JUCE
> framework, so it sounds like I'd be able to incorporate ChucK there as well
> with the chuck.cpp file. Are there tutorials for that specifically? Or is
> it roughly the same as the Chunity implementation and I should be able to
> figure it out by looking at that?
>
> On Sat, May 2, 2020 at 1:00 AM <chuck-users-request at lists.cs.princeton.edu>
> wrote:
>
>> Send chuck-users mailing list submissions to
>>         chuck-users at lists.cs.princeton.edu
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>>         https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>> or, via email, send a message with subject or body 'help' to
>>         chuck-users-request at lists.cs.princeton.edu
>>
>> You can reach the person managing the list at
>>         chuck-users-owner at lists.cs.princeton.edu
>>
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of chuck-users digest..."
>> Today's Topics:
>>
>>    1. Efficient analysis & resynthesis for game audio (S. Elliot Perez)
>>    2. Re: Efficient analysis & resynthesis for game audio
>>       (Jack Atherton)
>>
>>
>>
>> ---------- Forwarded message ----------
>> From: "S. Elliot Perez" <s.elliot.perez at gmail.com>
>> To: chuck-users at lists.cs.princeton.edu
>> Cc:
>> Bcc:
>> Date: Fri, 1 May 2020 21:01:01 +0900
>> Subject: [chuck-users] Efficient analysis & resynthesis for game audio
>> Hello!
>>
>> I've been using Pure Data and the Heavy compiler (hvcc) to make
>> procedural audio for games/interactive media pieces the last couple of
>> years. I just started going through the videos of the Kadenze course. The
>> first couple of lessons, I did what Mr. Cook was doing in his ChucK
>> software using Pure Data... but then I got to Session 3 where he showcases
>> a method of resynthesis using two scripts- one to analyze a sound file and
>> output a list of peaks (frequency and amplitude), and one to perform the
>> resynthesis. I was very impressed with how quickly this goes as you can
>> just copy and paste the list from the 1st list into the 2nd one and you
>> already have a working model which you can then begin to tweak. With Pure
>> Data, this would be an exponentially more arduous process of manually
>> looking at a spectral analysis, filling out boxes, connecting them with
>> wires, copying & pasting for each frequency...
>>
>> I'm curious as to what the possibilities of integrating these ChucK
>> algorithms into standard programming languages like C++/C# for use in game
>> engines. On the download page of ChuCK it says that the newest versions are
>> made to be embedded in other systems. Is there documentation detailing this
>> somewhere?
>>
>> --
>>
>>
>> *S・エリオット・ペレスwww.selliotp.com <http://www.selliotp.com>*Sound Designer for
>> * enenインタラクティブサウンドディザイン*
>> [image: http://enengame.com/] <https://youtu.be/xYpc9agfil8>
>> *「エンエン」は日本のAppStoreでリリースされました!*
>> [image: https://itunes.apple.com/us/app/enen/id1164297889?ls=1&mt=8]
>> <https://itunes.apple.com/us/app/enen/id1164297889?ls=1&mt=8>
>>
>>
>>
>> ---------- Forwarded message ----------
>> From: Jack Atherton <lja at ccrma.stanford.edu>
>> To: ChucK Users Mailing List <chuck-users at lists.cs.princeton.edu>
>> Cc:
>> Bcc:
>> Date: Fri, 1 May 2020 07:34:24 -0700
>> Subject: Re: [chuck-users] Efficient analysis & resynthesis for game audio
>> Hello!
>>
>> There's documentation for the Unity embedding here:
>> http://chuck.stanford.edu/chunity/
>> Compared to Heavy, your ChucK code is compiled at runtime, so you can
>> even assemble ChucK scripts on the fly with string manipulation while your
>> game is currently running.
>>
>> If you're looking to embed ChucK in another program, you will want to use
>> the ChucK class in the core/chuck.cpp file as the interface. You will need
>> to include all of the core/ files and none of the host/ files. The changes
>> we made to ChucK involved separating its core logic (most of it) from its
>> host -- command line and RtAudio interface, as well as reducing its
>> dependencies on global variables so that multiple ChucK VM instances can
>> coexist.
>>
>> Then, there's also the new "global" variables in ChucK. If you add the
>> global keyword to a variable, it's accessible by name across the entire VM
>> (ChucK instance), and can also be set and gotten from outside ChucK (e.g.
>> from Unity).
>>
>> ~Jack
>>
>> On Fri, May 1, 2020 at 5:01 AM S. Elliot Perez <s.elliot.perez at gmail.com>
>> wrote:
>>
>>> Hello!
>>>
>>> I've been using Pure Data and the Heavy compiler (hvcc) to make
>>> procedural audio for games/interactive media pieces the last couple of
>>> years. I just started going through the videos of the Kadenze course. The
>>> first couple of lessons, I did what Mr. Cook was doing in his ChucK
>>> software using Pure Data... but then I got to Session 3 where he showcases
>>> a method of resynthesis using two scripts- one to analyze a sound file and
>>> output a list of peaks (frequency and amplitude), and one to perform the
>>> resynthesis. I was very impressed with how quickly this goes as you can
>>> just copy and paste the list from the 1st list into the 2nd one and you
>>> already have a working model which you can then begin to tweak. With Pure
>>> Data, this would be an exponentially more arduous process of manually
>>> looking at a spectral analysis, filling out boxes, connecting them with
>>> wires, copying & pasting for each frequency...
>>>
>>> I'm curious as to what the possibilities of integrating these ChucK
>>> algorithms into standard programming languages like C++/C# for use in game
>>> engines. On the download page of ChuCK it says that the newest versions are
>>> made to be embedded in other systems. Is there documentation detailing this
>>> somewhere?
>>>
>>> --
>>>
>>>
>>> *S・エリオット・ペレスwww.selliotp.com <http://www.selliotp.com>*Sound Designer
>>> for
>>> * enenインタラクティブサウンドディザイン*
>>> [image: http://enengame.com/] <https://youtu.be/xYpc9agfil8>
>>> *「エンエン」は日本のAppStoreでリリースされました!*
>>> [image: https://itunes.apple.com/us/app/enen/id1164297889?ls=1&mt=8]
>>> <https://itunes.apple.com/us/app/enen/id1164297889?ls=1&mt=8>
>>> _______________________________________________
>>> chuck-users mailing list
>>> chuck-users at lists.cs.princeton.edu
>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>>
>> _______________________________________________
>> chuck-users mailing list
>> chuck-users at lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
>
>
> --
>
>
> *S・エリオット・ペレスwww.selliotp.com <http://www.selliotp.com>*Sound Designer for
> * enenインタラクティブサウンドディザイン*
> [image: http://enengame.com/] <https://youtu.be/xYpc9agfil8>
> *「エンエン」は日本のAppStoreでリリースされました!*
> [image: https://itunes.apple.com/us/app/enen/id1164297889?ls=1&mt=8]
> <https://itunes.apple.com/us/app/enen/id1164297889?ls=1&mt=8>
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20200512/e43ced61/attachment-0001.html>


More information about the chuck-users mailing list