-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
better documentation #28
Comments
So I'd like to help, and this area seems like one I could do some good things in. Do you have anywhere particular you'd like me to start? I'm thinking Tutorials, although they'd have to be in Python. Is there is a particular folder you'd like stuff in, a particular style, that sort of thing? |
hi Then I tried to locate references to HRTF in the doc, there were not that many matches to my surpise. The closet page I found what the 3D panning article, but I do not know how to use the HRTF panning mode still. I search for instance I had a quick look at the python examples in the example folder (fdn_reverb, echo and noise) but no evidence of HRTF settings in those neither. Please help me, I am lost on how to enable and use HRTF with the lib. thanks a lot. |
Happy to help on writing a quick python tutorial complement, but I need your help to get started. I am not sure to understand if the SYZ_P_PANNER_STRATEGY is defined at the context level or the source level. Let's say I start with the 3D media player python example below, how can setup the HRTF mode?
thanks a lot. |
@chrisnorman7 @Tetsujinfr
And then create your sources. |
Thanks, all good now with enabling HRTF. |
…ty of handles for the duration of event processing. And add a flag so that users may conveniently request that they take ownership of the handles instead of them being freed at `syz_eventDeinit` time. This solves the lifetime issue in #21 and makes events safe to use in multithreaded contexts. For bindings such as Rust, it is now possible to put handles behind smart pointer abstractions and support cloning by taking on the burden of translating event handles out, without having to e.g. figure out typesafe ways to keep the user from "stealing" event handles (for bindings like Python where preserving object tidentity is important, only the "this handle definitely lives long enough" concern applies). Doc updates will be handled as part of #28 in one go in what is essentially going to be a rewrite of most of the manual.
Hi,
|
You need Avoid |
This starts our strategy for better docs as well: we will be porting the set of C testbed examples to every opfficial binding. Refs #28 for docs. We don't seem to have an open libsndfile issue.
Austin,
Thanks so much for this. At least I know what I’m looking for now,
David.
From: Austin Hicks ***@***.***>
Sent: 13 June 2021 17:19
To: synthizer/synthizer ***@***.***>
Cc: davidkreynolds ***@***.***>; Comment ***@***.***>
Subject: Re: [synthizer/synthizer] better documentation (#28)
You need BufferGenerator with the pitch_bend property and PannedSource with the panning_scalar property. Those two together should do what you want.
Avoid StreamingGenerator for this use case until #29 <#29> is closed.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#28 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AD4CGCGFEEZGJUUTUEG2KCDTSTK7LANCNFSM4TTNP5MA> . <https://github.com/notifications/beacon/AD4CGCAU2UE7MRRBJ3FTIOLTSTK7LA5CNFSM4TTNP5MKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGNDCUPA.gif>
|
Hi Austin, |
Clone the 0.9-dev branch and check examples or bindings/python/examples and you can see what this looks like once 0.9 lands. That's all I've got. @chrisnorman7 has at least one open source game written with it. Can you articulate what's hard about this library? The big example in the manual should be enough to figure most things out if combined with the object references. There's not supposed to be anything complicated enough here to need a lot of detailed demonstration, at least not until custom streaming stuff in 0.9 that's not out yet. If your issue is a lack of Python-specific documentation, this isn't going to be fixed: I don't have the bandwidth to maintain two sets of everything. Shortly once I take over the Rust bindings that will be 3. It doesn't scale for a weekend project. But the C API translates in a very straightforward manner and you should be able to figure it out by reading the cython or even just playing with it in a shell. |
Austin,
I completely get it. It’s a little tricky, as the frequency of the sound needs to be linked to the movement of an object, as does the pan position.
Further to this, can I have more than one sound playing at the same time?
I’ll take another look at the big example in the docs…
From: Austin Hicks ***@***.***>
Sent: 18 June 2021 15:36
To: synthizer/synthizer ***@***.***>
Cc: davidkreynolds ***@***.***>; Comment ***@***.***>
Subject: Re: [synthizer/synthizer] better documentation (#28)
Clone the 0.9-dev branch and check examples or bindings/python/examples and you can see what this looks like once 0.9 lands. That's all I've got. @chrisnorman7 <https://github.com/chrisnorman7> has at least one open source game written with it.
Can you articulate what's hard about this library? The big example in the manual should be enough to figure most things out if combined with the object references. There's not supposed to be anything complicated enough here to need a lot of detailed demonstration, at least not until custom streaming stuff in 0.9 that's not out yet.
If your issue is a lack of Python-specific documentation, this isn't going to be fixed: I don't have the bandwidth to maintain two sets of everything. Shortly once I take over the Rust bindings that will be 3. It doesn't scale for a weekend project. But the C API translates in a very straightforward manner and you should be able to figure it out by reading the cython or even just playing with it in a shell.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#28 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AD4CGCAJ6N3VBAGYWZXRZVLTTNKWBANCNFSM4TTNP5MA> . <https://github.com/notifications/beacon/AD4CGCC3V5W3QOHNLKV6RS3TTNKWBA5CNFSM4TTNP5MKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGOAOGYA.gif>
|
Yeah, of course you can have more than one sound. You just make more sources, or hook more generators to one source, depending. For what it's worth I am blind, and I am writing this to try to make an MMO for the blind, so I already know what you're trying to do. pitch_bend is a multiplicative factor. That is to say that if you make a buffer of a tone at 300 hz and you put it on a generator with pitch_bend=2.0, you get a tone at 600 hz. If you're looking for an audio library that can take a sound and frequency shift it to a given frequency directly, you're not going to find one that can do so in realtime. You have to work out the ratio yourself and have whoever is doing sound design make sounds with the same primary frequency so that you know what this should be. For what it's worth, this issue isn't about answering random questions. It's about collecting documentation requirements and tracking documentation improvements. Can I assume that you're either (1) new to audio libraries or (2) new to programming, or is Synthizer really that much more confusing than other options? I am trying to determine how to turn our discussion into something actionable. |
Hi Austin,
I’m new to sound libraries. Thanks for explaining the multipative technique.
I get where you’re coming from, and I’ll bother you no more on this issue,
Many thanks,
David.
From: Austin Hicks ***@***.***>
Sent: 19 June 2021 23:03
To: synthizer/synthizer ***@***.***>
Cc: davidkreynolds ***@***.***>; Comment ***@***.***>
Subject: Re: [synthizer/synthizer] better documentation (#28)
Yeah, of course you can have more than one sound. You just make more sources, or hook more generators to one source, depending. For what it's worth I am blind, and I am writing this to try to make an MMO for the blind, so I already know what you're trying to do.
pitch_bend is a multiplicative factor. That is to say that if you make a buffer of a tone at 300 hz and you put it on a generator with pitch_bend=2.0, you get a tone at 600 hz. If you're looking for an audio library that can take a sound and frequency shift it to a given frequency directly, you're not going to find one that can do so in realtime. You have to work out the ratio yourself and have whoever is doing sound design make sounds with the same primary frequency so that you know what this should be.
For what it's worth, this issue isn't about answering random questions. It's about collecting documentation requirements and tracking documentation improvements. Can I assume that you're either (1) new to audio libraries or (2) new to programming, or is Synthizer really that much more confusing than other options? I am trying to determine how to turn our discussion into something actionable.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#28 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AD4CGCH2KQM7RCEWSG4XCHTTTUH2LANCNFSM4TTNP5MA> . <https://github.com/notifications/beacon/AD4CGCGRLOPJG4UXEF7KS7DTTUH2LA5CNFSM4TTNP5MKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGODMBIA.gif>
|
I don't mind being bothered, and I probably need to set up a proper support mechanism. I'm just trying to direct stuff that's not related to the issue tracker out of the issue tracker. For now, if you need further help my e-mail is ahicks@ahicks.io. And of course feel free to open issues if you find bugs. I'll look at getting a google groups or something going in the next few days. I really should have done it a long time ago. |
None of these commits are going to be super informative. Refs #28
Closing this out because I just rewrote the manual, massively expanding it in the process. Taking it further than I now have is infeasible. |
We need:
And things with significantly less value that need to be decided on:
The text was updated successfully, but these errors were encountered: