[ANNOUNCE] for gopher audiophiles.

186 views
Skip to first unread message

Scott Cotton

unread,
Aug 7, 2018, 11:33:48 PM8/7/18
to golang-nuts
Hello all,

I am pleased to announce a new project dedicated to rendering "awesome" sound processing and i/o in Go, ZikiChombo,  The project is in alpha, and this announcement is mostly geared toward people potentially interested 
in helping.

(you may want to check out the launch blog post for a more personal introduction).

Best,
Scott



Jimmy Tang

unread,
Aug 8, 2018, 2:37:48 AM8/8/18
to golang-nuts
this looks interesting, I've been using various go sox bindings for doing various sound processing (for machine learning) will your toolkit aim to provide similar functionality but in native go?

Scott Cotton

unread,
Aug 8, 2018, 8:00:57 AM8/8/18
to golang-nuts
Hi,

It is an open source project by and for gopher audiophiles.  It could become your project :)

There is a lot of functionality and planned functionality overlapping sox, but sox is pretty old 
and mostly in maintenance mode from what I understand.

ZC is more geared toward library usage than sox, at the level of say Web Audio or Apple Audio Units.  We think 
Go can simplify things a lot in this space.

Scott

Zellyn

unread,
Aug 8, 2018, 2:24:53 PM8/8/18
to golang-nuts
Scott,

Thank you for taking on this thorny and important area. I hope you manage to include the various interested parties, and reach a consensus that is both efficient and Go-like.

Good luck!  I look forward to reading updates on the project blog.

Zellyn

Sebastien Binet

unread,
Aug 8, 2018, 2:37:12 PM8/8/18
to golang-nuts, Scott Cotton
Scott,

One thing that wasn't completely clear to me in the blog post was whether zikichombo was considering investigating a pure Go alsa compatible package.
If I am not mistaken, right now, on Linux and on Darwin, the package actually performing audio stuff is using cgo.

Also, while I understand the fft code currently part of zikichombo is specifically tailored for the audio use cases.
I was wondering whether you had considered using gonum/fft and dropped it for some reason (and I'd be interested in knowing what that was) out whether you just didn't know about its existence (it's pretty new, but based on the netlib implementation, IIRC)

Cheers,
-s

sent from my droid

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Zellyn

unread,
Aug 8, 2018, 2:49:08 PM8/8/18
to golang-nuts
One other question. I know you're aware of it because you mentioned it in the kickoff blog post, but do you intend to use the underlying types from https://github.go-audio/audio?

Just curious,

Zellyn

Scott Cotton

unread,
Aug 8, 2018, 3:19:20 PM8/8/18
to Sebastien Binet, golang-nuts
Sebastion,

Given the nature of audio platforms, I do not think excluding cgo is feasible.  
There always seems to be very important layers in userland (though OS-privileged) 
There is a really neat package which does ALSA without the accompanying library already, github/yobert/alsa, whose headline is:

"""
This is a golang ALSA client implementation, without cgo! Unfortunately, doing it without cgo means throwing away many years of compatibility work that has been put into libalsa
"""

I don't think it's practical to eliminate cgo.  Also for darwin/iOS, the OS comes with good support linked to the kernel which is only really available at the C level.

But these are not really in the same category as portaudio, sox, ffmpeg, etc.  I think that with time good 100% Go support can be found here, and moreover I hope that some future codec developers consider doing their work in Go to begin with, they could publish C support via -build-shared and friends. 

For FFT: Honestly it's been so long since I wrote that I don't remember the reason I chose not to use go-num.  Perhaps one day go-num's fft can replace it.  I've been looking at doing MDCT, and it would be nice if go-num had that.  In the meantime I think the audio-specific parts of zikichombo's fft justify it living apart.

Scott


 


sent from my droid

To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Scott Cotton
President, IRI France SAS


Scott Cotton

unread,
Aug 8, 2018, 3:50:56 PM8/8/18
to golang-nuts
Oops, I forgot to CC golang-nuts..


---------- Forwarded message ----------
From: Scott Cotton <w...@iri-labs.com>
Date: 8 August 2018 at 21:48
Subject: Re: [go-nuts] Re: [ANNOUNCE] for gopher audiophiles.
To: Zellyn <zel...@gmail.com>


Zellyn,

We are collaborating with the go-audio github organisation.  They have lots to offer more than the buffer datatypes, and Matt Aimonetti of go-audio has been very helpful and supportive.   I'd also like to give him credit in the zikichombo code as his reviews provoked profound changes that I wouldn't have thought of otherwise.

Zikichombo does not currently use go-audio buffers.  My feeling is that they may be most useful in the context of codec implementations.

It's unfortunate that we were unable to do everything together in one place, hence 2 organisations.  But I am looking forward to continuing working with go-audio synergistically or more. 

Scott





--
You received this message because you are subscribed to a topic in the Google Groups "golang-nuts" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/golang-nuts/F07t91S1hKM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to golang-nuts+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
--
Scott Cotton
President, IRI France SAS


Zellyn

unread,
Aug 8, 2018, 4:07:29 PM8/8/18
to golang-nuts
That's great to hear. Again, good luck!
To unsubscribe from this group and all its topics, send an email to golang-nuts...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Scott Cotton
President, IRI France SAS


Reply all
Reply to author
Forward
0 new messages