View Full Version : programma MIDI/sequencer
trallallero
03-04-2008, 12:33
Sto finendo un progetto che gestisce la comunicazione tra dei docenti
e degli allievi militari che stanno dentro dei carri armati.
Adesso è uscito il problema della registrazione/playback delle conversazioni
e mi hanno chiesto un parere sapendo che ho esperienza in ambito audio
(mi hanno preso anche per quello :D)
Visto che dobbiamo registrare dei file audio ma anche degli eventi come
per esempio la pressione del pulsante PTT (Push To Talk) delle varie radio,
io ho suggerito l'uso del MIDI/sequencer.
Adesso però non so bene come poter gestire la cosa perchè, si, ho esperienza
in MIDI e informatica, ma separate: non ho mai programmato per l'audio.
Ed immagino non sia facile visto che c'è in ballo la sincronizzazione di
un file audio con eventi MIDI ...
Esiste forse qualche opensource ?
Accetto qualsiasi consiglio in materia, grazie
PS: usiamo Linux Ubuntu && Windows XP
PPS: forse è più indicata la sezione "Programmazione" ?
eleonora390
03-04-2008, 12:44
Se intendi programmi,posso consigliarti Cubase.
trallallero
03-04-2008, 12:54
Se intendi programmi,posso consigliarti Cubase.
beh si, lo conosco grazie. Uso anche Cakewalk e Rosegarden (Linux)
In effetti non ho spiegato bene: devo registrare audio ed eventi MIDI tramite un programma mio, via software.
Quindi mi piacerebbe sapere se esiste qualche API opensource o altra diavoleria
che mi permetta di farlo senza ... perdere i capelli :D
ows XP
PPS: forse è più indicata la sezione "Programmazione" ?
Decisamente :D
trallallero
03-04-2008, 13:07
Decisamente :D
ok, chiederò di farla spostare, grazie ;)
trallallero
03-04-2008, 13:24
Decisamente :D
vabbè, i moderatori dormono :D
se intanto sai qualcosa sputa l'osso, please
vabbè, i moderatori dormono :D
Tra il tuo PVT e lo spostamento sono passati 53 minuti. Mi sembra un'affermazione esagerata :D
trallallero
03-04-2008, 14:07
Tra il tuo PVT e lo spostamento sono passati 53 minuti. Mi sembra un'affermazione esagerata :D
buongiorno!!! ora del caffè ? :Prrr:
In sostanza vuoi scrivere un file midi ? Oppure farne il playback ?
trallallero
03-04-2008, 15:41
In sostanza vuoi scrivere un file midi ? Oppure farne il playback ?
non so se sai come funziona un sequencer tipo Cubase:
hai una (o più) traccie wav e una (o più) tracce MIDI che puoi registrare od ascoltare
contemporaneamente.
Poi le puoi editare, quantizzare, comprimere etc etc ...
io avrei bisogno di poter fare tutto ciò (tranne editare) via software.
Devo registrare le conversazioni dei militari e gli eventi dei loro PTT (valori: Id, On/Off)
in qualche modo, magari in un file che mi permetta poi di poter riprodurre il tutto.
Se usassi un sequencer sarebbe una scemenza, ma lo devo fare via software, questo è il problema.
Non ho capito quali dati hai a disposizione...vari file wav ?
trallallero
03-04-2008, 15:57
Non ho capito quali dati hai a disposizione...vari file wav ?
no, ho l'input delle conversazioni (microfoni) che verranno registrate come wav e gli eventi dei PTT
Quindi il midi di fatto non c'entra niente...almeno che io sappia.
Dovresti fare una specie di mixing di sorgenti WAV ?
trallallero
03-04-2008, 16:20
Quindi il midi di fatto non c'entra niente...almeno che io sappia.
Dovresti fare una specie di mixing di sorgenti WAV ?
no infatti il MIDI non c'entra niente, sarebbe solo la mia soluzione e volevo sapere se è fattibile.
In pratica dovremmo registrare dei wav inserendo delle informazioni aggiuntive, per esempio: PTT con Id <n> ON, PTT con Id <n> OFF.
Con la mia soluzione il PTT potrebbe benissimo essere un ctrl change predefinito (quì servono competenze MIDI per capire)
Il PTT di solito sta per: scelgo comunicazione diretta (full duplex) o scelgo comunicazione via radio (half duplex) oppure spengo.
L'alternativa è creare più file, uno per il full ed uno per l'half ed inserire silenzi quando viene cambiato premuto il PTT e scelto un altro tipo. In questo caso io non devo fare niente.
Mi sa che sto chiedendo troppo o forse dovrei chiedere in qualche forum più specifico
Se il tuo scopo è quindi registrare e fare il playback di queste sessioni audio con le informazioni aggiuntive, perché semplicemente non salvi gli spezzoni audio come file separati ed file principale che contiene i riferimenti allo stato di questi PTT ed il timestamp in cui deve essere attivato il playback degli spezzoni audio.
trallallero
03-04-2008, 16:31
Se il tuo scopo è quindi registrare e fare il playback di queste sessioni audio con le informazioni aggiuntive, perché semplicemente non salvi gli spezzoni audio come file separati ed file principale che contiene i riferimenti allo stato di questi PTT ed il timestamp in cui deve essere attivato il playback degli spezzoni audio.
hai descritto esattamente ciò che fa un sequencer :D
ma torniamo a bomba ... come le registro queste info ?
PS: poi magari farà tutto qualcun altro perchè è ancora da disegnare, ma più info
riesco ad avere prima che si decida e meglio è
se vuoi qualcosa di abbastanza professionale prova ardour
ti anche il server audio jack
potresti provare ubuntu studio per avere la pappa pronta.. o forse non ho capito nulla di quello che hai bisogno? :fagiano:
Quindi, se ho capito bene tu alla pressione di un tasto da parte del "carrista" devi aggiungere un suono sopra la voce, tipo "passo, BEEP!"...
Se è così dovresti provare semplicemente a mixare la traccia del microfono alla traccia audio dell'effetto sonoro, presa da un file wav.
Quando si preme il tasto parte l'esecuzione dell'effetto, che si mixa alla voce.
Non credo ci sia bisogno di tirare in ballo i midi...
Io consiglierei OpenAL per farlo ma non so su che piattaforma lo devi eseguire, forse fai meglio a fare tutto a mano data la specificità.
trallallero
04-04-2008, 08:23
No no, ne ubuntu studio ne aggiungere suoni, devo fare un'altra cosa, non avrei scritto sulla sezione "Programmazione" altrimenti
Evidentemente o sono veramente un incapace a spiegare o sto chiedendo troppo.
Vabbe, grazie a tutti lo stesso :)
hai descritto esattamente ciò che fa un sequencer :D
ma torniamo a bomba ... come le registro queste info ?
PS: poi magari farà tutto qualcun altro perchè è ancora da disegnare, ma più info
riesco ad avere prima che si decida e meglio è
Appunto, ma con il formato midi non c'entra assolutamente niente perché non ti puoi permettere di definire un soundfont per ogni spezzone di conversazione.
In un midi i font vengono modulati, qui non devono essere modulati.
Fai un formato proprietario e via, magari al limite dai la possibilità di produrre un wav o un mp3 di output con il risultate delle comunicazioni.
Imho ti basta solo una libreria per produrre i wav e poi non ti serve altro.
trallallero
04-04-2008, 10:07
Appunto, ma con il formato midi non c'entra assolutamente niente perché non ti puoi permettere di definire un soundfont per ogni spezzone di conversazione.
In un midi i font vengono modulati, qui non devono essere modulati.
Fai un formato proprietario e via, magari al limite dai la possibilità di produrre un wav o un mp3 di output con il risultate delle comunicazioni.
Imho ti basta solo una libreria per produrre i wav e poi non ti serve altro.
aspè che forse non ti seguo ...
tu dici in pratica di fare un file "guida" con le informazioni relative agli start (timestamp) dei vari file wav ... o sbaglio ?
In effetti ieri ho parlato e ho capito che a noi in realtà non serve l'informazione del PTT ma solo sapere che, per esempio, in quel dato timestamp il pilota del carro armato ha switchato alla comunicazione via radio.
Il problema comunque, in caso di più file, è la sincronizzazione, calcola che ogni esercitazione dura circa 4 ore.
E mi sa che stiamo uscendo dal mondo "Programmazione" :stordita:
che facciamo, rispostiamo il 3d ? :asd:
Sì, anche prima mi riferivo a questo. Che problema c'è con la sincronizzazione ? Tu sai quando deve partire il file. Hai un timer che corre, a quel dato timestamp fai partire la riproduzione di quel dato spezzone audio. Non vedo quale problema ci possa essere.
Ti precarichi in memoria il file wav a partire da qualche secondo prima della riproduzione e via.
Se poi ne fai una questione di dimensioni, non ci sono certo alternative, a meno di una compressione in mp3.
Non vedo perché si esca dalla programmazione ;)
trallallero
04-04-2008, 10:31
Sì, anche prima mi riferivo a questo. Che problema c'è con la sincronizzazione ? Tu sai quando deve partire il file. Hai un timer che corre, a quel dato timestamp fai partire la riproduzione di quel dato spezzone audio. Non vedo quale problema ci possa essere.
Ti precarichi in memoria il file wav a partire da qualche secondo prima della riproduzione e via.
Se poi ne fai una questione di dimensioni, non ci sono certo alternative, a meno di una compressione in mp3.
uhm ... sulla sincronizzazione avrei qualche dubbio
Se i file sono corti non ci dovrebbero essere problemi,
ma se cominciano a durare qualche minuto o più non è certo garantita.
I sequencer hanno opzioni per il clock di sincronizzazione mica a caso
Per le dimensioni non c'è problema
Non vedo perché si esca dalla programmazione ;)
beh, stiamo parlando solo di registrazione audio ormai, niente via software.
Anche se in effetti mi servirà qualche libreria per fare il tutto.
Beh, grazie, mi sa che per adesso ne so abbastanza
(a meno che tu non sappia anche - e non mi stupirei tanto :D - qualcosa sulla sincronizzazione)
Appena verrà deciso il modo, e se sarò coinvolto, riapro il 3d.
Questa cosa dei file grossi in effetti andrebbe valutata...dici che ci siano grosse differenze fra il tempo misurato dal file audio ed il tempo reale che scorre ? Io non ne sarei così certo sinceramente. In ogni caso il tuo timer viaggia in maniera indipendente dalla durata del file audio.
trallallero
04-04-2008, 10:53
Questa cosa dei file grossi in effetti andrebbe valutata...dici che ci siano grosse differenze fra il tempo misurato dal file audio ed il tempo reale che scorre ? Io non ne sarei così certo sinceramente. In ogni caso il tuo timer viaggia in maniera indipendente dalla durata del file audio.
Da quello che mi ricordo (è da anni che non uso sequencer per audio, ormai lo uso
solo per farmi le basi MIDI per suonarci sopra e tenermi allenato con la el guitar)
Il fatto che il wav sia digitale non garantisce una perfetta temporizzazione (si può dire ?).
Cioè, se fai partire 2 file wav nel medesimo istante, non è detto che siano sincronizzati.
Infatti i sequencer si appoggiano a clock interni o esterni per sincronizzare.
E non ho la minima idea di come poterlo fare via software, mi sa che devo
dare una sbirciatina a qualche opensource su sourceforge :fiufiu:
Sì, ma se si tratta di un incertezza di paio di decimi di secondo secondo me ti potrebbe anche non importare niente ;)
trallallero
04-04-2008, 11:43
Sì, ma se si tratta di un incertezza di paio di decimi di secondo secondo me ti potrebbe anche non importare niente ;)
dici ? un paio quà, un paio là, in 4 ore diventa un macello :D
No ma te lo fai partire con il tempo della traccia principale, quindi l'errore non si somma...
Cmq non avevo affatto capito che questo dovevi farlo su un file DOPO che avevi registrato tutto.
Pensavo fosse da fare in tempo reale :D
dici ? un paio quà, un paio là, in 4 ore diventa un macello :D
Come dice Tommo, non si somma, perché ti temporizzi con l'orologio di sistema ogni volta che fai partire un nuovo spezzone.
trallallero
04-04-2008, 15:27
No ma te lo fai partire con il tempo della traccia principale, quindi l'errore non si somma...
Cmq non avevo affatto capito che questo dovevi farlo su un file DOPO che avevi registrato tutto.
Pensavo fosse da fare in tempo reale :D
Come dice Tommo, non si somma, perché ti temporizzi con l'orologio di sistema ogni volta che fai partire un nuovo spezzone.
Si, questo in effetti è vero. C'é allora solo da sperare che i file siano tanti e corti ...
Grazie di nuovo, farò sapere come va a finire.
PS: Adesso come adesso non saprei da dove iniziare quindi, se sarò coinvolto,
sicuramente riapro il 3d ;)
trallallero
15-05-2008, 16:28
bene, arieccomi ...
sono stato a Münich per testare il bestio che ho creato ed ha funzionato alla prima :yeah:
in pratica sono andato con un paio di colleghi in una fattoria in campagna fuori Monaco ...
la società l'ha affittata e ci ha messo dentro tutto il set per testare il sistema di addestramento dei militari.
Entrare in una fattoria e trovarci tutto 'sto ben di Dio tecnologico/militare è stato emozionante :D
e ieri è riuscito il discorso record/playback, mi han detto pensaci un pò tu
(forse perchè han visto che non sono poi così malaccio :O)
Imho ti basta solo una libreria per produrre i wav e poi non ti serve altro.
ecco, sai anche dirmi quale, per caso ? :stordita:
cionci ... ho visto adesso la firma .... "Lontano dal forum per qualche mese"
:help:
si può chiudere la sezione "Programmazione" senza cionci :O
trallallero
22-05-2008, 15:01
allora, non so se c'è qualcuno che sa come fare ma ci provo ...
per gli eventi non audio ho risolto, creo un unico file con eventi che avranno vari dati,
tipo timestamp, id, valore etc.
Poi un processo leggerà questi dati ed invierà l'evento al momento (timestamp) giusto.
Spiegato da cani ma non ho molto tempo :stordita:
Adesso il nostro unico problema è questo:
sincronizzare 17 files wav da 4 ore.
In pratica dobbiamo registrare continuamente, senza interruzioni, 17 clienti per 4 ore.
Poi dovrà ovviamente essere possibile riascoltare il tutto accendendo o spegnendo le tracks.
Come si sincronizzano via software ?
PS: so cos'è l'SMPTE, MMC, MTC, fps, etc etc, ma un conto è averli usati in uno studio di registrazione, un conto nel software
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.