I don't believe there is access to the sound buffer in the Source SDK, but
if you integrate with something like FMod and use that as your audio engine
when doing these "turntable" audio things and you will have a full access to
do whatever you want unless you are going to be commercial and then I think
FMod has a license fee. In our mod we use FMod to play music anytime the
main menu is brought up and works fine with Source SDK.

Chris

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Charkrid
Pornpitackchaikul
Sent: Monday, September 28, 2009 3:32 AM
To: [email protected]
Subject: Re: [hlcoders] Audio Programming-Beat counter

Thanks you for all helpful resources. :)
I still keep trying to find the way to get a sound buffer from memory to
do all the processing. But got nothing so far. :(

Charkrid P.

[email protected] wrote:
> Send hlcoders mailing list submissions to
>       [email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
>       http://list.valvesoftware.com/mailman/listinfo/hlcoders
> or, via email, send a message with subject or body 'help' to
>       [email protected]
>
> You can reach the person managing the list at
>       [email protected]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of hlcoders digest..."
>
>
> Today's Topics:
>
>    1. Re: Audio Programming-Beat counter (Joshua Scarsbrook)
>    2. Re: getting animation velocity and applying it to player
>       (Ryan Sheffer)
>    3. Is it possible to change particle properties via code?
>       (Andreas Grimm)
>    4. Re: getting animation velocity and applying it to player (Joel R.)
>    5. Re: Is it possible to change particle properties via    code?
>       (Jorge Rodriguez)
>    6. Re: Is it possible to change particle properties        via
code?
>       (Andreas Grimm)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sat, 26 Sep 2009 11:58:41 +1200
> From: Joshua Scarsbrook <[email protected]>
> Subject: Re: [hlcoders] Audio Programming-Beat counter
> To: Discussion of Half-Life Programming
>       <[email protected]>
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> well i would say to calc the audio beat there is a calculus forumla that
> can be applyed to certin audio files, that would be fastest
>
> botman wrote:
>
>> What a coincidence!  I've been doing some research recently on beat
>> tracking also.  I'm not sure if it's possible through Source, but here
>> are some resources:
>>
>> http://www.owlnet.rice.edu/~elec301/Projects01/beat_sync/beatalgo.html
>> http://www.gamedev.net/reference/articles/article1952.asp
>> http://werner.yellowcouch.org/Papers/bpm04/
>> http://code.compartmental.net/tools/minim/manual-beatdetect/
>>
>> Masataka Goto did a lot of work in psychoacoustics:
>> http://staff.aist.go.jp/m.goto/
>>
>> His work on beat tracking is here...
>> http://staff.aist.go.jp/m.goto/PROJ/bts.html
>>
>> The best I've seen so far was work done by Eric Scheirer
>> http://en.scientificcommons.org/eric_d_scheirer
>>
>> His "Temp and beat analysis of acoustic musical signals" can be found
>> here (WARNING!!! Lots of complex signal processing math ahead)...
>>
>>
http://www.iro.umontreal.ca/~pift6080/H09/documents/papers/scheirer_jasa.pdf
>>
>>
>> On 9/25/2009 9:26 AM, Charkrid Pornpitackchaikul wrote:
>>
>>
>>> Hi guys,
>>>    I don't have any experience with audio programming.  May be someone
>>> can point me to the right direction. How can I write a audio beat
>>> counting code by Source Audio Engine? What should I look for? I traced
>>> the code for quite sometime but I can't find anything that seem like can
>>> use for capture/find wave peak data.
>>>    The thing I want to do is, I want to difference loop mixing together
>>> like a DJ mixing with 2 turntables. Appreciate any suggestion.
>>>
>>> Thanks in advance. :)
>>> Charkrid P.
>>>
>>> _______________________________________________
>>> To unsubscribe, edit your list preferences, or view the list archives,
please visit:
>>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>>
>>>
>>>
>>
>>
>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Fri, 25 Sep 2009 17:35:40 -0700
> From: Ryan Sheffer <[email protected]>
> Subject: Re: [hlcoders] getting animation velocity and applying it to
>       player
> To: Discussion of Half-Life Programming
>       <[email protected]>
> Message-ID:
>       <[email protected]>
> Content-Type: text/plain; charset=ISO-8859-1
>
> I guess all I can say is if the GetBonePosition function is returning the
> local origin instead of the offset from the global origin.
>
> And I was thinking something like,
>
> vector v_direction = NewBoneOrigin - PreviousBoneOrigin;
> float length_moved = v_direction.Length2D(); // I dont remember the
> magnitude function, its something like Length2D.
>
> Then you have a distance traveled plus a direction of movement which you
> could clamp how you see fit.
> length_moved could be used to determine a velocity for that frame.
>
> On Fri, Sep 25, 2009 at 1:07 AM, Michael Chang
<[email protected]>wrote:
>
>
>>> Micheal, as you know I'm doing something rather similar. I've gotten it
>>> working reasonably well, but in truth I don't like the way I have it
>>> working. It's laggy and a bit jumpy, and plays terribly for players with
>>> latency more than 50. But I can basically show you how it works, here's
>>>
>> the
>>
>>> abridged version:
>>>
>>>
>> Jorge:
>> Dude thanks again for sharing the code. Much appreciated.
>>
>> I've spent a good deal of time trying to get this to work the way I want.
>> There seems to be some oddities with GetIntervalMovement. When I print
out
>> the deltas for newPosition - GetLocaPosition(), what appears to be
>> happening
>> is that
>>
>> 1. When I'm not moving, the deltas are incorrect and extremely small.
>> 2. When I'm pressing +forward the deltas are correct and the player
>> animates
>> correctly.
>>
>> What's the relationship with GetIntervalMovement and user commands? I've
>> traced all the lines of code with Studio_Seq stuff and nothing seems to
>> care
>> about current speed or input. I'm at a total loss as to why
>> GetIntervalMovement would return different things based on whether or not
>> I'm trying to move!!
>>
>>
>>
>> You could get a bone position (spine bone perhaps) and save that, and
frame
>>
>>> by frame compare the distance the bone traveled to get a velocity from
>>>
>> that
>>
>>> and apply it to the player. Maybe this isn't what you want thought. ;)
>>>
>>>
>>>
>> Ryan:
>>
>> I spent about a minute sketching this out not expecting it to work and
not
>> surprisingly it didn't.
>>
>>    int boneNum = player->LookupBone("ValveBiped.Bip01_Pelvis");
>>    if(boneNum==-1)
>>        return;
>>
>>    Vector bonePos;
>>    QAngle boneAngle;
>>    player->GetBonePosition(boneNum, bonePos, boneAngle);
>>
>>    if(lastBonePos == vec3_origin){
>>        lastBonePos = bonePos;
>>        return;
>>    }
>>
>>    Vector delta = bonePos-lastBonePos;
>>    mv->m_vecVelocity = delta/gpGlobals->frametime;
>>    lastBonePos = bonePos;
>>
>> What would be the right approach to this? This doesn't seem right at all.
>>
>>
>> Thanks for your patience guys. I guess I'm trying to do something that's
>> not
>> very common in Source so there's not much documentation on this at all :|
>>
>> ~M
>> _______________________________________________
>> To unsubscribe, edit your list preferences, or view the list archives,
>> please visit:
>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>
>>
>>
>
>
>

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives,
please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders


_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to