Forum
>>
Programmazione Python
>>
Files e Directory
>>
Stream audio salva valori su file
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da alessandro87gatto |
2019-03-12 12:49:46 - Stream audio salva valori su file
|
Ciao Ragazzi,
essendo il mio primo messaggio. Sono Alessandro. Dedico il mio tempo libero al mondo dell'informatica. Non mi viene facile programmare in Python e lo sto studiando, ho trovato una guida per acquisire l'audio da microfono e salvarlo su file Adesso vorrei salvare il risultato del mio stream su file in modo da confrontare suoni che presentano lo stesso stream. Il codice attuale è: # Registrazione audio mediante microfono usb con salvataggio su file ".wav" # Importazione librerie import pyaudio import wave import string # Definizione del segnale sonoro form_1 = pyaudio.paInt16 # risoluzione segnale sonoro in bit (16 bit) chans = 1 # 1 canale samp_rate = 44100 # 44.1kHz frequenza di campionamento chunk = 4096 # 2^12 campioni analisi record_secs = 1 # durata registrazione in secondi dev_index = 2 # indice del dispositivo wav_output_filename = 'test.wav' # nome del file con estensione “.wav” # Creazione istanza pyaudio audio = pyaudio.PyAudio() # Creazione stream pyaudio stream = audio.open(format = form_1, rate = samp_rate, channels = chans, \ input_device_index = dev_index, input = True, \ frames_per_buffer=chunk) # rate=frequenza campionamento # channels=numero di canali # input_device_index=indice del dispositivo di input da utilizzare # input=specifica se si tratta di un flusso di input # frames_per_buffer=specifica il numero di fotogrammi # Se siamo arrivati qui vuol dire che è iniziata la registrazione print("recording") frames = [] # ciclo sul flusso e aggiunti i blocchi audio all’array # range() genera una lista di numeri, che viene generalmente utilizzata per iterae con cicli for. for ii in range(0,int((samp_rate/chunk)*record_secs)): # se record_secs=10 - (44100/4096)*10=107,66 data = stream.read(chunk) frames.append(data) print("finished recording") # blocco flusso di acquisizione, chiusura e completamento istanza PyAudio stream.stop_stream() stream.close() audio.terminate() # salvataggio del frame audio con estensione .wav wavefile = wave.open(wav_output_filename,'wb') # salvataggio su file in modalità sovrascrittura/creazione se non esiste wavefile.setnchannels(chans) wavefile.setsampwidth(audio.get_sample_size(form_1)) wavefile.setframerate(samp_rate) wavefile.writeframes(b''.join(frames)) wavefile.close() Come fare a immettere i valori in un file? |
Pagina: 1
Esegui il login per scrivere una risposta.