Giter Club home page Giter Club logo

jammernetz's People

Contributors

christofmuc avatar johan12345 avatar zalez avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

jammernetz's Issues

Linux compile error (when compiling oneTBB)

[ 49%] Linking CXX static library libds_look_and_feel.a [ 49%] Built target ds_look_and_feel [ 50%] Building CXX object third_party/oneTBB/src/tbb/CMakeFiles/tbb.dir/allocator.cpp.o [ 50%] Building CXX object third_party/oneTBB/src/tbb/CMakeFiles/tbb.dir/arena.cpp.o In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86gprintrin.h:89, from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:27, from /root/JammerNetz/third_party/oneTBB/src/tbb/../../include/oneapi/tbb/detail/_machine.h:33, from /root/JammerNetz/third_party/oneTBB/src/tbb/../../include/oneapi/tbb/detail/_utils.h:26, from /root/JammerNetz/third_party/oneTBB/src/tbb/task_dispatcher.h:20, from /root/JammerNetz/third_party/oneTBB/src/tbb/arena.cpp:17: /usr/lib/gcc/x86_64-linux-gnu/11/include/waitpkgintrin.h: In function ‘void tbb::detail::r1::prolonged_pause()’: /usr/lib/gcc/x86_64-linux-gnu/11/include/waitpkgintrin.h:53:1: error: inlining failed in call to ‘always_inline’ ‘unsigned char _tpause(unsigned int, long long unsigned int)’: target specific option mismatch 53 | _tpause (unsigned int __A, unsigned long long __B) | ^~~~~~~ compilation terminated due to -Wfatal-errors. gmake[2]: *** [third_party/oneTBB/src/tbb/CMakeFiles/tbb.dir/build.make:90: third_party/oneTBB/src/tbb/CMakeFiles/tbb.dir/arena.cpp.o] Error 1 gmake[1]: *** [CMakeFiles/Makefile2:712: third_party/oneTBB/src/tbb/CMakeFiles/tbb.dir/all] Error 2 gmake: *** [Makefile:166: all] Error 2

Rename Input Channel

Hello , first , nice job !
Would it be possible to add possibility to rename input channel ?

Thanks

cannot connect with Yamaha MG-XU usb mixers on Windows

great project! Been testing with a few people and have not been able to get anyone on that has one of the Yamaha MG-XU usb mixers -- eg the MG10XU and 16. This happened with both the Yamaha/Steinberg Driiver and Asio4all. The device would show as unsupported at times. These messages were seen in the log:
22:29:24: Accessing audio device Yamaha Steinberg USB ASIO
22:29:28: Setup>Inputs>Device updated: Yamaha Steinberg USB ASIO
22:29:31: Device reports no buffer sizes are available!

Any Ideas?

Thank You!

Windows Audio devices pretend they work, but then don't

This is really strange - when you select some Windows Audio Devices like a cheap USB headset, Windows Audio claims they can do 48000 KHz at buffer size 128 - but then they don't.

The software opens the audio device just fine, but the measured sample rate suddenly can be as low as 12000 Hz, or just above 30000 Hz. This indicates a different buffer size was chosen after all.

I need to either fix the buffer size problem, or detect that the Sample rate measured is way off and stop even try pretending it works.

Have to evaluate practicality of pitch detection with real instruments. A single oscillator works fine.

On Windows, client should show button to configure driver

because it can be arbitrarily hard to explain to somebody on how to navigate to the ASIO settings of the driver on a Windows machine. I myself can't find it when I search.

virtual bool AudioIODevice::hasControlPanel 

and

virtual bool AudioIODevice::showControlPanel 

Want to specify which port to use

Currently port 7777 is hard coded, but if we want to launch multiple servers (rooms) on one machine, it would be nicer to specify the port at startup. Of course, the client then needs to allow this as well.

Compilation on Linux

Hi,
Compilation was fine with GCC 7.5.0 (Ubuntu 18.04), but failed with GCC 10.2.0 (Archlinux).
With GCC 10.2.0, flatbuffers' compilation fails with an Werror. It can be overided by:

  • adding FLATBUFFERS_CXX_FLAGS cmake option (see here) ;
  • calling CMake with this option in <JammerNetz>/third_party/flatbuffers: cmake -S . -B LinuxBuilds -G "Unix Makefiles" -D FLATBUFFERS_CXX_FLAGS="-Wno-error".

Perhaps informations could be given here about your GCC version ?

SERVER: Port 0 is accepted when no "=" sign is used in specifying command line param

When starting the linux server compiled from the latest GitHub sources, and started with
JammerNetzServer -k JammerNetzSecret_202105140952.bin --port 22125 the output shows Server listening on port 0

Tried different port numbers, also didn't work.

I can't connect to the server, so using the --port switch may be breaking the server altogether?

Using Ubuntu 20.04 and the compilation instructions in the Github readme.

Could add better error concealment

Currently, I either repeat a package or insert silence.

Several better algorithms exists, list of papers:

Choirs: Large number of participants. Would like to have submixers

The UI currently is not suited for a larger number of participants. a) the quality info data is not really needed by default (could be a break-out window?), and you might want to group people info submixers.

If we can mix others (not only ourselves), this could be a pure UI feature in moving multiple volume sliders at once.

Want to be able to control local mix

The current design does force all participants to hear - except for drops - exactly the same. For some use cases, this might not be required/desired, so there could be an option to override volume sliders from the general mix with my own taste.

Floating point assert in zero_crossing::peak_pulse()

The debug version asserts after a few hours in the std::max() function, in a piece of code that shouldn't assert. I am using Visual Studio 2017.

This is what I see:

SourceCode asserting with "invalid comperator":

template<class _Ty>
_Post_equal_to_(_Left < _Right ? _Right : _Left)
_NODISCARD constexpr const _Ty& (max)(const _Ty& _Left, const _Ty& _Right)
_NOEXCEPT_COND(_NOEXCEPT_OPER(_Left < _Right))
{	// return larger of _Left and _Right
    if (_Left < _Right)
    {
        _STL_ASSERT(!(_Right < _Left), "invalid comparator");
        return (_Right);
    }
return (_Left);
}

Float values displayed in Debugger:

_Left	5.04023665e-05	const float &
_Right	0.000307894428	const float &

32 bit Int cast of them:
(int)&_Left 944989985 int
(int)&_Right 966880484 int

Cleary there is no reason for the CPU to calculate _Left is smaller than _Right and _Right is smaller than left.

Have you encountered any of this? I post it here because this is where it happened, but it looks more like a compiler or CPU bug. The assembler looks good, it does nothing else than

00007FF7D063F5A5  mov         rax,qword ptr [_Left]  
00007FF7D063F5AA  mov         rcx,qword ptr [_Right]  
00007FF7D063F5AF  movss       xmm0,dword ptr [rax]  
00007FF7D063F5B3  comiss      xmm0,dword ptr [rcx]  
00007FF7D063F5B6  ja          std::max<float>+3Ah (07FF7D063F5BAh)  
00007FF7D063F5B8  jmp         std::max<float>+0A5h (07FF7D063F625h)  

Where I'd say the comiss can't be that bad.

CPU: i9-9900K

I tried googling this but didn't succeed. I filed this with the Q library, let's see if they have any idea.

Reproducing it with just calling std::max() on the inputs above is not successful, there must be some more state in the FPU to trigger this.

DOC: Hint on creating a random secret

In the GitHub README a hint on how to create 72 bytes of random data could be added. The following command works well on macOS and linux:

head -c 72 /dev/urandom > JammerNetz-secret.bin

For easy distribution of a secret to users: how about a feature that calculates some sort of checksum on a file, for example an image. So if a jpg is addressed with the -k option, it reverts to that. Providing someone with a key is then as simple as sharing a picture with them. Small picture files generally don't get recompressed by WhatsApp or Facebook, and can be easily uploaded to and downloaded from forums, web pages and other sources. The entropy would suffice and people could use logo's and other human recognizable content as the 'key' to the server!

Got package I couldn't decipher from "client's IP" - somebody trying to break in?

Hi,
I got this message on the console when I try to conncet a client:
Got package I couldn't decipher from "client's IP" - somebody trying to break in?
Maybe a shared secret pb ? RandomNumbers.bin were created under /common with the same shared secret on server side and client side before compilation...
Have you got any idea about the pb ?

Want local monitoring

Instead of the "Send" function, which only uploads yourself but you will not hear yourself from the server, we should add a local monitoring function that mixes the locally recorded audio into the queue, with adjustable volume and adjustable delay.

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.