Musica con il codice c/c++

di il
24 risposte

Musica con il codice c/c++


Salve a tutti, eccomi ancora una volta ad assillarvi;

Qualcuno sa se si può creare un file musicale, ad esempio la nota DO,
con il linguaggio c o c++?
Grazie mille!

PS - non fate i timidi dite pure quello che sapete.

24 Risposte

  • Re: Musica con il codice c/c++

    Più che altro il linguaggio non ha nulla a che fare con un file musicale.

    Se vuoi scrivere un programma che emetta un suono equivalente al do, devi usare delle librerie apposite per il sistema e l'hardware di cui disponi oltre che del sistema operativo usato.

    In pratica il linguaggio viene all'ultimo ...
  • Re: Musica con il codice c/c++

    oregon ha scritto:


    Più che altro il linguaggio non ha nulla a che fare con un file musicale.

    Se vuoi scrivere un programma che emetta un suono equivalente al do, devi usare delle librerie apposite per il sistema e l'hardware di cui disponi oltre che del sistema operativo usato.

    In pratica il linguaggio viene all'ultimo ...

    E' certo che senza l'hardware non funziona nulla, ma dato che anche il mio pc può suonare file musicali i quali non sono altro che file binari.
    Conoscete il modo di creare un file binario ... tipo .ogg .mp4 o altro con i codici c/c++?
  • Re: Musica con il codice c/c++

    Se devi creare file di tipo audio devi rispettare le specifiche del formato in questione.

    Queste specifiche sono sempre complesse ed è praticamente necessario utilizzare librerie apposite.
  • Re: Musica con il codice c/c++


    E' proprio questo che chiedevo:
    Conoscete librerie apposite per c/c++ per creare file binari sonori?
  • Re: Musica con il codice c/c++

    Non chiedevi proprio questo ... non parlavi di librerie ma di linguaggio C++ ...

    Per le librerie, dipende dal formato (non si può parlare di un qualsiasi formato). Ad esempio per MP3 c'è lame ... se fai una ricerca mirata con google trovi sicuramente mille mila informazioni.
  • Re: Musica con il codice c/c++


    Avevi ragione Ser Oregon.
    Io non cerco qualcosa come Lame:
    Cerco dei codici in c/c++ per creare file binari in formato (waw, mp3, o qualunque altra cosa) *











    * Librerie incluse, ovviamente.
  • Re: Musica con il codice c/c++

    Cioè cerchi anche i sorgenti delle librerie?
  • Re: Musica con il codice c/c++


    Quello che cerco te lo spiego con un esempio:

    if ( se voglio fare un programma che calcoli le potenze && le radici quadrate )
    allora; ho bisogno della libreria math, e di conoscere i codici c/c++ per usarla.

    Ovvero cerco:
    I codici per creare dei file audio (o frequenze ) che ovviamente saranno gestiti da librerie specifiche per l'audio come per le librerie di grafica (gtk).


    OK?
  • Re: Musica con il codice c/c++

    No, non ok ... per niente.

    Non si capisce cosa cerchi e probabilmente non lo sai neanche tu ... (confondi "file audio" con "frequenze") ...

    I file audio hanno un formato specifico, a seconda del tipo. Sai cosa è un "formato di file" prima di tutto?

    Di quale formato specifico parliamo, cosa ti serve fare esattamente? Perché non chiarisci i dettagli?

    E infine, da dove dovrebbero arrivare i "campioni audio" da inserire nel file?

    Qualche esempio "di partenza" per trattare, ad esempio, i file .wav

    http://www.codeguru.com/cpp/g-m/multimedia/audio/article.php/c4739/CWaveFile--a-Class-for-Working-with-and-Representing-Data-from-WAVEs.htm

  • Re: Musica con il codice c/c++


    1 - Qualunque file è un file binario:
    2 - I codici di programmazione; come questo -> printf(" "); viene sempre tradotto in codice "macchina": 000111 - 0101001 ecc, ecc.

    3 - Un file suonabile è anch'esso un file binario o NO?
    sia che sia una mono frequenza sia che sia una canzone di Shakira.

    4- Se io registro la mia voce con il pc, essa viene percepita dal microfono e attraverso varie fasi tradotta in impulsi elettrici. Questi impulsi elettrici, per mezzo della testina d'incisione, allinea i "magneti elementari" del disco su cui si registra la voce, e questo fenomeno fisico di registrare su disco è uguale per tutto quello che può essere registrato. E' tutti questi dati che io intendo come file binari. Ma forse con il c non si può fare, per questo non riesci ancora a capire.
    O forse non lo sai...
  • Re: Musica con il codice c/c++

    ant1965 ha scritto:


    Ma forse con il c non si può fare, per questo non riesci ancora a capire.
    O forse non lo sai...
    Guarda ... a me le "lezioncine" di elettronica e informatica da primo giorno di scuola non interessano (soprattutto dopo decenni di insegnamento e di lavoro nel campo).

    Ti ho suggerito cosa dovresti indicare, cercare, sapere (soprattutto sui formati di file audio).

    Tu non sai di cosa parli, quindi lasciamo perdere. Buona fortuna
  • Re: Musica con il codice c/c++

    Scusa ant1965, ma dalla spiegazione che hai dato si evince che non hai minimamente chiaro in che cosa consiste un file audio (o video, o anche un'immagine, perche' i concetti sono gli stessi).

    1) ni, piu' no che si. Nella terminologia della computer science, se vuoi dell'informatica, non tutti i file sono binari. Un file di testo, un file ASCII, un XML, ecc, non sono indicati come file binari. Un file binario e' un file che contiene dati nel formato binario, dove per dati si intende numeri interi/con la virgola.

    2) ni: non necessariamente. Tu stai parlando di un linguaggio di programmazione compilato, ma non e' l'unica possibile soluzione. Esistono i linguaggi interpretati e quelli basati su virtual machine.

    3) ni: non necessariamente. Anche un file XML, quindi non binario, puo' essere suonato, nel momento in cui il suo contenuto sono le note con i relativi tempi, intonazioni ecc



    4) direi proprio di no:

    - tu parli
    - il microfono riceve a voce
    - un convertitore analogic digitale converte il suono in una sequenza di numeri generalmente a 16 bit, ma potrebbero essere anche 24 o 32 per gli audio ad alta qualita. Si chiama campinamento ed avviene alla velocita' di 44200 campioni al secondo, per poter assicurare la ricostruzione fedele di tutte le frequenze da 0 a 22100 Hz. Ma ci sono anche dei casi in cui il campinamento viene fatto a 48000 capioni al secondo, per poter gestire grequenze fino a 24.KHz.



    a questo punto, questo flusso di dati (uno se in mono, due se in stereo), viene compresso secondo diverse tecniche di compressione a perdita di informazione ed inserito come stream all'interno di un file.

    Tale file contiene diversi stream: uno o due per le tracce audio, ma anche almeno un'altro per i metadati (titlo del brano, durata, ...). e magari un'altro per l'immagine della copertina.
    E magari nello stesso file ci possono esser piu' brani, ...

    Il tipo di compressione usata, il numero di stream, la struttura di ogni stream, ed un'infinita' di altre informazioni (ad esempio le temporizzazioni per potre spostarsi in un punto qualunque del brano musicale) fanno parte di quello che vien definito il formato audio del file.

    Di formati audio ce ne sono a bizzeffe:

    http://it.wikipedia.org/wiki/Lista_di_formati_di_file#File_audio

    E questo solo come informazioni di massima, visto che non mi sono mai interessato all'argomento ...

    Quindi il e' inopportuno ...

    Direi che di cose da studiare ne hai un bel po'

    Comunque, per ogn'uno dei formati indicati, esistono delle librerie in C che ti aiutano a crearli, gestirli, registrare ed eseguire.

    Con un po' di pazienza si trova tutto.
  • Re: Musica con il codice c/c++

    migliorabile ha scritto:


    Direi che di cose da studiare ne hai un bel po'
    Oltre al corretto comportamento in un forum ...
  • Re: Musica con il codice c/c++

    Su, su ... abbiamo pure l'etichetta Saggio
Devi accedere o registrarti per scrivere nel forum
24 risposte