[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: I've made a sound/audio thing
From: |
blake |
Subject: |
Re: I've made a sound/audio thing |
Date: |
Sun, 04 Sep 2022 14:06:17 +0000 |
Very cool, I look forward to checking it out!
September 4, 2022 12:16 PM, "Zelphir Kaltstahl" <zelphirkaltstahl@posteo.de>
wrote:
> 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