base script
This commit is contained in:
42
record_from_usb.py
Normal file
42
record_from_usb.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import sounddevice as sd
|
||||
import numpy as np
|
||||
from scipy.io.wavfile import write
|
||||
|
||||
# --- 1. Identificazione del Dispositivo ---
|
||||
# Esegui questo blocco di codice per primo per trovare l'indice del tuo dispositivo.
|
||||
# print(sd.query_devices())
|
||||
# Una volta trovato, inserisci l'indice corretto qui sotto.
|
||||
|
||||
# --- 2. Impostazioni della Registrazione ---
|
||||
DEVICE_INDEX = 26 # ESEMPIO: Sostituisci con l'indice del tuo dispositivo Yamaha TF5
|
||||
CHANNELS = 2 # Numero di canali da registrare (la TF5 ne supporta fino a 34)
|
||||
SAMPLE_RATE = 48000 # Frequenza di campionamento in Hz (deve corrispondere a quella della console)
|
||||
DURATION = 10 # Durata della registrazione in secondi
|
||||
OUTPUT_FILENAME = 'registrazione_multicanale.wav'
|
||||
|
||||
try:
|
||||
# --- 3. Registrazione dell'Audio ---
|
||||
print(f"Inizio registrazione di {DURATION} secondi dal dispositivo {DEVICE_INDEX}...")
|
||||
|
||||
# sd.rec() avvia una registrazione non bloccante e restituisce immediatamente
|
||||
# I dati audio vengono memorizzati in un array NumPy
|
||||
myrecording = sd.rec(int(DURATION * SAMPLE_RATE), samplerate=SAMPLE_RATE, channels=CHANNELS, device=DEVICE_INDEX, dtype='float32')
|
||||
|
||||
# sd.wait() attende che la registrazione sia completata
|
||||
sd.wait()
|
||||
|
||||
print("Registrazione completata.")
|
||||
|
||||
# --- 4. Salvataggio del File WAV ---
|
||||
print(f"Salvataggio della registrazione in corso su '{OUTPUT_FILENAME}'...")
|
||||
|
||||
# Scrive l'array NumPy in un file WAV
|
||||
# La funzione si aspetta dati in un formato specifico (es. int16 o float32)
|
||||
# È consigliabile scalare i dati se necessario, ma sounddevice con dtype='float32'
|
||||
# di solito produce un output compatibile.
|
||||
write(OUTPUT_FILENAME, SAMPLE_RATE, myrecording)
|
||||
|
||||
print("File salvato con successo.")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Si è verificato un errore: {e}")
|
||||
Reference in New Issue
Block a user