error when encoding "hello_world"

what profile should I use?
crash at "encode_to_wav"
I have installed everything except "libfec"
Hi @bigdimboom
I'm not really sure what you want me to do with what you've given me. Can you at least give me a stack trace?
By the way, if you need libfec (and you basically need it to use quiet), the win branch of libcorrect (with fec shim) might be helpful https://github.com/quiet/libcorrect/tree/win
My bad. It's running fine if I choose non-libfec feature because I did not install libfec. And thank you for the info. What does libfec do? Sorry I don't have audio background.
What's the difference between
"inner_fec_scheme": "none",
"outer_fec_scheme": "none",
And
"inner_fec_scheme": "v27",
"outer_fec_scheme": "none",
Can you post a documentation for profile.json. for example, I might want to set it to 48khz, etc..
No worries. Glad you got it figured out.
libfec (and libcorrect) adds more robust capabilities for error correction https://en.wikipedia.org/wiki/Forward_error_correction
Namely https://en.wikipedia.org/wiki/Convolutional_code and https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction
The documentation is still WIP but you might have luck with https://quiet.github.io/quiet-profile-lab
If you want a different sample rate, you'll need to set that in quiet_encoder_create/quiet_decoder_create. Quiet always runs internally at 44100Hz, it is not possible to change that. But if you want to resample its output, that would be how you do it.
Awesome. Say I use a audio channel to send audio frames that contains a Json file. I broadcast it programmatically again and again. How does the library "magically" figure out what's the start/end points for the data. What's the algorithm? and say, I can resample it to a different output. How do I downsample back without jeopardizing data.
Quiet sends and receives data in frames. If you're familiar with UDP, it's almost identical. Basically, it's up to you to cut your data into frames that are smaller than the frame_len set in the profile, and each frame is atomically either received or not. Your application will have to figure out how to reassmble the frames into a large batch of data. An easy way to do this is to put a sequence number in the first 2-4 bytes of each frame, and then remove the sequence number and reconstruct on the receiver side.
Resampling up and then back down can't lose data because the output will only occupy 44100Hz (actually, 44100/2 Hz) of spectrum, regardless of the sample rate. If you resample to a smaller sample rate than 44100Hz, then you could lose some of the output. You'd have to make sure your profile keeps the audio content in the right part of the spectrum.
Thanks for the explanation. What do you think a qualified audio engineer should be like? Say...you are interviewing an audio engineer for your team. What technical questions should you ask? Sorry this is an irrelevant the topic of this channel.
I don't really have any idea to be honest. Also, almost all of quiet deals with DSP/digital communications, not audio. It's built on a library that's intended for software defined radio, for example. The same techniques just happen to work over sound.