Σελίδα 1 από 1

Γεννήτρια χαμηλών συχνοτήτων από το PC (Linux)

Δημοσιεύτηκε: 08 Σεπ 2013, 14:05
από GeorgeVita
Κάθε κάρτα ήχου σε Η/Υ μπορεί να χρησιμοποιηθεί ως μια γεννήτρια χαμηλών συχνοτήτων για βασικές μετρήσεις σε κυκλώματα ήχου (λόγος ενίσχυσης, απόκρισης συχνότητας).

Κυκλοφορούν αρκετά ελεύθερα προγράμματα ανοικτού κώδικα (open source) όπως το Audacity που περιέχουν λειτουργίες "γεννήτριας συχνοτήτων" σε γραφικό περιβάλλον.

Εναλλακτική "ελαφριά" λύση είναι τα προγράμματα που "τρέχουν" σε περιβάλλον τερματικού Linux όπως αυτά που περιέχονται στο πακέτο "siggen" και μπορούν να τρέξουν με λίγους πόρους σε πλακέτες "embedded linux". Στα παρακάτω παραδείγματα χρησιμοποιώ Ubuntu 12.04.

Εγκατάσταση από παράθυρο τερματικού (Ctrl+Alt+T):

Κώδικας: Επιλογή όλων

sudo apt-get install siggen
Περιέχονται τα προγράμματα:
soundinfo - sgen - swgen - siggen - sweepgen - tones - smix - fsynth

Εκτελέστε ένα πρόγραμμα:

Κώδικας: Επιλογή όλων

 padsp siggen
Μπορούμε να παράγουμε συχνότητες με απλή εντολή τερματικού!.
- οδηγίες χρήσης απλής γεννήτριας (signalgen) ή από τερματικό man signalgen
- οδηγίες χρήσης γεννήτριας σάρωσης (swgen) ή από τερματικό man swgen

Μετά δοκιμάστε δημιουργία ημιτόνου 1000Hz στο αρχείο tone.wav με δειγματοληψία 44100Hz, ανάλυση 16bits:

Κώδικας: Επιλογή όλων

signalgen -v -f -w tone.wav -s 44100 -b 16 sin 1000
Παραγωγή τόνου στην έξοδο ήχου (άρα και στο βύσμα ακουστικών) αντιφασικά ημίτονα 2000Hz στα 2 κανάλια, διάρκειας 5sec, με δειγματοληψία 44100Hz, ανάλυση 16bits:

Κώδικας: Επιλογή όλων

padsp signalgen -v -s 44100 -b 16 -t 5 -2a sin 2000
Σημείωση: Η προεπιλεγμένη "έξοδος" των προγραμμάτων που περιέχονται στο siggen χρησιμοποιεί σύστημα ήχου OSS και είναι απαραίτητη η ύπαρξη του /dev/dsp αλλά στα νεώτερα Ubuntu το σύστημα ήχου ΔΕΝ είναι ίδιο, έτσι η απλή εκτέλεση των προγραμμάτων θα δώσει μήνυμα λάθους:

Κώδικας: Επιλογή όλων

[signalgen] ... /dev/dsp not found ...
Η λύση που προτείνεται είναι να εκτελέσετε τα προγράμματα μέσα από τον "ρυθμιστή συμβατότητας" padsp χρησιμοποιώντας "padsp signalgen ..." αντί "signalgen ...". Δεν χρειάζεται το "padsp" αν η έξοδος πάει σε αρχείο όπως επίσης σε παλαιότερες εκδόσεις Ubuntu ή άλλες διανομές linux που χρησιμοποιούν OSS.