From: Zelphir Kaltstahl <zelphirkaltstahl@posteo.de>
To: Guile User <guile-user@gnu.org>
Subject: I've made a sound/audio thing
Date: Sun, 4 Sep 2022 12:16:16 +0000 [thread overview]
Message-ID: <017e97d7-bccd-e6a7-5ef2-55e302e8459e@posteo.de> (raw)
Hello Guile users!
Recently I've looked at "how to write a wav file?" and wrote some code to output
in RIFF-WAVE fie format:
https://notabug.org/ZelphirKaltstahl/guile-examples/src/master/sound/riff-wave.
It only writes a file currently, and does not read in any files yet. Hopefully I
will work on it more soon.
My idea is, that Guile should be kind of perfect for making functions, which
output sample values. Just combining functions. I want to make more effects like
fade-in and fade out, amplify, change of sample rate or whatever else is simple
to do. Already implemented things like a function to make another function
"stepped" (is what I call it), so that one only gives an integer and it will
give the sample of the index that is that integer, considering a previously
given step size.
I imagine, that it should be possible, to build good abstractions over sample
values and then give helper functions allowing anyone to make their own effects
and so on. When reading in files is implemented, one could easily write a little
Guile code and apply effects to any wav file.
I know libsndfile exists and perhaps I should be using FFI to interface with it,
but I still have not gotten around to learning more about how to use FFI and
also I made the mistake of looking at the implementation of wav file format in
the libsndfile library … biiig mistake :D Well, I also would probably not have
learned as much about wav files and some bytevector and vector stuff, if I had
used libsndfile. Though more about FFI …
Will see how far I take it : )
Best regards,
Zelphir
--
repositories: https://notabug.org/ZelphirKaltstahl
next reply other threads:[~2022-09-04 12:16 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-04 12:16 Zelphir Kaltstahl [this message]
2022-09-04 14:06 ` I've made a sound/audio thing blake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=017e97d7-bccd-e6a7-5ef2-55e302e8459e@posteo.de \
--to=zelphirkaltstahl@posteo.de \
--cc=guile-user@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).