# fare grande linux!

## contigab

Ciao a tutti, sono un utente di Gentoo proprio come voi e sono molto appassionato di linux anche perche' mi diverto a programmare in c++.

Sono qui per chiedere a chiunque leggera' questo forum se ha tempo e voglia di aiutarmi in un mio progetto piuttosto ambizioso. 

Oltre che appassionato di programmazione, sono anche appassionato di musica. Devo pero' ammettere che sotto linux i programmi di editing musicale sono scadenti, malfunzionanti e comunque sono impossibili da usare per fare lavori "seri".

Io sto lavorando gia' da qualche tempo ad una nuova applicazione musicale. Al momento sto lavorando alla libreria che permettera', successivamente, di costruire interfacce per l'editing musicale senza eccessivi sforzi. Sarebbe molto bello per me trovare collaboratori per sviluppare questo software. Contattatemi se interessati, grazie!   :Smile: 

----------

## akiross

Ciao

Direi che la tua diea e' davvero utile. Anche io sono appassionato di Musica, e devo dire davvero che di belle applicazioni per l'editing non ce ne sono...

io so programmare in C++, e l'utilizzo dell'audio mi deve essere utile per il mio progetto: diventare sviluppatore di videogiochi.

Comunque, guardando un po in giro, ho trovato gia una libreria interessante

www.openal.org

come si vede dal nome, e' stata fatta son una sintassi simile alle opengl, e dato che io le conosco ho scelto apposta queste librerie.

Prova a darci un'occhio.

Se vuoi mettemi pure nel progetto, cerchero' di collaborare, anche se di pempo non ne ho a iosa, quindi andro' a periodi.

Ciao

----------

## m.mascherpa

a mio parere la tua idea è ottima ed utile.

purtroppo però non ho tempo di seguire un progetto serio

di programmazione al momento!  :Smile: 

in bocca al lupo e tienici informati!

----------

## brainnolo

Ne avrei veramente molto bisogno, se stai parlando sopratutto di un qualcosa simile a cubase (anche qualcosa tipo cooledit mi farebbe comodo). Ora, io conosco il C++, anche se in maniera non molto avanzata, e prediligo la OOP, rispetto alla programmazione generica o strutturata, se ti interessa sarei disposto a collaborare. (P.S: Spesso nei programmi uso le QT,  anche per cose non di interfaccia)

----------

## akiross

Bhe, comunque vada, credo che una applicazione in piu' in questo campo, che e' poco toccato dagli sviluppatori per linux, non possa fare che bene. Se e' fatta molto bene, tipo cool edit (ma ovviamente la complessita' e' elevata), puo' essere di grande aiuto.

Ma vogliamo discutere un po piu' in dettaglio le funzionalita' del programma?

Cosa fa? E' un po vago parlare di editing audio... un po crudo....

Certamente dovra' avere delle funzioni di filtro dai disturbi, e curiamo che siano fatte molto bene, perche' esistono quelli (tipo mio zio che e' un patito di queste cose) che in questo periodo portano tutte le belle canzoni dai dischi in vinile ai CD... senza un ottimo programma di filtraggio, sono persi.

Questo era solo un esempio... ma secondo voi cosa dovra' avere in piu'?

Ciao

----------

## contigab

Sono molto contento che cosi tante persone giudichino favorevolmente la mia idea e vi ringrazio tutti.

La libreria che sto scrivendo dovrebbe implementare gia' da sola gran parte delle funzionalita' presenti negli wave editor commerciali piu' comuni (vedi sound forge, wavelab ed altri). Ho gia' scritto le routine di caricamento / salvataggio che si basano su libsndfile e una classe di piu' alto livello che crea dei file temporanei e li mappa poi in memoria.

In seguito vorrei procedere con lo scrivere delle classi che facilitano la scrittura e l'uso di effetti audio. Ho gia' in programma la possibilita' di scrivere una interfaccia per gli effetti LADSPA, tuttavia preferirei orientarmi su di una interfaccia diversa, basata sugli oggetti. Ho inoltre in previsione la possibilita' di fare l'embedding di Perl e magari anche Python, per scrivere degli script proprio come avviene per gli effetti grafici di Gimp.

In seguito vorrei sviluppare un widget per il rendering delle tracce audio. Cio' puo' tornare utile per sviluppare, veramente con uno sforzo minimo, programmi di wave editing. Successivamente tuttavia vorrei concentrarmi sullo sviluppare un'applicazione il piu' possibile simile a Acid 4 della sonic foundry pero' con un approccio diverso riguardo all'uso dell'effettistica (poiche' acid usa solo effetti in serie) e con una consolle di mixaggio decisamente piu' usabile, oltre che al supporto per il midi. In proposito devo aggiungere che in passato ho gia' scritto una routine che e' riuscita a cambiare il pitch di un brano campionato senza alterarne la durata lavorando sulla trasformata di Fourier (gentilmente offerta da FFTW).

L'uso nel progetto delle funzioni dlopen & C. fornisce una notevole versatilita'. Al momento sto cercando di ripulire il codice da bug vari, specialmente da un'imprecisione che mi sta facendo impazzire.

Al momento infatti la libreria e' organizzata in moduli. Ogni modulo puo' usufruire di 2 tipi di interfacce: la interface (espone metodi per la lettura/scrittura) e la slot (e' possibile collegare una interface ad uno slot).

Lo slot presenta dei metodi per il controllo della riproduzione, la quale viene implementata su di un thread separato. Il problema e' che questi thread rischiano di andare in race condition se io attacco l'interface del blocco 1 ad uno slot del blocco 2 e poi ancora l'interface del blocco 2 allo slot del blocco 3 e poi faccio un play sia sul blocco 2 che sul blocco 3. Devo implementare un metodo di controllo per evitare di poter inviare un play a piu' blocchi collegati in questo modo!

Dopo che sara' disponibile un completo set di effetti audio per Linux, penso che lo sviluppo di software musicale subira' una accelerazione!

Spero di aver spiegato (almeno per sommi capi) cio' che intendo fare, aspetto vostri commenti e suggerimenti!  :Smile: 

----------

## akiross

ehmmm... a parte il fatto che il 10% di quello che dici mi e' sconosciuto, per quello che ho capito mi sebra buono il lavoro....

ma non hai intenzione di mettere funzioni per il filtraggio dei suoni?

e' un target molto desiderato...

ciao

----------

## contigab

sicuramente appena ho scritto línfrastruttura necessaria ho intenzione di implementare gli algoritmi di effetto. Sfortunatamente mi sto ancora dibattendo in problemi di architettura, per cui penso di essere ancora piuttosto indietro. 

Comunque cé del tempo, perche' sicuramente non prevedo di rilasciare niente prima che sia uscita la portaudio v19, poiche' la vecchia versione ha il supporto solo per oss, che di fatto e'gia'obsoleto.

Avrei comunque intenzione di pubblicare una pagina su internet da cui scaricare i sorgenti oppure di settare un cvs.. ancora non so. Comunque cosa ne pensate del nome "Laser" per questo progetto??   :Smile: 

Laser sta per Linux Audio System Realtime Efx...   :Cool: 

----------

## akiross

LASER...  C :Cool:  :Cool: L

----------

## akiross

Come va il progetto?

----------

## Luc@s

sarei interessato

----------

