Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
OPPO ha portato in Italia, dal 1° luglio 2026, Reno16 Pro: display AMOLED da 6,32 pollici a 144Hz, tripla fotocamera con sensore principale da 200 megapixel, chip Dimensity 8550 Super e batteria da 6000mAh, al prezzo di lancio di 899 euro. Lo abbiamo provato per due settimane insieme al nuovo accessorio Bubble, per capire se la formula compatta della serie regge ancora di fronte a un listino da 1099 euro
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
MiniLED di fascia media con local dimming a 192 zone, 144 Hz nativi e audio firmato Devialet. La prova strumentale riscontra colori affidabili e gaming reattivo, per un prodotto molto accessibile e convincente. Ma la soundbar aggiuntiva è quasi d'obbligo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-11-2007, 11:09   #1
TORAS73
Junior Member
 
Iscritto dal: Nov 2007
Messaggi: 11
[C++] DIALOGARE CON SCHEDA AUDIO RME

Salve a tutti,
sono nuovo di questo forum, e scrivo per chiedere lumi...!!!
Dovrei scrivere per ambiti universitari codice in [c++] che mi permetta di leggere a basso livello da una scheda di acquisizione Audio [RME] o meglio, dovrei dialogare con essa in ambiente Windows XP.
Poichè non so da dove iniziare chiedo se qualcuno mi possa indicare la strada da percorrere (Tipo: Librerie C++ da cercare, codice simile già implementato, esempi, ecc..).
Grazie.
TORAS73 è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2007, 11:14   #2
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da TORAS73 Guarda i messaggi
Salve a tutti,
sono nuovo di questo forum, e scrivo per chiedere lumi...!!!
Dovrei scrivere per ambiti universitari codice in [c++] che mi permetta di leggere a basso livello da una scheda di acquisizione Audio [RME] o meglio, dovrei dialogare con essa in ambiente Windows XP.
Poichè non so da dove iniziare chiedo se qualcuno mi possa indicare la strada da percorrere (Tipo: Librerie C++ da cercare, codice simile già implementato, esempi, ecc..).
Grazie.
Cosa intendi per basso livello?
Io per l'audio ho sempre usato RtAudio
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2007, 13:26   #3
TORAS73
Junior Member
 
Iscritto dal: Nov 2007
Messaggi: 11
A basso livello intendo che dovrei leggere lo stream in uscita di questa scheda (che magari sarà un formato tipo AES3) o cmq magari inizio ad interagire poi vediamo, ho letto pure che ci sono le (MSC) che dovrebbero supplire alle API ma, mai usate! Tu cosa mi consigli? Comunque grazie per la tua risposta immediata.
TORAS73 è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2007, 15:39   #4
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da TORAS73 Guarda i messaggi
A basso livello intendo che dovrei leggere lo stream in uscita di questa scheda (che magari sarà un formato tipo AES3) o cmq magari inizio ad interagire poi vediamo, ho letto pure che ci sono le (MSC) che dovrebbero supplire alle API ma, mai usate! Tu cosa mi consigli? Comunque grazie per la tua risposta immediata.
Ma ti interessano i dati audio o anche tutto quello che arriva con il protocollo AES?
Sinceramente non mi sono mai spinto così in basso, anche perchè quello è trattato dall'hardware e non so nemmeno se sia disponibile a livello software, oltretutto dovresti realizzare un parser del protocollo calcolare se il CRC è corretto ecc...
A me sono sempre bastati i campioni PCM in esso contenuti.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2007, 12:27   #5
TORAS73
Junior Member
 
Iscritto dal: Nov 2007
Messaggi: 11
INFATTI CREDO PROPRIO CHE SI DEBBA REALIZZARE UN PARSER, SAI DOVE POSSO TROVARE QUALCOSA DI REALIZZATO? O CMQ DGESTIONE AES3 E C++?
GRAZIE PER LE TUE RISPOSTE.
TORAS73 è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2007, 12:45   #6
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da TORAS73 Guarda i messaggi
INFATTI CREDO PROPRIO CHE SI DEBBA REALIZZARE UN PARSER, SAI DOVE POSSO TROVARE QUALCOSA DI REALIZZATO? O CMQ DGESTIONE AES3 E C++?
GRAZIE PER LE TUE RISPOSTE.
Scusa la curiosità a cosa ti serve parserizzare direttamente l'AES?
Conoscendo il protocollo non è difficile tirare fuori un parser, ma più che altro sarebbe da capire come far arrivare l'AES fino al software, anche perchè l'AES transita su un segnale a 6MHz, sperando bene che l'hardware ti tolga la codifica biphase mark devi sempre lavorare con un segnale a 3MHz per un contenuto a 44100Hz.

Ultima modifica di tomminno : 09-11-2007 alle 12:47.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 10:07   #7
TORAS73
Junior Member
 
Iscritto dal: Nov 2007
Messaggi: 11
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Scusa la curiosità a cosa ti serve parserizzare direttamente l'AES?
Conoscendo il protocollo non è difficile tirare fuori un parser, ma più che altro sarebbe da capire come far arrivare l'AES fino al software, anche perchè l'AES transita su un segnale a 6MHz, sperando bene che l'hardware ti tolga la codifica biphase mark devi sempre lavorare con un segnale a 3MHz per un contenuto a 44100Hz.
ALLORA, CREDO CHE IL PB SIA QUESTO:
IN USCITA ALLA SCHEDA AUDIO HO I DATI IN FORMATO AES3 (CHE SE NN SBAGLIO è QUELLO COMUNE DEI LETTORI CD) QUINDI è QUEL TIPO DI FORMATO CHE DEVO POI MANIPOLARE.INNANZI TUTTO L'INIZIO è INTERFACCIARMI CON LA SCHEDA (E CREDO CHE CON LE API CHE MI HAI SUGG DOVREI RIUSCIRE) POI VEDIAMO COME FARE. GRAZIE!
TORAS73 è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 10:25   #8
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da TORAS73 Guarda i messaggi
ALLORA, CREDO CHE IL PB SIA QUESTO:
IN USCITA ALLA SCHEDA AUDIO HO I DATI IN FORMATO AES3 (CHE SE NN SBAGLIO è QUELLO COMUNE DEI LETTORI CD) QUINDI è QUEL TIPO DI FORMATO CHE DEVO POI MANIPOLARE.INNANZI TUTTO L'INIZIO è INTERFACCIARMI CON LA SCHEDA (E CREDO CHE CON LE API CHE MI HAI SUGG DOVREI RIUSCIRE) POI VEDIAMO COME FARE. GRAZIE!
Dalla scheda audio ottieni i campioni PCM, non il protocollo AES, che è leggermente differente dall'SPDIF che esce dai lettori cd.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 12:11   #9
TORAS73
Junior Member
 
Iscritto dal: Nov 2007
Messaggi: 11
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Dalla scheda audio ottieni i campioni PCM, non il protocollo AES, che è leggermente differente dall'SPDIF che esce dai lettori cd.
OK, DA LI COME LI PRENDO?
TORAS73 è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 13:36   #10
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da TORAS73 Guarda i messaggi
OK, DA LI COME LI PRENDO?
Da lì dove?
I campioni PCM sono il contenuto musicale, organizzato in maniera interlacciata prima il canale sinistro e poi il destro esattamente come arrivano dall'esterno.
La libreria RtAudio, così come tutte le altre, ti restituisce un array di valori che rispecchia questa struttura. Poi sta a te usarli come meglio credi.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 16:10   #11
TORAS73
Junior Member
 
Iscritto dal: Nov 2007
Messaggi: 11
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Da lì dove?
I campioni PCM sono il contenuto musicale, organizzato in maniera interlacciata prima il canale sinistro e poi il destro esattamente come arrivano dall'esterno.
La libreria RtAudio, così come tutte le altre, ti restituisce un array di valori che rispecchia questa struttura. Poi sta a te usarli come meglio credi.
ok, ORA INIZIO A CAPIRE, GRAZIE. ORA METTO GIU' UN PO DI CODICE E POI TI FACCIO SAPERE, DI SICURO AVRO' BISOGNO DEI TUOI CONSIGLI, GRAZIE TANTE!
TORAS73 è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2007, 12:03   #12
groovediego
Junior Member
 
Iscritto dal: Dec 2006
Messaggi: 24
USO DELLE LIOB RTAUDIO

Ciao mi intrometto nella vostra discussione in quanto sono interessato anchio a fare una piccola applicazione di questo tipo e comunque premetto che con il c++ non sono un esperto ho incominciato da poco, per questo volevo chiedervi se gentilmente potete aiutarmi.
Ho scaricato la lib. rtaudio e subito ho provato a eseguire qualche riga di codice presentata nel sito ma non capisco perchè, il compilatore mi da sempre degli errori:

// probe.cpp

#include <iostream>
#include "RtAudio.h"

int main()
{
RtAudio audio;

// Determine the number of devices available
unsigned int devices = audio.getDeviceCount();

// Scan through devices for various capabilities
RtAudio:eviceInfo info;
for ( unsigned int i=1; i<=devices; i++ ) {

info = audio.getDeviceInfo( i );

if ( info.probed == true ) {
// Print, for example, the maximum number of output channels for each device
std::cout << "device = " << i;
std::cout << ": maximum output channels = " << info.outputChannels << "\n";
}
}

return 0;
}

ho eseguito lo script con devc++ e successivamento con visual studio c++
ma l'errore è sempre quello, eppure le librerie .h sono già incluse e il sorgente è originale.

[Linker error] undefined reference to `RtAudio::RtAudio(RtAudio::Api)'
[Linker error] undefined reference to `RtAudio::~RtAudio()'
[Linker error] undefined reference to `RtAudio::~RtAudio()'
ld returned 1 exit status
[Build Error] [Project1.exe] Error 1





1>------ Inizio generazione: Progetto: AUDIO, Configurazione: Debug Win32 ------
1>Compilazione in corso...
1>AUDIO.cpp
1>Collegamento in corso...
1>AUDIO.obj : error LNK2019: riferimento al simbolo esterno "public: __thiscall RtAudio::~RtAudio(void)" (??1RtAudio@@QAE@XZ) non risolto nella funzione _main
1>AUDIO.obj : error LNK2019: riferimento al simbolo esterno "public: __thiscall RtAudio::RtAudio(enum RtAudio::Api)" (??0RtAudio@@QAE@W4Api@0@@Z) non risolto nella funzione _main
1>D:\DIEGO\Visual Studio 2005\Projects\AUDIO\Debug\AUDIO.exe : fatal error LNK1120: 2 esterni non risolti
1>Il log di generazione è stato salvato in 'file://d:\DIEGO\Visual Studio 2005\Projects\AUDIO\AUDIO\Debug\BuildLog.htm'
1>AUDIO - 3 errore/i, 0 avviso/i
========== Generazione: 0 completate, 1 non riuscite, 0 aggiornate, 0 ignorate ==========


sapete di cosa sitratta ?
grazie
groovediego è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2007, 13:29   #13
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Sembrerebbe che non trovi l'header RTAudio.h, l'hai aggiunto al progetto?
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2007, 16:55   #14
groovediego
Junior Member
 
Iscritto dal: Dec 2006
Messaggi: 24
#include

Be si oltre che averlo incluso con la direttiva #include file.h l'ho aggiunto al progetto con le procedure di devc++ infatti ne posso visualizzare le classi e i metodi, ma in ogni caso non mi spiego perchè non funziona.
groovediego è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2007, 17:11   #15
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da groovediego Guarda i messaggi
Be si oltre che averlo incluso con la direttiva #include file.h l'ho aggiunto al progetto con le procedure di devc++ infatti ne posso visualizzare le classi e i metodi, ma in ogni caso non mi spiego perchè non funziona.
Scusa mi sono accorto ora di aver sbagliato a scrivere: manca RtAudio.cpp. Infatti legge la dichiarazione, ma poi il linker non trova il codice corrispondente.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2007, 17:31   #16
groovediego
Junior Member
 
Iscritto dal: Dec 2006
Messaggi: 24
in effetti ora riesco a compilarlo senza problemi grazie,
ma quindi quali file devo sempre caricare perchè funzioni tutto ?
groovediego è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2007, 20:00   #17
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da groovediego Guarda i messaggi
in effetti ora riesco a compilarlo senza problemi grazie,
ma quindi quali file devo sempre caricare perchè funzioni tutto ?
Tutti i file forniti con la libreria. Se non usi ASIO ne bastano 3: RtAudio.h RtAudio.cpp e RtError.h
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2007, 12:02   #18
groovediego
Junior Member
 
Iscritto dal: Dec 2006
Messaggi: 24
Sembra funzionare a parte un messaggio di errore
RtApiDummy: This class provides no functionality, che sto cercando di capire da dove deriva, comunque grazie.

A proposito di ASIO ho scaricato i sorgenti direttamente dal sito della steimber ma anche con esso non riesco a cominciare, avresti qualche piccolo esempio da passarmi.

Grazie.
groovediego è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2007, 11:10   #19
TORAS73
Junior Member
 
Iscritto dal: Nov 2007
Messaggi: 11
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Da lì dove?
I campioni PCM sono il contenuto musicale, organizzato in maniera interlacciata prima il canale sinistro e poi il destro esattamente come arrivano dall'esterno.
La libreria RtAudio, così come tutte le altre, ti restituisce un array di valori che rispecchia questa struttura. Poi sta a te usarli come meglio credi.
Ciao, rieccomi!
volevo chiederti come faccio a prendere questi valori e ad esempio organizzarmeli in qualche modo in un file di testo?
Grazie!
TORAS73 è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2007, 14:06   #20
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da TORAS73 Guarda i messaggi
Ciao, rieccomi!
volevo chiederti come faccio a prendere questi valori e ad esempio organizzarmeli in qualche modo in un file di testo?
Grazie!
Nella funzione callback il secondo parametro rappresenta il puntatore all'array dei dati letti. Devi castarlo opportunamente in base al tipo di dato con cui hai aperto lo stream. La dimensione del buffer è quella specificata dal parametro bufferFrames.
A questo punto con i dati ci fai quello che vuoi.
tomminno è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
Almeno 64 GB di RAM per giocare? Il caso...
Gemini si integrerà con le auto e potrà ...
Addio a OxygenOS di OnePlus e alla Realm...
Intel conferma l'aumento dei prezzi su C...
In vendita Withings BodyFit, molto più d...
Inkterface: Steam Machine ospita un pann...
Stare seduti oltre 30 minuti di fila aum...
A Milano l'Italia ha firmato la sovranit...
Cos'è PeerTube, la piattaforma di...
In 12 articoli TOP c'è il meglio ...
La pirateria è l'unica tutela per...
Roomba Plus 516 Combo in offerta a 479€:...
ASUS ROG Strix G16 con RTX 5070 Ti super...
Google ammette il problema: la corsa all...
MOVA LiDAX Ultra 800 è un robot tagliaer...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:18.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v