Afinador de guitarra 1.0 (PyQt y Python)
Hacía tiempo que tenía ganas de programar un afinador de guitarra y en estos días me he sacado las ganas :). Siempre me estoy fijando en alguna página web los tonos para ir afinando las cuerdas, pero hoy ya tengo mi propia app echa con Python y PyQt4.
Afinador de guitarra con Python y PyQt4 |
El código no es nada del otro mundo, es un poco de lo que he venido compartiendo sobre aplicaciones gráficas en python y algunas funciones con sonidos, lo comparto más abajo. También les comparto un vídeo en youtube para que vean como funciona.
El sonido lo he manejo con la librería pygame (los archivos de audio son con formato mp3).
En esta primera versión solo se podrá interactuar con los sonidos de las notas. En futuras versiones intentaré agregarle más funcionalidad.
Para aquellas personas que les guste tocar la guitarra (como a mi) y quieran probar el código, les dejo las descarga AQUI (Incluye: Tonos, afinador.ui y afinador.py)
El afinador de guitarra fue probado en un sistema Linux (Ubuntu), y para su correcto funcionamiento necesita tener instaladas las siguientes librerias:
- Pygame
- Pyqt4
Demo del afinador
Una foto de mis chiches 🙂
Mis instrumentos |
Codigo del afinador de guitarra
22/10/2016 --> Actualizo código y enlace de descarga
#!/usr/bin/python # -*- coding: utf-8 -*- # Autor: Diego Caraballo # Afinador de Guitarra con PyQt4 # https://www.pythondiario.com/2014/12/afinador-de-guitarra-10-pyqt-y-python.html import sys import pygame import time from PyQt4 import QtCore, QtGui, uic from PyQt4.QtGui import QSound # Cargar nuestro archivo .ui form_class = uic.loadUiType("afinador.ui")[0] class MyWindowClass(QtGui.QMainWindow, form_class): def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) self.setupUi(self) self.btn_MI.clicked.connect(self.btn_MI_clicked) self.btn_LA.clicked.connect(self.btn_LA_clicked) self.btn_RE.clicked.connect(self.btn_RE_clicked) self.btn_SOL.clicked.connect(self.btn_SOL_clicked) self.btn_SI.clicked.connect(self.btn_SI_clicked) self.btn_mi.clicked.connect(self.btn_mi_clicked) self.btn_detener.clicked.connect(self.btn_Detener_clicked) pygame.mixer.init() def ruta(): ruta = os.getcwd() return ruta def btn_MI_clicked(self): pygame.mixer.music.stop() pygame.mixer.init() pygame.mixer.music.load("E.mp3") pygame.mixer.music.play(-1) def btn_LA_clicked(self): pygame.mixer.music.stop() pygame.mixer.init() pygame.mixer.music.load("A.mp3") pygame.mixer.music.play(-1) def btn_RE_clicked(self): pygame.mixer.music.stop() pygame.mixer.init() pygame.mixer.music.load("D.mp3") pygame.mixer.music.play(-1) def btn_SOL_clicked(self): pygame.mixer.music.stop() pygame.mixer.init() pygame.mixer.music.load("G.mp3") pygame.mixer.music.play(-1) def btn_SI_clicked(self): pygame.mixer.music.stop() pygame.mixer.init() pygame.mixer.music.load("B.mp3") pygame.mixer.music.play(-1) def btn_mi_clicked(self): pygame.mixer.music.stop() pygame.mixer.init() pygame.mixer.music.load("e.mp3") pygame.mixer.music.play(-1) def btn_Detener_clicked(self): pygame.mixer.music.stop() app = QtGui.QApplication(sys.argv) MyWindow = MyWindowClass(None) pygame.init() MyWindow.show() app.exec_()
Espero que les guste, Saludos 🙂
-
-
Hola Ismael, gracias por Respuesta. Los sonidos de las notas son las cuerdas al aire (para poder afinarlas): MI, La, Re, Sol, Si, mi. Ya cree una cuenta en GitHub, en breve comienzo a subir el código ahi. https://github.com/pythondiario
Saludos
-
-
¡Falta el mi agudo!
El afinador está de 10 (si no fuera por ese nanusculo detalle) -
Hola, me gusta python, quiero que me sugieras un curso desde cero hasta un nivel experto...gracias
-
Me encantaria podre mi propio afinador!! Recien estoy aprendiendo a programar ¿crees que es facil que pueda armarlo?
-
Hola Claudio, claro que si. Intenta con el código del afinador y cualquier cosa me consultas. Gracias por visitar el blog.
-
-
Hola Diego una pregunta, no me deja descargar el archivo con el programa, por favor ayudame para poder tener acceso a los archivos de los sonidos muchas gracias
-
Hola Mayra, ya actualice el enlace y modifique el código (me faltaba una cuerda :()
Gracias por visitar el blog!!!
Saludos
-
-
hola diego cuando ejecuto el codigo me dice que no tengo el archivo pygame y ya lo descargue. Me podrias ayudar? pasandome el link de pygame
-
Oi Diego Blz
che ante todo felicidades, quedo genial... Diego me tira una duda, si yo quisiera convertir esse en un executavle de windows... tu tienes algunos pasos para indicar.. gracias por todo
Deja una respuesta
Esta genial! Pero que no falto la nota Do?
Propongo la creación de una cuenta en GitHub para Python Diario!
Me parece mejor publicar el código así: http://bit.ly/12NeIQV