-F
отправка формы@-
@ означает что данные отправляютcя как приложенный файл, а минус что отправляемые данные берутся из STDIN (в данном случае то что сгенерировалось после echoprint-codegen ./recorded.mp3 10 20
), подробнее можно почитать man curl
-F, --form
(HTTP) This lets curl emulate a filled-in form in which a user
has pressed the submit button. This causes curl to POST data
using the Content-Type multipart/form-data according to RFC
2388. This enables uploading of binary files etc. To force the
'content' part to be a file, prefix the file name with an @
sign. To just get the content part from a file, prefix the file
name with the symbol <. The difference between @ and < is then
that @ makes a file get attached in the post as a file upload,
while the < makes a text field and just get the contents for
that text field from a file.
Example, to send your password file to the server, where 'pass‐
word' is the name of the form-field to which /etc/passwd will be
the input:
curl -F password=@/etc/passwd www.mypasswords.com
To read content from stdin instead of a file, use - as the file‐
name. This goes for both @ and < constructs.