[HN Gopher] Rust Audio Development Forum
       ___________________________________________________________________
        
       Rust Audio Development Forum
        
       Author : thibaut_barrere
       Score  : 88 points
       Date   : 2021-07-29 16:47 UTC (1 days ago)
        
 (HTM) web link (rust-audio.discourse.group)
 (TXT) w3m dump (rust-audio.discourse.group)
        
       | thibaut_barrere wrote:
       | I find that the Rust ecosystem is shaping nicely for audio-
       | related stuff, and found this forum, so sharing it here.
        
         | dimal wrote:
         | I had been thinking of getting into audio processing (to create
         | a custom Eurorack module) and thought Rust would be nice, but
         | everywhere I looked, people recommended C/C++ -- I think since
         | there are so many existing libraries to pull from. But I am not
         | a fan of C/C++, to put it lightly. Can I ask, what has improved
         | about the Rust ecosystem that you think makes it viable?
        
       | jjice wrote:
       | Any good resource for someone to learn how computer (is digital
       | the right term>?) audio works? I have no clue what the
       | raw/output/input formats are and how we compress that and such,
       | but it's incredibly interesting and I'd love to learn.
        
         | crs0 wrote:
         | digital audio, yep -- in contrast with analog audio :)
         | 
         | The TL;DR is that you make your computer spit out a certain
         | amount of distinct values per second (like, say, 44100 floats
         | per second, times two for stereo), and your DAC will convert
         | that stream of numbers into an audio signal that your speakers
         | will be able to use to produce sound.
         | 
         | The way I like to mess around with ideas is to grab a library
         | that writes to WAV files and see what I can make -- a Sine
         | oscillator at a certain given frequency is a good place to
         | start -- and then you can load that WAV file into Audacity (or
         | your other favorite sound editor of choice) and analyze what
         | you just made.
         | 
         | More complex audio topics will require some DSP knowledge; I
         | started teaching myself by reading
         | http://www.dspguide.com/pdfbook.htm, but there are a decent
         | amount of other resources to learn from too. Especially ones
         | that focus more on the audio aspects of DSP.
         | 
         | There are some interesting programming challenges in the audio
         | space; for example, if you want to pipe sound directly to your
         | speakers (or in a plugin for a DAW), you're going to have to
         | make your code real-time friendly. Designing an "audio graph"
         | to hook devices up together (as if it was a modular system) can
         | be a pretty interesting problem space when you're designing for
         | real-time, polyphony, efficiency, etc. It's a fun topic if
         | you're into both programming and music!
        
           | jjice wrote:
           | Thanks a lot, that was great overview!
        
       | adamnemecek wrote:
       | At some point, I'm planning on using webaudio as a starting point
       | to implement a JUCE like framework with VST and AU support. The
       | webaudio code is already in servo so doing this might not be too
       | bad.
        
         | gavinray wrote:
         | Out of curiosity, how would this work?
         | 
         | You port WebAudio API to a compiled language or use a JS
         | interpreter that has it?
         | 
         | Would be interested to try this
        
           | cmrdsprklpny wrote:
           | Here's an in-development audio framework which uses JS. I
           | haven't used it, but it looks interesting.
           | 
           | https://www.elementary.audio/
        
           | adamnemecek wrote:
           | Not quite. There would be no JS. The WebAudio API is
           | implemented in Rust. You would just use the innards (buffers,
           | audio graph etc.) and leave it as a Rust framework.
           | 
           | LabSound [0] has done something similar with C++ and WebKit.
           | They took the WebAudio implementation and made it into a C++
           | framework.
           | 
           | [0] https://github.com/LabSound/LabSound
        
             | gavinray wrote:
             | > The WebAudio API is implemented in Rust
             | 
             | Ah yup, for Servo that would make sense eh?
             | 
             | Well neato. I hope you do, seems useful. Audio landscape
             | needs more options besides JUCE and iPlug2.
        
       | gavinray wrote:
       | Just as a heads up, the Discord server for this group is much
       | more active than their forum FWIW. Lovely group of people.
       | 
       | https://github.com/RustAudio
       | 
       | https://discord.gg/b3hjnGw
        
         | ericwood wrote:
         | The Rust Audio discord is fantastic, and the people there are
         | extremely helpful. They gave me a lot of resources for getting
         | started with DSP, and the authors of various libraries were
         | able to lend a hand when things went south. There's some really
         | exciting stuff happening in that world!
        
         | mxmilkiib wrote:
         | For those not a fan of proprietary chat systems, there's a few
         | Rust leaning folk hanging out in #lad #jack #lv2 etc on
         | libera.chat.
        
           | jcelerier wrote:
           | Can confirm, I once tried to setup a community on discord and
           | got my account banned without any possibility for appeal and
           | without ever having idea of what went wrong, never again
        
             | darthrupert wrote:
             | That FOSS projects choose Discord out of all the options
             | shows a severe lack of judgment.
        
               | crs0 wrote:
               | I donno, it's been working pretty well for us so far
               | -\\_(tsu)_/-
               | 
               | The chat started off as a Telegram chat for some of us
               | working on the Rust VST crate, but as we started
               | discussing wider Rust audio topics, we found that the
               | lack of "topics"/channels/whatever wasn't great. For
               | better or worse, we chose Discord to migrate to, and it
               | solved the channels issue for us.
               | 
               | Migrating a community like this is a tough call in the
               | first place; there's always going to be some people that
               | don't want to use or install _yet another_ chat app. Our
               | goal was to fragment the community as little as possible,
               | and a fair amount of people at the time already used
               | Discord for other stuff. So, Discord it was.
               | 
               | I think if we were migrating today I'd push harder to
               | move to something open (probably Matrix?), but as of
               | right now Discord has been a decent enough platform.
        
               | blendergeek wrote:
               | Unsolicited advice:
               | 
               | Bridge the entire community to Matrix.
               | 
               | Matrix allows rooms and communities from other services
               | to be bridged in so that discussion can continue with
               | people still tied to proprietary platforms. The Pine64
               | community has done this very well and I regularly use
               | their chats via Matrix while others use IRC, Discord, or
               | Telegram.
        
               | crs0 wrote:
               | Noted. I haven't really looked into these bridges quite
               | yet, but it is probably worth looking into sometime.
               | 
               | I'll have to look into how well the bridges work; I don't
               | know if I'd be too excited if all the cross-platform
               | messages just showed up as a bot message with the user's
               | name prepended to the message? Plus, it seems like it
               | would be yet another thing to pay attention to for
               | moderation/administration purposes (make sure something
               | doesn't break, make sure nothing nefarious isn't going on
               | in each server, etc).
               | 
               | I will bring it up to the other admins/mods of the
               | discord, though.
        
               | jcelerier wrote:
               | I wish that there were better ways but some niche discord
               | servers have more members than the entirety of freenode /
               | libera... sadly that's where the human beings _are_
        
               | duped wrote:
               | It's the path of least resistance.
        
               | smoldesu wrote:
               | This doesn't seem to be for an OSS project? Just clicking
               | around the forum, it seems to be about audio-related
               | topics through the context of Rust, with no mention to
               | software licensing or availability.
               | 
               | Sure, I would have loved for this to be a Matrix server,
               | but beggars can't be choosers. If the Rust audio devs are
               | using Discord, that's where you have to go to find them.
        
               | blendergeek wrote:
               | https://github.com/RustAudio
               | 
               | They list their official Dicourse/Discord chat there. I
               | believe this is a set of Free Software projects of a
               | sort.
        
               | bool3max wrote:
               | What a condenscending thing to say. Perhaps the
               | maintainers simply aren't willing to waste valuable time
               | and energy on inferior alternatives that attract fewer
               | people.
               | 
               | The usability and accessibility of a platform such as
               | Discord simply can't compare with FOSS alternatives.
        
               | mkw2000 wrote:
               | Yea, what a mistake choosing the most popular and
               | appropriate tool for the job
        
               | bsder wrote:
               | Agreed.
               | 
               | The Rust Embedded folks saw what was coming and chose
               | Matrix even back when it wasn't nearly as good as it is
               | now.
               | 
               | One of the things about the voting to make the choice was
               | that a lot of people gave an informal thumbs down on
               | alternatives to their main choice. Discord came in for a
               | _HUGE_ amount of thumb downs. No other option even came
               | close.
               | 
               | For some reason, a lot of people fail to estimate how
               | many people really loathe Discord.
        
               | nitrogen wrote:
               | I've been an advocate for and developer of Free software
               | for a very long time.
               | 
               | But the UX of everything Free is just horribly bad. I've
               | written a toy softsynth for myself in Ruby and was
               | looking for some MIDI editing software that I could use
               | to quickly throw some notes in a piano roll and draw some
               | curves for various CCs, and export to a .mid. But
               | everything was incredibly cumbersome. Of the several I
               | tried, only Ardour even allowed the control of arbitrary
               | CCs, and I had to dig to find it, and it wanted to create
               | an entire directory hierarchy before I could even draw a
               | single note.
               | 
               | If there was going to be a Free revolution of people
               | donating and volunteering to overthrow the proprietary
               | software world, it would have happened a long time ago.
               | Free software has an insurmountable design, development,
               | and discovery problem.
               | 
               | If I were looking to start a community today, and
               | actually have people join it, I'd go where the people
               | are, and that is Discord.
        
               | jancsika wrote:
               | > Free software has an insurmountable design,
               | development, and discovery problem.
               | 
               | Someone in the 80s probably wrote that free software has
               | an insurmountable tooling, compiler, and operating system
               | problem.
               | 
               | The surmountable hurdle is for key free software
               | developers to learn _enough_ about design and discovery
               | to honor and encourage the very few people who currently
               | show up to do that work. If they made the experts feel
               | like rock stars I 'm sure more would turn up to do work
               | for free.
               | 
               | I offer as evidence the number of free software devs who
               | work on free software tooling, compilers, and operating
               | systems as evidence of this.
        
               | analognoise wrote:
               | I think the obvious lack of uptake of the free software
               | for applications makes GP right.
        
               | qaq wrote:
               | Well as things stand now they are in most cases very well
               | compensated employees of major companies who are working
               | on these projects as part of their job.
        
               | mxmilkiib wrote:
               | Linux took over the server market, and Matrix looks like
               | it will take over the chat/VOIP market. Even if that
               | requires top-down investment, it's still a win for FOSS.
               | 
               | Edit; my midi sequencer recommendation would be
               | sequencer64/seq66.
        
               | antihero wrote:
               | Yep, much as it has its drawbacks, Discord is where
               | people jump in and get involved. Convenience wins.
        
               | evilsetg wrote:
               | Discord, as any free propreitary online service is
               | fundamentally unaccountable. Their user support is non
               | existent. They disabled my account without a concrete
               | reason given and now will not answer my requests to tell
               | me why they disabled it. I beg any community not to use
               | Discord for it does not respect it's users. Please do not
               | subject other people to that.
        
             | agumonkey wrote:
             | zulip maybe ?
        
       ___________________________________________________________________
       (page generated 2021-07-30 23:01 UTC)