Stemwisselaar/vervormingsscript "ongeldige syntaxis" -fout

Ik probeer een stemvervormer te maken met mijn raspberry Pi, ik heb een script gemaakt met deze regel code

speel "| rec --buffer 2048 -d pitch -300 echo's 0.8 0.88 100 0.6 150 .5 band 1.2k 1.5k |"

Maar ik krijg de fout ongeldige syntaxis die verwijst naar "en wanneer ik verwijder, krijg ik de fout die verwijst naar |.

0
heb je een spatie geprobeerd na het pijp-symbool (|)? Is dat de hele lijn? Kun je een paar regels rond de bovenstaande code toevoegen?
toegevoegd de auteur doekman, de bron
Zoek de "juiste sh-syntaxis" op of leer de syntaxis sh/bash, het zal je helpen om het te doen voordat je met sh/bash probeert te programmeren
toegevoegd de auteur Patrick Cook, de bron

1 antwoord

Misschien moet je het proberen:

rec --buffer 2048 -d pitch -300 echos 0.8 0.88 100 0.6 150 .5 band 1.2k 1.5k | play

Het opdrachtregel-symbool * nix-shell '|' betekent "pijp" of "neem de standaarduitvoer van het commando naar links en voer het in als standaard invoer voor het commando aan de rechterkant".

Je KUNT het soort dingen doen dat je schreef, maar je moet het terug-citaat '`' karakter gebruiken (op de sleutel links van" 1! "Op mijn Britse toetsenbord); in de * nix shell, dingen omringd door een paar van deze middelen "vervangen wat is ingesloten met de standaard uitvoer ervan wanneer uitgevoerd als een commando" .:

play `rec --buffer 2048 -d pitch -300 echos 0.8 0.88 100 0.6 150 .5 band 1.2k 1.5k`

Merk op dat mijn antwoord is gebaseerd op algemene shell-commandoregelkennis, ik ga ervan uit dat play en rec standaard invoer en uitvoer verwerken als iets om naar een geluid te sturen/binnen te komen apparaat als een bestand. Ik zie op mijn Debian-pc dat beide aliassen zijn voor sox {Sound Exchange - het Zwitserse zakmes van audiomanipulatie}.

2
toegevoegd
Ik heb de regel geprobeerd die je hebt bewerkt, maar nu krijg ik de fout-ongeldige syntaxis en wordt 2048 gemarkeerd
toegevoegd de auteur Amadeus, de bron