Giter Club home page Giter Club logo

pas-core's Introduction

pas

Perry's audio server - a robust audio server for large numbers of concurrent streams of digital and analog output.

Latest Development Highlights

5/17/17 pas up and running on $15 computer!

This NanoPi NEO2 runs pas very well.

$15 NEO2 runs pas quite handily!

Sponsors

AUDIO DAC MAKERS - WE NEED MORE DACS TO FIND OUT HOW MANY CONCURRENT STREAMS CAN BE SUPPORTED ON A GIVEN CLASS OF MACHINE. I AM SEEKING SPONSORS TO PROVIDE ONE OR MORE OF THEIR USB DAC PRODUCTS. SPONSORS GET:

  1. Promoted here.
  2. Ceritification as being pas compatible (and pas will be YUGE!)
  3. Our thanks!

PLEASE CONTACT ME IF INTERESTED, USING MY LINKEDIN ACCOUNT.

What is pas?

pas is an audio server capable of sending multiple concurrent analog or digital stereo feeds to some (as yet undetermined maximum) number of outboard DACs. Each DAC drives a separate audio zone in a multi-zone or multi-room installation.

A key feature of pas is that it is quite light weight, capable of running multiple concurrent streams even from a $50 ARM-based dev-board. See directly below for information about the microscopic computer pas being being developed on.

Some information about pas:

  • pas is Linux based.

  • pas is heavily multithreaded and likes multicore machines.

  • pas is written to be headless. UI's are provided via ssh or other means such as a web server.

  • audio is emitted using pulseaudio via USB ports.

  • audio is decoded using ffmpeg so pas supports those formats supported by ffmpeg.

  • data is maintained using MySQL.

  • pas may expose a MPD-compatible interface as the pas API is quite robust.

  • pas is being developed on an odroid XU4.

  • pas is being developed using an audioengine D3 USB DAC and a DragonFly Black from AudioQuest.

Why did I start pas when *.* is available?

Because. 'Murica.

pas is not this which sends audio as digital data via RTP connections.

pas is not this which, well, I have no idea what this does.

These and others send digital data to remote digital devices.

Apparently there is a high end market which pas has the potential to disrupt

We've come across music servers costing $5000 and more which provide less functionality than pas. Of course they presumably have much better DACs but pas doesn't provide the DAC. You do. This could get interesting.

In any case, we are redefining pas as a general purpose multi-stream digital and analog audio server - with a DAC, it's analog. Without a DAC, it's digital.

Who is Perry?

This is me.

You are already familiar with my work.

I contribute to this.

I used to teach CS here but now I teach CS here.

Is pas MPD-client compatible?

I hope this is added someday. The pas API is likely a superset of what MPD is capable of, so it seems reasonable this may come to pass in pas.

What additional information is available about pas?

The wiki is maintained.

Is there a style guide?

Yes. It is in the wiki.

Are other contributors welcomed?

Yes.

How do computer programmers kill zombies?

Read Get off my L@wn and find out. And don't steal it like everybody else, please? It's just $2.99 for crap's sake.

Is pas shitty code?

We take pride in our work. We strive to write non-shitty code. If you believe we have written shitty code, please let us know in a non-shitty way.

Does pas contain cool code?

Yes, there is some cool code in pas.

The web server is being written in go and it and the pas server use Google Protocol Buffers (version 3).

The threading models are nice. Apparently they are real nice as there are $5000+ audio servers that do single streams. pas supports an unknown number (limited by your hardware) number of concurrent streams.

When will pas be done?

¯_(ツ)_/¯.

What's the best computer ever made?

The Amiga.

<mic drop>

pas-core's People

Contributors

lozord avatar pkivolowitz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pas-core's Issues

Clients sending bad messages could hang

Suppose the client issues a who on device 99. The server will ignore it. The client may hang trying to get a response. The server should send back ErrorMessages.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.