Skip to content
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

Proposed move of flac to github.com/ljud/flac #19

Open
10 tasks
mewmew opened this issue Apr 16, 2018 · 8 comments
Open
10 tasks

Proposed move of flac to github.com/ljud/flac #19

mewmew opened this issue Apr 16, 2018 · 8 comments
Labels

Comments

@mewmew
Copy link
Member

mewmew commented Apr 16, 2018

To welcome contributions and collaboration with anyone from the open source community, we've been considering to move the flac repository to the newly created GitHub organization ljud (which means sound in Swedish). Anyone interested in working on audio and sound libraries, feel free to reach out to either of us, and we'll send you an invite to the new organization.

With this move, we can also take a closer look at the API of the flac package and associated frame and meta packages. Is the API well defined, consistent and as clean? Are there any parts that could be updated when we do the move.

The intention is to make a transition as smooth as possible, and we also intent to send PRs to the main game engines, music players, and other repositories using mewkiz/flac as a backend for FLAC decoding.

For now, the list of users includes (feel free to add to this list if you are using github.com/mewkiz/flac currently):

Some users of the flac package may be located using GoDoc.org https://godoc.org/github.com/mewkiz/flac?importers

EDIT: Oh, and to keep the code running and make the transition as smooth as possible we can try using vanity imports.

Cheers,
Henry and Robin

@karlek
Copy link
Contributor

karlek commented May 8, 2018

Well, one thing to investigate would be what benefits would we garner by making the parsing / decoding pipeline(s) concurrency based with channels and go routines?

Performance wise the API passes with flying colors, since we can do live decoding (which according to me is our highest priority). It would perhaps be if we want to support mass decoding / encoding of media libraries that we would need to investigate the concurrency approach. However, the complexity and footguns from data races might outweight the risk. But, it's educational and fun so it's a tie in my opinion.

Also, I think the API is very mature and usable, but we're in short supply of a util library for common operations like extracting the VORBIS metadata from a file directly.

Good initiative,
kram

Edit: forgot the mandatory emojis 🐫 🍍 🇯🇵

@mewmew
Copy link
Member Author

mewmew commented May 8, 2018

Performance wise the API passes with flying colors, since we can do live decoding (which according to me is our highest priority). It would perhaps be if we want to support mass decoding / encoding of media libraries that we would need to investigate the concurrency approach. However, the complexity and footguns from data races might outweight the risk. But, it's educational and fun so it's a tie in my opinion.

I'd say for learning it would be great fun to explore. To keep the API simple and guard against race conditions, probably not worth it for the master branch; as I think ffmpeg and other projects written in C will always (where always is defined as 30 years into the future) be used for mass conversion.

If we do the concurrent approach, I think the branch should be called metalstorm, and the aim being to beat ffmpeg speed by pure concurrent CPU force.

Also, I think the API is very mature and usable, but we're in short supply of a util library for common operations like extracting the VORBIS metadata from a file directly.

Yes, the API feels quite mature. We can take a swoop through it, and clean up small edge cases. Perhaps when we meet this summer!

I'm about to order tickets btw 🌸, we can talk more about details if we Skype this weekend.

kraam

@karlek
Copy link
Contributor

karlek commented May 8, 2018

I'd say for learning it would be great fun to explore. To keep the API simple and guard against race conditions, probably not worth it for the master branch; as I think ffmpeg and other projects written in C will always (where always is defined as 30 years into the future) be used for mass conversion.

I agree. Because, if we want the real benefits of concurrency we probably would need to expose a channel in the API which would make the library harder to use.

If we do the concurrent approach, I think the branch should be called metalstorm, and the aim being to beat ffmpeg speed by pure concurrent CPU force.

Spik! 🤘 🌩️

Yes, the API feels quite mature. We can take a swoop through it, and clean up small edge cases. Perhaps when we meet this summer!

Sounds like a good hackathon! Yeah, we'll take about tickets on Skype.

kra{3}m

@mewmew
Copy link
Member Author

mewmew commented May 24, 2018

kra{3}m

Älskar dig bror!

@wsc1
Copy link

wsc1 commented Sep 12, 2018

I didn't see ljud til just recently.

Is it for swedes? Are there other things that may move there?

@karlek
Copy link
Contributor

karlek commented Sep 13, 2018

No, it's just the name that's in Swedish. Everyone is invited to contribute!

We discussed that future implementations of audio codecs would be placed there, and util functions such as waveform visualization might also qualify.

@wsc1
Copy link

wsc1 commented Sep 13, 2018

Great! Is there a recording somewhere of the word "ljud"? I don't know how to pronounce that :)

I have a waveform viewer that animates waveforms in an html5 canvas via a server backend. It is still pretty messy in terms of configurability, but it or some parts of it may be worthy of your consideration.

For codecs, good luck! zikichombo.org/codec has had some problems getting codec implementations together in one place. If ljud could consolidate that better, it might be of interest for zc to use ljud. Going down that road, it would also be easier for all if some collective licensing organisation could be arrived at, see here.

@mewmew
Copy link
Member Author

mewmew commented Sep 13, 2018

Great! Is there a recording somewhere of the word "ljud"? I don't know how to pronounce that :)

At the specific time stamp, he says oönskat ljud, which translates to unwanted sound. So simply listen to the second word and you know how to pronounce ljud :)

https://www.youtube.com/watch?v=vQIowVg3x68&feature=youtu.be&t=116

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants