Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
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


Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Larry Ellison guadagna 101 miliardi in u...
Johnson Controls amplia la gamma di solu...
NASA Perseverance: il rover potrebbe ave...
Quelli di Immuni si 'pappano' Vimeo: Ben...
Changan lancia la Deepal S05 in Europa, ...
Substrati in vetro, Intel smentisce le v...
ECOVACS DEEBOT T50 PRO OMNI Gen2 fa piaz...
Windelo 62: catamarano a vela che unisce...
Francia, in arrivo un incentivo di 1.000...
Haier, la sorpresa a IFA: la lavatrice C...
GeForce RTX 5000 SUPER in arrivo? Sembra...
Ionity prova una soluzione contro i ladr...
Pirateria, svolta clamorosa: Dazn e Lega...
Maxi richiamo Toyota e Lexus: oltre 900....
Blackwell Ultra: fino al 45% di prestazi...
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: 18:39.


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