Programo gratis

Te voy a hacer yo el trabajo que te veo desmotivao.

Lo que he visto por ahi, que yo no soy un expertologo 🙂

coger la señal de audio y pasarla a FFT
crear un spectograma y convertirlo a imagen(en este puro a simple vista puedes distinguir entre unas palabras y otras)
meterlo en el input de la red neuronal(pero necesitas, si por ejemplo la imagen es en colores de 300x300, pixles = 300x300x3 = 270000 bytes solo para la primera capa)
hacer convoluciones, (aquí reduces bastante el tamaño, pero cada capa tiene su coste en bytes y se añade al coste anterior)
entrenas, etc
cuantizas (reduces bytes)
y lo metes al arduino o lo que quieras


hasta aquí bien, aunque no solucionas el problema de cuándo empieza a hablar, solo distingue unas palabras de otras
además me parece una patidifusez que haya que convertirlo en una fruta imagen, cuando una señal de audio debería ser procesada tan solo por unas pocas neuronas(o si no que le pregunten a las ministras de hoy en día meparto:)
 
El artículo es de pago. Evidentemente, en España no hay déficit de ingenieros, más bien al contrario, la prueba es que España exporta ingenieros y que los sueldos actuales de los ingenieretes españoles son de chiste. Y te lo dice un ingeniero español.
Aqui un ingeniero español.

La primera vez que me pagaron 3000 euros al mes fue antes de cumplir 25 años (tengo ahora casi 50), y no fue en España. 3000 euros de principios del año 2000, con el euro casi estrenado, y eso todos los meses, nada de guano especiales.

Obviamente no fue en España. Fue en un sitio donde yo trabajaba muy duro y muy bien, y me pagaban deacuerdo a mi esfuerzo.

JAMÁS TRABAJARÉ NI PARA UNA EMPRESA ESPAÑOLA, NI PARA UN JEFE ESPAÑOL.
 
Un probador digital usando OOTDiffusion

Empezamos vendiendoselo a alguna franquicia de moda pequeña o mediana, hacemos una ronda y en un año hay que estar vendiendoselo a inditex, nike, etc...
 
Vaya solución sobredimensionada y barroca. Todavía no me has explicado para qué quieres la red neuronal. No la necesitas absolutamente nada para resolver ese problema. Es solo un problema que puedes resolver por técnicas de procesado digital de señal, transformada FFT, transformada Z y filtros digitales.

No tengo contexto, pero me suena a que es una imposición.
Están de moda y dan mas pasta.
 
Vaya solución sobredimensionada y barroca. Todavía no me has explicado para qué quieres la red neuronal. No la necesitas absolutamente nada para resolver ese problema. Es solo un problema que puedes resolver por técnicas de procesado digital de señal, transformada FFT, transformada Z y filtros digitales.

No tengo contexto, pero me suena a que es una imposición.
de todas formas, ¿de qué va el jilo?, dices que das la solución pero no la veo por ningún lado, este foro es mu raro, ya no sé si eres un esbirro pagado del calopez o qué, ¿cuál es el cometido aquí?, decir que es muy fácil pero que no lo haces, que es barroco pero que no es gótico, dame argo fácil payo, pa k pueda programaarlo

roto2
 
Yo te doy una solución. Tú dices que no te vale porque la tienes que implementar con redes neuronales. Yo te digo que tú no me impones la solución. El problema lo tienes tú porque alguien, un profesor, o quien sea te ha impuesto una tecnología forzada con calzador para este caso de uso.
No killo, no sé como hacerlo, tú te has ofrecido, y lo único que dices es que FFT y Z y yastá, pero no dices como implementarlo, cúrratelo un poco 🙂

Re- planteo el problema:

1.- tenemos una señal de audio continua en el tiempo, alguien conecta un microfono(puede haber ruido de fondo)
2.- la señal es en modo WAV e.g.
3.- la tenemos que pasar por un detector para que se active con ciertas palabras
4.- el detector tiene que ser capaz de decirme qué palabra es, en qué punto de la señal empieza y en qué punto termina

Ahora dime los pasos para hacerlo tan solo con FFT y Z sin usar redes neuronales, ahorrate los filtros los damos por válidos, y se lo vendemos a Microchof al Gogles y al Berzos ese
roto2
 
Última edición:
Usar IA para eso es como usar Photoshop para escribir una nota del bloc de notas.

La IA es el nuevo vendehumos, como el Cloud hace una decada, que se usaba y se sigue usando cuando no es necesario y resulta contraproducente y mas caro.

La IA es un malgasto absurdo de recursos ejecutando una tarea para la cual ya hay codigo fuente disponible sin usar IA.
Lo del cloud es que es acorazonante, todas las empresas tenían sus propios servidores, y de repente TODAS decidieron contratar los servidores de Amazon o Azure, y entregarle todos los datos a un par o tres compañias americanas, encima a la larga te sale más caro,... roto2
Otro ejemplo de lo que son las modas y lo peligrosa que es la borregada, incluso en temas de negocios...
 
Ya que te hace feliz que te demos ideas, dejo la solucion a tu criterio, tanto idioma como realizacion:

Tengo 3 elementos tipo A y 3 elementos tipo B.
Todos los elementos vienen de la misma clase heredada, pero cada uno con atributos diferentes. El unico importante es que tres de ellos tienen atributo A y los otros tres son tipo B. Ambos atributos son mutuamente excluyentes, como una partida de algun deporte de dos equipos.

Cada uno tiene velocidades diferentes y estan corriendo en una pista circular.
El mas rapido va a llegar antes a la meta que el mas lento, incluso en algun momento adelantara al mas lento.

Todos los elementos deben mostrarse en una linea temporal de maximo 40 posiciones.
Cada momento temporal, empezando por el mas rapido, debe elegir a uno de los elementos del bando contrario para señalarlo.
Al ser señalado, el elemento intercambia posicion con aquel que este justamente detras de el en la lista, procediendo al siguiente elemento a poder señalar a otro.

EJEMPLO:
Equipo 1: A, B, C
Equipo 2: D, E, F

Orden de acontecimientos:
1) A B C D E F A B C D E.......
2) A señala a D
3) B C E D F A B C E D.......

Como puedes observar, lo que sucede es que se ha demorado la cantidad de espacio recorrida por D en la pista de carreras, lo que implica que toda la lista de acontecimientos debe ser recalculada para poder ver donde se prevee que D actue.
Al salirse de la lista de turnos A por actuar el primero, quedaria una lista de 39 elementos, debiendo de ocupar ese nuevo puesto 40 por la siguiente prediccion que corresponda.

No hace falta ni que funcione de forma perfecta, me basta con ver de que manera planteas la solucion en formato codigo.

Aunque digas que lo hagas gratis, yo te voy a dar un humilde gracias por dedicarle aunque sea el tiempo de leerlo.
Muchas gracias.
 
No se puede programar nada si las especificaciones son inestables. Ahora pides una cosa nueva, pero más lógica que la primera petición. Aquí el planteamiento general:

Cargar señal de audio wav y filtrarla y normalizarla. Segmentar la señal en ventanas. Extraer características con STFT y MFCC. Aquí sí que habría que aplicar aprendizaje automático con SVM o redes neuronales para distinguir las palabras. Las palabras quedan etiquetadas como salida. Evalúo el modelo mediante datos de entrenamiento y test. Aplico el modelo entrenado para la detección de palabras nuevas, con detecciones de umbrales para los límites de palabra. Acepto modelo en función de KPI de desempeño.
CMU Sphinx hace eso sin usar IA.


Antes de escribir cualquier linea de codigo, lo primero es mirar que no haya antes cien proyectos open source que hagan exactamente lo mismo.
Mira que sos cabezorros los programaores, desde el post nº 1 os estoy diciendo que lo que quiero es algo en Tensorflow para poder saber dónde empieza y acaba una determinada señal, e intentado ir poniendo ejemplos mas concretos, pero os empeñáis en ser mas listos que el jefe y en hallar la solución que os interesa en vuestro universo de colorines y nunca lo que os piden llanamente.

No mestraña araña que os tengan en cárnicas como empleados de segunda trabajando "cuasi gratis", todavía os falta aprender a leer y sobre todo a escuchar. roto2 meparto: tragatochos
 
import tensorflow as tf
import numpy as np
import librosa

# Preprocesamiento de datos
def preprocess_audio(audio_path, window_size=10, stride=5):
# Cargar la señal de audio
audio, sr = librosa.load(audio_path, sr=None)

# Convertir la señal de audio en ventanas de 10 segundos con un desplazamiento de 5 segundos
windows = []
for i in range(0, len(audio) - window_size * sr, stride * sr):
window = audio[i:i+window_size*sr]
windows.append(window)

return np.array(windows)

# Creación del modelo de red neuronal
def create_model():
model = tf.keras.Sequential([
# Agrega capas convolucionales o recurrentes según la elección del modelo
# Añade una capa de salida con una sola neurona para predecir el offset del sonido
])
return model

# Entrenamiento del modelo
def train_model(model, X_train, y_train, epochs=10):
model.compile(optimizer='adam', loss='mean_squared_error')
model.fit(X_train, y_train, epochs=epochs, batch_size=32)

# Prueba del modelo
def test_model(model, X_test, y_test):
loss = model.evaluate(X_test, y_test)
print("Test Loss:", loss)

# Inferencia
def predict_offset(model, audio_path, window_size=10, stride=5):
windows = preprocess_audio(audio_path, window_size, stride)
predictions = model.predict(windows)
# Puedes hacer algo con las predicciones, como encontrar el offset máximo
max_offset_index = np.argmax(predictions)
return max_offset_index * stride

# Ejemplo de uso
audio_path = "ejemplo_audio.wav"
X_train = preprocess_audio(audio_path)
y_train = obtener_etiquetas() # Obtén etiquetas de alguna manera, esto dependerá de tus datos

model = create_model()
train_model(model, X_train, y_train)
test_model(model, X_test, y_test)

# Realizar inferencia en una nueva señal de audio
predicted_offset = predict_offset(model, "nueva_audio.wav")
print("Inicio del sonido detectado en el offset:", predicted_offset)
El único que ha respondido coherentemente, mis dieces!! =D>
 

Estadísticas del foro

Temas
2.049.786
Mensajes
58.158.438
Miembros
190.840
Último miembro
pprroobbaannddoo

El blog de burbuja.info

Volver