http://stackoverflow.com/questions/26550514/streaming-audio-from-microphone-with-java http://tutorials.jenkov.com/java-networking/udp-datagram-sockets.html http://jspeex.sourceforge.net/ TODO:
- Split Objects, into playback and capture
- Test Server-Client Streaming
- Convert to DataGram (UDP), move to much later on. this is quite big
- Create 3rd server, for relaying, and sending audio format
- Collect n>2 mics
- set configs
- mix the sources, run on server
- Add noise Filtering on capture
Conver to channels and use disruptor - will need this because we want to mix on each individual channel.
- Convert audio client to channel
- Convert audio server to channel
- Add magic ring buffer to store byte arrays
- InProg. Add Electron UI
- InProg. Add Web Backend to work with UI
- InProg. Add PTT voice breakout
- InProg. Add PTT Room
- InProg. Add Server Response on AudioLogin
- Convert futures to threads?
- add variable quality, resample based on ui
- Add Encryption
- Add speex
- optimize speed
- optimize network
- full text search
- Add a way to send raw audio
- Add a way to shortcut connections
- join command
- list command
- !! talk command
- ! new room command
- ! close room command
- ! Add a 2nd mode that only sends/receives when talk is engaged vs auto-leveling
- Add auto leveling on capture (when on mode 1 which is promiscuous listen)?
- ! create and collaborate documents in the room.
- ! build the chat.
- ! chats can get linked onto the document
Use Disruptor ring buffer to get and write to channels
webconnect localhost:8080 1 test1 1 1 webconnect localhost:8080 2 test2 1 1 audioconnect 1 audioconnect blank audioconnect ../samples/test1.raw
- Add 2nd mode on server and client
- Get the talk button working
- Get the UI Working (login, join, talk, logout)