Προς το περιεχόμενο

Επιλογή γλώσσας για Interface με Digital Signal Processing


Sadako

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα..

 

Μέρος της διπλωματικής μου, απαιτεί τη δημιουργία μιας εφαρμογής, που (απο ότι κατέληξα στην έρευνα που έκανα ως τώρα), έχει να κάνει με digital signal processing. Αυτό που θέλω να κάνει σε πρώτη φάση, είναι να παίρνει audio απο μικρόφωνο, και να το επιστρέφει σε real-time απο τα ηχεία με κάποιο ελάχιστο delay κάποιων ms, ή/και με ελαφρώς αλλαγμένη frequency. Αυτά τα 2, θέλω να γίνονται μέσω κάποιου control στο interface.. Κάποια visual representation, δηλαδή waveform του ήχου δεν είναι 100% απαραίτητη σε αυτό το στάδιο που είμαι τώρα, αλλά πιθανόν να βοηθήσει σε κάποιο απο τα πιθανά επόμενα βήματα.

 

Το θέμα τώρα είναι το εξής. Πρέπει να επιλέξω την γλώσσα που θα τα κάνω όλα αυτά, αφού δεν θεωρούμαι σε καμία περίπτωση έμπειρος προγραμματιστής. Στο πρώτο εξάμηνο κάναμε java, μπορώ να πω ότι μου άρεσε αρκετά, στο 2ο κάναμε C++, την οποία (λόγω καθηγητή κυρίως), δεν την πολυχώνεψα.. Αυτό όμως που πιστεύω ότι θα πρέπει να παίξει κυρίαρχο ρόλο στην απόφαση μου, είναι το ποια γλώσσα είναι η πιο κατάλληλη, απο άποψη memory usage κλπ. Μάλλον θα προτιμούσα να δουλέψω σε java (μπορώ να "κολλήσω" και σαν επιχείρημα το πλεονέκτημα του portability της java σε διαφορετικά συστήματα λόγω virtual machine), αλλά αν είναι σημαντικοί οι λόγοι που να με οδηγούν στην C++, πιστεύω θα εκτιμηθεί περισσότερο, κι ας μην καταφέρω να κάνω (μέσα στον 1μιση μήνα που έχω) το πρόγραμμα fully functional.

Δε μπορώ να αποκλείσω και την χρήση κάποιας άλλης γλώσσας, αν και δεν ξέρω αν τα στενά χρονικά περιθώρια μου το επιτρέπουν..

 

Αν μαζί με όλα αυτά, μπορεί κάποιος να μου προτείνει και κάποιο συγκεκριμένο site/turorial/book/e-book, θα είμαι κάτι παραπάνω απο ευγνώμων..

Δημοσ.

Νομίζω ότι καλό είναι να μείνεις στην c++ γιατί μπορείς να βρείς αρκετό υλικό. Για αρχή κοίταξε εδώ http://www.relisoft.com/freeware/index.htm τον Frequency Analyzer και τα σχετικά tutorial για τον FFT και το sound sampling. Μπορείς να εκμεταλευτείς και το μικρό framework που έχει φτιάξει για windows, controls κ.λ.π. χωρίς να χρειαστεί να καταφύγεις σε πιο εύκολες γλώσσες για το user interface

Δημοσ.

Δεν ξέρω όμως κατα πόσο μπορώ να χρησιμοποιήσω framework που έχει δημιουργήσει κάποιος άλλος...

Δημοσ.
Δεν ξέρω όμως κατα πόσο μπορώ να χρησιμοποιήσω framework που έχει δημιουργήσει κάποιος άλλος...

 

Διάβασε τους όρους χρήσης από εδώ http://www.relisoft.com/Freeware/freq.html (θα βρείς και μερικά ακόμα πράγματα που μπορεί να σε ενδιαφέρουν)

 

Στο κάτω κάτω δεν είναι παρά κλάσεις περιβλήματα για τα βασικά στοιχεία των windows. Για 3-4 που θα χρειαστείς (δεν είναι ανάγκη να γίνουν όλα με κλάσεις), μπορείς να πάρεις μια ιδέα και να φτιάξεις τα δικά σου αντικείμενα, αν θέλεις ο κώδικας να είναι εξ ολοκλήρου δικός σου

Δημοσ.

Ναι οκ, δεν εννοούσα μόνο απο την πλευρά του developer, αλλά και απο την πλευρά του πανεπιστημίου, μη θεωρηθεί plagiarism. Θα του ρίξω πάντως μια ματιά, ευχαριστώ...

Δημοσ.

Με C# έχω ακόμα μικρότερη εμπειρία απο ότι C++, ασχοληθήκαμε λίγο σε ένα μάθημα, αλλά ήταν μέσα απο ένα project στο οποίο χρησιμοποιούσαμε XNA, που απο τη μία σε μπέρδευε περισσότερο, γιατί ακόμα και tutorials κλπ που διάβαζες, δεν ήσουν σίγουρος ποιο ήταν feature C# και ποιο του αποκλειστικά του XNA.. Ειδικά όταν είσαι και καινούργιος στον προγραμματισμό...

Δημοσ.
Ναι οκ, δεν εννοούσα μόνο απο την πλευρά του developer, αλλά και απο την πλευρά του πανεπιστημίου, μη θεωρηθεί plagiarism. Θα του ρίξω πάντως μια ματιά, ευχαριστώ...

 

Μιλάμε για πράγματα που γλώσσες υψηλότερου επιπέδου τα υποστηρίζουν εγγενώς. Πρέπει να είναι ηλίθιοι για να μην σε αφήσουν να κάνεις το ίδιο με μια free library στην c++

Δημοσ.

Στην ανέφερα γιατί σε μερικά (σε ΠΟΛΛΑ) πράγματα στην c++ θα πρέπει

να "ανακαλύψεις τον τροχό" εν αντιθέσει με την c# όπου το framework

έχει ήδη "απαντήσει" για σένα κάποια βασικά...

 

Από κει και πέρα - και λόγω περιορισμένου χρόνου όπως είπες - το καλύτερο

είναι να επιλέξεις αυτήν με την οποία αισθάνεσαι πιο "δυνατός"...

 

Hint: When Speed is an issue...Java goes down the drain (my opinion of course)

 

;)

Δημοσ.
Στην ανέφερα γιατί σε μερικά (σε ΠΟΛΛΑ) πράγματα στην c++ θα πρέπει

να "ανακαλύψεις τον τροχό" εν αντιθέσει με την c# όπου το framework

έχει ήδη "απαντήσει" για σένα κάποια βασικά...

 

Από κει και πέρα - και λόγω περιορισμένου χρόνου όπως είπες - το καλύτερο

είναι να επιλέξεις αυτήν με την οποία αισθάνεσαι πιο "δυνατός"...

 

Hint: When Speed is an issue...Java goes down the drain (my opinion of course)

 

;)

 

Ρε παιδιά, για διπλωματική μιλάει ο άνθρωπος. Ο "τροχός" είναι το ζητούμενο. Αλλιώς να βάλει και το DirectSound και σε ένα απόγευμα, έτοιμη η διπλωματική.

Δημοσ.

> είναι να παίρνει audio απο μικρόφωνο, και να το επιστρέφει σε real-time απο τα ηχεία με κάποιο ελάχιστο delay κάποιων ms, ή/και με ελαφρώς αλλαγμένη frequency.

 

Ξέχνα φορητότητα κτλ. Θα χρειαστείς οπωσδήποτε DirectSound, ή κάποια library που από "κάτω" της να έχει DirectSound.

Ένας φίλος μου γιατρός ήθελε να κάνει κάτι παρόμοιο για διδακτορικό και του πρότεινα C#. Τον παίδεψε λίγο γιατί τα πράγματα που χρειαζόταν τα υποστήριξαν στην 2η έκδοση του .NET framework, αλλά εν τέλει τα κατάφερε μια χαρά.

Χωρίς library το DirectSound σε C++ θα σου φανεί πολύ δυσκολότερο από ότι σε C#/.NET.

Δημοσ.
Ρε παιδιά, για διπλωματική μιλάει ο άνθρωπος. Ο "τροχός" είναι το ζητούμενο. Αλλιώς να βάλει και το DirectSound και σε ένα απόγευμα, έτοιμη η διπλωματική.

 

Αυτό είναι εν μέρη σωστό. Γιατί απο την άλλη (όπως μου είπε και ο supervisor), δεν έχουν και τρελές απαιτήσεις. Φυσιολογικό είναι εξάλλου, απο τη στιγμή που πρόκειται για course που δεν έχει προαπαιτούμενες γνώσεις H/Y.. Σίγουρα όσο πιο "κονσερβοποιημένο" πρόγραμμα παραδώσω τόσο πιο χαμηλό βαθμό θα πάρω (δεν ξέρω αν σε ακραίες περιπτώσεις τεθεί και θέμα plagiarism), αλλά δεν είναι 100% απαραίτητο να τα κάνω όλα απο το lowest level.. Εξάλλου το θέμα μου έτσι όπως το ξεκίνησα, ήθελε και αρκετή έρευνα ώσπου να καταλήξω το τι ακριβώς θα βάλω στο πρόγραμμα μου.. Δεν είναι δλδ 100% κατασκευαστικό..

 

Δηλαδή η C# είναι πιο "βολική" απο την C++ ??

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...