ff-multiconverter, multimedia, audio, video, linux, ubuntu ubuntu kylin, china, releases, linux terminal, ubuntu, linux, comandos, shell conky, gadgets, ubuntu, linux SpeedTest-Cli, velocidad, red, consola, terminal tag foto 6 pinta, grafica, linux, ubuntu djl, juegos, yum, synaptic, paquetes ubuntu, releases, canonical psensor, ubuntu, linux, sistema, monitor

Guia Python: asignaciones y funciones con una cantidad variable de parámetros.

python logoPython es un lenguaje de script desarrollado por Guido van Rossum.

Podemos codificar empleando programación lineal, estructurada y orientada a objetos (tengamos en cuenta que esta última es la que se ha impuesto en la actualidad)

Se cuenta con intérpretes de Python en múltiples plataformas: Windows, Linux, Mac etc. Se pueden desarrollar aplicaciones de escritorio como aplicaciones web. Empresas como Google, Yahoo, Nasa etc. utilizan este lenguaje para sus desarrollos (actualmente el creador de Python Guido van Rossum trabaja para Google.)

Se puede ejecutar instrucciones de Python desde la línea de comando o creando archivos con extensión *.py. Cuando uno comienza a aprender este lenguaje la línea de comandos nos provee una retroalimentación del resultado en forma inmediata.

El objetivo de este tutorial es presentar en forma progresiva los conceptos fundamentales de este lenguaje y poder analizar los problemas resueltos y codificar los problemas propuestos en este mismo sitio, sin tener que instalar en un principio el Python en su equipo (o luego de instalado poder avanzar con el tutorial en cualquier máquina conectada a internet).
python asignaciones multiples
Asignaciones múltiples.
Python permite asignaciones múltiples:
x1,x2,x3=1,2,3
print x1 # 1
print x2 # 2
print x3 # 3
Para entenderlo mejor podemos también utilizar esta sintaxis:
x1,x2,x3=(1,2,3)
print x1 # 1
print x2 # 2
print x3 # 3
Es decir lo que estamos haciendo inicializar cada una de las variables de la izquierda con las componentes homólogas (de la misma posición) de la tupla.
Esta característica es útil si tenemos que recuperar por ejemplo de una lista que contiene tuplas de dos elementos que representan puntos en el plano (x,y):
puntos=[(10,2),(4,2),(9,3)]
for x,y in puntos:
    print 'Coordenada x:%d y:%d' % (x,y)
    print '<br>'
Cada vuelta del for se almacena en x e y los valores de la tupla a procesar.
Otra aplicación muy útil es si queremos intercambiar el valor de dos variables la forma más simple es:
x=10
y=20
print x # 10
print y # 20
x,y = y,x
print x # 20
print y # 10
En una asignación pueden intervenir valores de distinto tipo (enteros, reales, string etc.):
nombre,edad,sueldo=('juan',32,1500.30)
print 'Nombre:%s Edad:%d Sueldo%10.2f' % (nombre,edad,sueldo)
      # Nombre:juan Edad:32 Sueldo 1500.30
Podemos con esto hacer que una función retorne más de un dato (por lo menos en apariencia), esto lo logramos retornando una tupla:
def sumadiferencia(x1,x2):
    suma=x1+x2
    diferencia=x1-x2
    return (suma,diferencia)

su,di=sumadiferencia(10,4)
print su # 14
print di # 6
Como vemos llamamos a una función y le asignamos el valor devuelto a dos variables.
Si queremos inicializar tres variables con el mismo valor la sintaxis que podemos utilizar es:
x1=x2=x3=10
print x1 # 10
print x2 # 10
print x3 # 10
Funciones con parámetros por defecto.
python Funciones con parámetros por defecto
Como habíamos visto una función es una estructura de programación que agrupa un conjunto de instrucciones y resuelve un problema particular. Una función puede tener parámetros, los mismos almacenan los valores que se le pasan cuando la llamamos.
En algunos casos si queremos que la función sea mas flexible podemos definir parámetros con valores por defecto. Esto nos permite llamar a la función pudiendo o no pasar datos a dichos parámetros.
Veamos con un ejemplo este concepto, vamos a desarrollar una función que reciba un dato a imprimir, con la posibilidad de indicarle el color de fuente y el color de fondo, en caso de no indicarle dichos valores la función muestra el dato con color negro y fondo blanco.
def mostrartitulo(dato,colorletra='#000',colorfondo='#fff'):
    print '<h1 style="color:'+colorletra+';background-color:'+colorfondo+'">'+dato+'</h1>'

mostrartitulo('Primer titulo')
mostrartitulo('Segundo titulo','#f00')
mostrartitulo('Tercer titulo','#f00','#000')
Como podemos ver para indicar a Python que un parámetro es por defecto debemos utilizar el operador de asignación en la declaración de la cabecera de la función junto al valor que tomará dicho parámetro en caso de no pasarlo desde donde la llamamos:
def mostrartitulo(dato,colorletra='#000',colorfondo='#fff'):
Cuando llamamos la función mostrartitulo podemos hacerlo de diferentes maneras:
mostrartitulo('Primer titulo')
mostrartitulo('Segundo titulo','#f00')
mostrartitulo('Tercer titulo','#f00','#000')
La primer llamada es pasando un único dato, es decir solo el título que debe mostrar, en este caso el segundo y tercer parámetro toman como valor el indicado en el declaración:
colorletra='#000',colorfondo='#fff'
Podemos llamar a la función mostrartitulo pasando el primer parámetro y el segundo, lo que hace que el tercer parámetro se inicialice con el indicado en la declaración de la función:
mostrartitulo('Segundo titulo','#f00')
En el ejemplo la tercer llamada a la función se hace pasando tres parámetros:
mostrartitulo('Tercer titulo','#f00','#000')
Como podemos ver los parámetros por defecto nos permiten implementar funciones más generales, con esto podemos hacer que las funciones sean útiles para mayor cantidad de situaciones.
Que pasa si queremos llamar la función indicando el primer y último parámetro, esto solo se puede hacer si al llamar la función indicamos que dato se le pasa a cada parámetro:
def mostrartitulo(dato,colorletra='#000',colorfondo='#fff'):
    print '<h1 style="color:'+colorletra+';background-color:'+colorfondo+'">'+dato+'</h1>'

mostrartitulo(dato='Primer titulo',colorfondo='#00f')
Si bien se hace más engorroso la llamada a la función al tener que indicar el nombre de cada parámetro junto al valor, nos trae como beneficio que sea aún más flexible.
Funciones con una cantidad variable de parámetros.
python Funciones con parámetros por defecto1
Otra posibilidad en la declaración de una función en Python es la definición de una cantidad variable de parámetros.
Para definir una cantidad variante de parámetros debemos antecederle el caracter asterísco (*) al último parámetro de la función.
Supongamos que necesitemos implementar una función que le enviemos una serie de enteros y nos retorne la suma de todos ellos (como mínimo le enviamos 2 y no hay un máximo de valores):
def sumar(x1,x2,*xn):
    s=x1+x2
    for valor in xn:
        s=s+valor
    return s

print sumar(1,2)
print '<br>'
print sumar(1,2,3,4)
print '<br>'
print sumar(1,2,3,4,5,6,7,8,9,10)
Lo que en realidad el lenguaje Python hace es una tupla con todos los valores de los parámetros a partir del tercero.
Luego nuestro algoritmo debe recorrer la tupla para procesar los elementos propiamente dichos, en nuestro caso con un for in y los sumamos junto al primer y segundo parámetro.
Luego cuando hacemos la llamada a la función:
print sumar(1,2)
Si pasamos solo dos parámetros la tupla se inicializa vacía, por lo que el for in no ejecuta el bloque contenido.
Si llamamos la función con 10 parámetros:
print sumar(1,2,3,4,5,6,7,8,9,10)
Luego la tupla se crea con 7 elementos.
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Crea tus propios ritmos con Hydrogen (3a parte).

Hydrogen_drum_machine_iconHydrogen es un avanzado sintetizador de batería que te permite programar sencillos patrones de ritmo con resultados verdaderamente profesionales.

Hydrogen cuenta con una interfaz totalmente gráfica y relativamente fácil de usar, con soporte para simples, un secuenciador basado en patrones, múltiples capas disponibles para los diversos instrumentos y hasta 32 pistas de composición.

Pros
  • Interfaz muy visual y fácil de utilizar
  • Hasta 32 pistas
Contras
  • Algunos problema
  • Faltan algunos sonidos de batería
7.- El Editor de instrumentos.
En cada patrón pueden aparecer hasta 32 instrumentos. Y cada instrumento puede ser un único sonido basado en una muestra de audio o bién una combinación de hasta 16 capas de muestras.
Los instrumentos con múltiples capas permiten crear sonidos más ricos y sobretodo más realistas. Tienes más información sobre este efecto en una caja amarilla.

La siguiente figura muestra una caja (snare) con 5 capas de muestras.

 
 
8.- Transformando una caja en un bombo.
Hydrogen, como buen instrumento basado en muestras (o directamente "sampler" que es, permite ajustar parámetros de la reproducción de las muestras, para diseñar el sonido a tu gusto:
Estas opciones se encuentran en la ventana Instrument editor
Vamos a ver un ejemplo práctico del uso de estos controles. El objetivo de este ejemplo es crear un sonido de bombo a partir de una muestra de caja. Para empezar, asegúrate que Hydrogen está en pattern mode, sino ponlo en este modo usando el botón mode de la barra de transporte.
Pon una pista de caja (snare) en modo solo. Tienes dos formas de hacer esto: Desde el Pattern editor haciendo clic con el botón derecho sobre la pista de caja, o bien, desde el Mixer activando el botón del canal correspondiente.

Rellena unos cuantos golpes de caja en el patrón actual para oír constantemente el sonido que vamos a manipular. Si no lo está, selecciona el instrumento de caja en el Pattern editor.

Ahora ya estamos listos para ajustar parámetros de la ventana Instrument. Primero de todo, vamos a bajar el tono o afinación del instrumento. Para ello gira al máximo a la izquierda el botón pitch que se encuentra en la pestaña Layers. Si se tratara de un instrumento multi capa, debes repetir la operación para todas las capas.

El sonido es más grave pero aún es demasiado largo y ruidoso.
Sitúate en la pestaña Instrument y modifica el envolvente ADSR (attack, decay, sustain, release) de la siguiente forma: Gira el sustain el máximo a la izquierda, situa el decay alrededor de un 25% y asegúrate que el tiempo de ataque, botón attack está al mínimo. Con esto conseguimos que solamente suene un ataque corto de la caja.

Por último, atenua los agudos fijando un cutoff bastante bajo, y sube la resonance para realzar el efecto de filtro, tal como mostramos en la captura de pantalla.
 
9. Reciclando un loop de batería 
Selecciona un canal vacío en el Pattern Editor, abre el Instrument Editor, ve a la pestaña Layer y carga el archivo WAV correspondiente mediante el botón Load.

Repite la operación con el resto de sonidos que quieras cargar.

Utiliza tus conocimientos musicales y experimenta con los sonidos que cortaste, seguro que saldrá algo original. Debes tener en cuenta que dependiendo de si los sonidos que utilices contienen más de un golpe de percusión, estos irán al tempo original del loop y por lo tanto tendrás que ajustar el tempo de Hydrogen con el del loop original.

Finalmente, usa la opción File-Export para exportar toda tu canción en un archivo WAV.

10.- Crea tus propios drumkits .
El Drumkit Manager es, como su propio nombre indica en inglés, el gestor de los drumkits que usamos en Hydrogen. Permite exportar los kits de percusión que hayas creado con el editor de instrumentos, o importar conjuntos de instrumentos creados por otros usuarios.

Para exportar los drumkits que estes utilizando en el programa, primero debes guardarlos en la lista de drumkits. Cuando tengas tu kit listo para guardar, abre el Drumkit Manager por el panel de Save y escribe un nombre para tu kit, añade si quieres el nombre del autor (tu mismo!) y una breve descripción y guárdalo. Vuelve al panel Load y aparecerá listado junto a los kits por defecto de Hydrogen. Ahora ya puedes exportar cualquiera de los kits que aparezcan en esta lista.

Selecciona el kit a exportar, dale un nombre y haz clic en el botón Export. El archivo resultante tendrá la extensión *.h2drumkit y contendrá los ajustes de todas tus muestras así como los propios sonidos que has utilizado. Para importar sonidos que hayas descargado de internet o que tengas archivados pero no cargados en el programa, deberás importarlos primero mediante el panel Import. Localiza el archivo a importar y haz clic en Open. Ahora el archivo estará disponible en tu lista de kits para ser cargado en Hydrogen desde el panel Load.

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

4 Infografías de LibreOffice.

libreoffice 4LibreOffice es una suite ofimática libre y gratuita multiplataforma que cuenta con un procesador de texto (Writer), un editor de hojas de cálculo (Calc), un gestor de presentaciones (Impress), un gestor de bases de datos (Base), un editor de gráficos vectoriales (Draw), y un editor de fórmulas matemáticas (Math).


LibreOffice fue creada por la fundación The Document Foundation como una bifurcación (fork) de la suite OpenOffice.org en octubre de 2010. Está disponible bajo la licencia GNU Lesser General Public License.


La compra de Sun Microsystems (líder del desarrollo de OpenOffice.org) por Oracle fue el desencadenante de esta bifurcación debido a la orientación dada por Oracle.

LibreOffice 3.3 ha sido descargado más de 1,3 millones de veces. Es la suite ofimática predeterminada en Debian (versión testing), Ubuntu, openSUSE, Fedora y Mageia

libreoffice infografica

libreoffice infografica2

libreoffice infografica1

libreoffice infografica3

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Cómo sincronizar tu teléfono móvil en Ubuntu con Wammu.

wammu-logoWammu es un programa para manejar los datos en el teléfono celular como los contactos, calendario y mensajes.

Está creado sobre la biblioteca Gammu, que provee una capa de abstracción para trabajar con diferentes teléfonos celulares de diferentes proveedores (incluyendo Nokia, Sony-Ericsson, Motorola, Samsung, Siemens, Huawei y otros).

Con Wammu, podremos sincronizar teléfonos móviles Symbian sin ningún problema, además de incluir soporte para otros terminales con sistema operativo propiedad de la marca como pueden ser Nokia, Samsung, Alcatel, Siemens, Motorola o Sharp entre otros modelos.

Para revisar el soporte de un modelo de teléfono la mejor fuente es la Base de datos de teléfonos Gammu que contiene la experiencia de los usuarios con Gammu y diferentes modelos de teléfono.

Familia Gammu.

Gammu ya no es solo un único programa sino que también hay muchas herramientas útiles que comparten la misma biblioteca.

Wammu.

Programa con Interfaz gráfica para manejar contactos, tareas, calendario y mensajes en tu teléfono.

Gammu.

Utilidad de línea de comandos que permite usar todas las funciones de libGammu.

libGammu.

Biblioteca que exporta una API C para comunicarse con teléfonos celulares.

Gammu SMSD.

Servicio de demonio SMS para recibir y mandar mensajes automaticamente.

Python-Gammu.

Vinculaciones Python para libGammu para poder utilizala desde scripts Python.

Kalkun.

Manejador web de SMS («Short Message Service») de código abierto de terceras partes que utiliza Gammu SMSD.

wammu wizard-8 kalkun-dark

Descargas:

Ultima versión estable: 1.33.0

Gammu.

Wammu.

 

Capturas de pantallas.

wammu wizard-1

wammu wizard-2

wammu wizard-3

wammu wizard-5

wammu wizard-7

wammu wizard-8

wammu-edit

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog: