Introducción a DSound: una plataforma de sonido descentralizada que utiliza STEAM e IPFS (Traducción al español del post de @prc)
Estimada comunidad STEEM,
Soy nuevo por aquí, pero desde que empecé a conocer más sobre la comunidad comprendí que este era el lugar que quería ser. Entonces más adelante vi a DTube ser anunciado y mi cabeza iba alrededor en olas sobre esta mezcla de tecnologías que la hicieron posible ... Conocí a @heimindanger y charlé sobre su proyecto y absorbí algunos de los detalles e ideología, de los cuales comparto la misma visión . Y funcionó mi motor, así que entré y comencé a implementar mi propia visión de lo que quería como una plataforma para publicar música y sonidos en general. Y ahora me enorgullece presentarles a todos ...
DSOUND.AUDIO
¿Qué es DSound?
DSound es una aplicación web que he desarrollado en Javascript, que nos permite subir, escuchar y descubrir música y otros sonidos almacenados en la parte superior de la Red IPFS. Utiliza STEAM blockchain como una base de datos descentralizada, que permite a los autores obtener recompensas en la moneda cíclica de STEEM Dollars, que pueden ser canjeados directamente a dólares estadounidenses o cualquier otra moneda, cuando otros usuarios les gusta o publican nuestro contenido, de la misma manera que Steemit.com para las publicaciones del blog.
Decidí seguir el mismo enfoque que @heimindanger y desarrollar primero y hablar después. Y he trabajado casi sin parar hasta que tengo esta primera versión alfa para compartir con ustedes! Es sólo un producto mínimo viable de lo que puede convertirse en la plataforma de referencia para los músicos para publicar sus canciones, promos y grabaciones y ser recompensados por su trabajo de inmediato, sin ninguna publicación y / o distribución involucrados.
Como músico y DJ también entiendo profundamente la industria de la música y mi único objetivo es crear una plataforma donde me gustaría publicar mis propias obras, recibir la retroalimentación de la comunidad y ganar unos cuantos dólares con ella ... Y si también están en la industria, ya sabes lo difícil que es ganar dinero con nuestras creaciones en el negocio de la música en estos días!
Hay algunas plataformas que lo permiten, si estás firmado con una gran etiqueta, como SoundCloud, YouTube, Apple Music o Spotify, pero si eres un indie como yo, tienes suerte si puedes publicar alguna de tus propias creaciones en estos canales sin ser bajado! Tenía mis propias creaciones (sin materiales muestreados) que se tomaban por infracción de derechos de autor, sólo porque pueden.
Peor aún para otros tipos de creaciones, que constituyen el uso justo de los materiales con derechos de autor, como remixes, mashups o conjuntos de DJ. Si quieres compartir cualquiera de estos con tus fans, hoy en día no puedes! Si subes estas obras a YouTube o SoundCloud en cuestión de segundos, se eliminan por infracción de derechos de autor. Esto no es aceptable. Son obras derivadas de las originales, que sirven para promocionar a los autores o para darles un uso diferente, como un remix hace que la gente baile a una canción no deseable, o un set de DJ que mezcla y mezcla varias pistas para producir un sonido completamente diferente ambiente. Estas creaciones merecen ser publicadas y sus autores merecen ganar su dinero si la gente le gusta!
Por lo tanto, la ley de derechos de autor está roto y necesita arreglarse. Pero en estos últimos casos, además de ser un uso justo, la industria está abusando de los pequeños creadores con sus superpoderes haciendo imposible para ellos sobrevivir sin trabajar otros trabajos para poner comida en sus mesas, en lugar de centrarse en crear y difundir el amor! ¡Pero esto está a punto de cambiar con DSound !!! :)
Cómo utilizar DSound
1. Iniciar sesión
Cree una cuenta STEEM en Steemit.com, si no la tiene ya, ingrese su nombre de usuario STEEM:
2. Introduzca su clave de publicación privada, puede encontrarla aquí:
Inicio de sesión multiusuario
Si usted es un artista también, es común tener sus nombres artísticos, lo que lleva a tener múltiples cuentas en las redes sociales y por lo general hace que sea un verdadero dolor para siempre ser el cierre de sesión y el inicio de sesión para utilizar sus diferentes seudónimos. Youtube y Facebook tienen esta característica que le permite cambiar entre ellos fácilmente. Por lo tanto, seguí la misma idea que @heimindanger y la implementé en DSound también, permitiendo a los usuarios iniciar sesión con tantas cuentas como quieran y cambiar entre ellas.
Ajustes de IPFS
DSound gestiona todos los ajustes de IPFS para usted ahora mismo. Tal vez en el futuro tendrá una manera de afinarlos, pero por ahora es todo cuidado. Se muestra si está ejecutando un nodo IPFS local o no, y si lo hace, DSound lo usará felizmente, de lo contrario se conectará a otros nodos IPFS en la red para cargar y almacenar su contenido.
Subiendo
Primero, necesitas estar registrado para poder acceder a la página de carga.
A continuación, simplemente cargar el archivo de audio, la portada (no es necesario, pero muy apreciado por sus oyentes, como una parte de su sonido que llena los ojos), y, finalmente, llenar los textos de la cadena de bloqueo y publicar!
Si todo va bien, debe ser llevado a la nueva fuente de sonidos donde su sonido debe estar sentado, esperando a ser jugado por sus fans. El proceso puede tardar entre 0 y 30 segundos, dependiendo del estado de la red IPFS y de la velocidad de conexión. Aquí es donde tener un nodo IPFS local instalado ayuda mucho, y si se carga regularmente, definitivamente debe pensar en ello.
Estaré desarrollando una aplicación de escritorio, junto con @heimindanger de DTube, para permitir que usuarios no técnicos instalen el IPFS y lo configuren correctamente para uso con DTube y DSound, pero hasta entonces siempre se puede probar con las instrucciones que se encuentran en el sitio web de la IPFS (no es muy fácil para las personas que no conocen la tecnología ...)
Navegación y descubrimiento de sonidos
Aquí he intentado replicar la forma en que funciona Steemit.com, con la excepción de la página de inicio donde se ve el feed de sonidos que tuvieron interacciones recientes, como comentarios o upvotes. A continuación, tiene las secciones principales de tendencias, calientes y nuevas. Trabajan igual que en Steemit.
Si hace clic en un sonido (título o cubierta), llegará a la página de sonido:
Si hace clic en un '#tag' en cualquier página, puede descubrir sonidos sólo en esa categoría, incluso si selecciona las secciones nuevas, calientes o de tendencia, verá esa categoría en la sección elegida. Al hacer clic en el logotipo para ir a su feed o salir de la navegación a cualquier otra página saldrá del modo de categoría. Al navegar en el modo de categoría, verá la categoría '#tag' en la parte superior:
En cualquier lugar de la aplicación puede hacer clic en un '@user' para ver las publicaciones de ese usuario solo en la página de usuario:
Sí, puedes ver la nueva foto de la portada del perfil de Steemit en la portada de la página de perfil de usuario de DSound! :)
Y en cualquier lugar que vea un reproductor de pistas con el botón de reproducción y una forma de onda del sonido, puede reproducir ese sonido y navegar en él haciendo clic en la forma de onda como lo hace en SoundCloud.
Además, en toda la aplicación se ve el reproductor en la parte inferior de la pantalla y ese reproductor reproduce música incluso cuando navega a través de la aplicación, conociendo su última selección de canciones y reproduciéndolas en secuencia o mezclándolas para usted.
Todo esto se basa en STEAM blockchain, por lo que naturalmente puede gustar los sonidos haciendo clic en el ícono 'corazón', vuelva a publicarlos en el icono 'repost', descargue los sonidos en el botón Download (si está habilitado por el autor) puede activar un botón de compra con un enlace directamente a ese sonido en cualquier tienda de música de su elección o incluso su sitio web.
Al deshabilitar el enlace de descarga, el autor no está dando permiso para que descargue el sonido directamente en DSound, pero a través de la red IPFS, todo lo que está en él está naturalmente disponible para descargar, así que no creo que su contenido no será descargable si desactiva el botón de descarga al cargar! Al igual que con SoundCloud, YouTube, Spotify o cualquier otro contenido compartido, si puedes transmitirlo, puedes descargarlo, de una forma u otra ...
Las siguientes partes de este artículo son en su mayoría técnicas y tal vez no tan interesante para algunas personas no en el lado de la tecnología, pero si usted es curioso acerca de los internos de DSound puede continuar, ya que voy a tratar de explicar cómo funciona con simple común palabras, cuando sea posible ...;)
Cómo funciona DSound
STEAM Blockchain como base de datos
Lo que hace que DSound sea tan especial es su naturaleza descentralizada. Usando una cadena de bloques para que fuera mi idea para las edades. STEEM tiene muchas ventajas sobre otros blockchains. Es rápido (bloques de 3 segundos). Es gratis, cualquiera puede usarlo sin tener que depositar alguna forma de moneda, y las transacciones no tienen honorarios.
Otros proyectos ya están ahí que implementan algún tipo de moneda de la música, que puede utilizar para comprar acceso a contenido de música, como Musicoin o Resonate. Quería construir algo que funcionara al revés y recompensar la creación de música por parte de la comunidad, de la misma manera que STEAM blockchain ya implementa su mecanismo de recompensa para entradas de blog.
Similar a DTube, cualquier sonido subido en DSound se convierte en un contenido de STEEM, que puede ganar recompensas por 7 días. DSound no utiliza el título o el cuerpo de la publicación STEEM para almacenar información, por lo tanto, si no desea que su sonido aparezca en su feed de Steemit, puede editarlo o eliminarlo. El sonido permanecerá intacto en DSound mientras que será invisible en otras aplicaciones como steemit.com o busy.org. Creo que el comportamiento actual es correcto y que contribuye al crecimiento de la plataforma y que aumentan las recompensas de los usuarios.
IPFS como almacenamiento de archivos estáticos
Esto fue en realidad el ingrediente final que recibí de DTube y @ heimindanger ... Cuando vi el post inicial de DTube estaba emocionado! ¡Había encontrado la pieza faltante que necesitaba para finalmente construir DSound!
En su artículo @heimindanger describe perfectamente el protocolo IPFS a un nivel alto, así que incluyo el siguiente párrafo de su post que genéricamente lo describe todo:
- "IPFS es un protocolo que permite el almacenamiento de archivos descentralizado. El principio detrás de él se llama Tablas de hash distribuidas (DHT). El mismo principio también potencia la red BitTorrent. Así como la criptografía utiliza la criptografía asimétrica, las redes DHT hash contenidos para poder identificar un archivo. El hash se convierte en el identificador de un archivo, y es tan fácil como re-hashing un archivo y asegurarse de que los hashes coinciden para garantizar que el archivo que se nos envió es el original.
IPFS es joven, de código abierto, y se está desarrollando activamente, con muchas mentes brillantes trabajando en el proyecto. Creo que tiene un gran futuro por delante. Usarlo como el principal medio de almacenamiento para este proyecto fue increíblemente fácil, incluso con un proyecto tan joven.
Costo de almacenamiento de IPFS
Aquí me enfrenté a las mismas dificultades que DTube. No hay magia, alguien necesita sembrar los archivos y el navegador no puede almacenar permanentemente archivos grandes (el almacenamiento local está limitado a 50 MB en la mayoría de los navegadores), por lo que la siembra en el navegador no es una solución.
Mi primera idea fue requerir que los usuarios ejecutaran su nodo IPFS localmente en su computadora, pero quedó claro después de algunos chats y brainstormings que esto no sería una solución, ya que IPFS todavía no es fácil de configurar para un usuario regular, y hay algunas aplicaciones de código abierto que intentan proporcionar un camino más fácil, pero son demasiado inestables, incluso para propósitos de prueba ...
Sigo creyendo que esta solución es la correcta para DSound, y posiblemente también DTube, pero claramente necesitaría construir una aplicación de escritorio, para Windows, OSX y Linux, para facilitar este proceso de instalación hasta el punto de que incluso mi abuela hacerlo, de modo que será una solución plausible a la parte de almacenamiento de la ecuación.
Pero por ahora necesitaba una forma para DSound para almacenar el contenido sin un nodo IPFS local, un requisito que no desaparecerá y posiblemente incluso crecerá como muchos usuarios no les gusta instalar cosas, así que le pregunté a @Tubeindanger de DTube y conseguido charlar con el dueño de la tienda de IPFS también, que como sido una gran ayuda incluso en probar DSound y divulgar del insecto. Gran chico este @nannal (steem, twitter / etc), recomendado!
Así que terminé con el mismo enfoque que DTube, creó una cuenta @dsound y esta cuenta se utilizará para recoger el 25% de las recompensas del autor DSound. Las tasas de almacenamiento son las mismas, pero históricamente en el contenido de vídeo de STEEM más que dobla las recompensas en el contenido de música, por lo que creo que es justo ir con el mismo porcentaje de las recompensas del autor, básicamente debido a la probabilidad de que el almacenamiento / será probablemente idéntica.
También parte de estas recompensas se utilizará para financiar la continuación del desarrollo del proyecto, si la comunidad lo considera útil, y contratar a un equipo de proyecto si todo sale muy bien.
Si un día el proyecto está hecho y puede sobrevivir por sí mismo sin mucho esfuerzo en desarrollo y mantenimiento, y una gran base de usuarios tiene sus propios nodos IPFS, entonces mi contribución al proyecto no será necesaria tan a menudo y el proyecto será abierto y el porcentaje de participación en recompensas eliminado.
Diseño y experiencia del usuario
Aquí decidí tener un enfoque más sencillo pero igualmente intuitivo, inspirado en la plataforma de distribución de sonido líder SoundCloud, ya que los usuarios potenciales ya están acostumbrados.
Traté de que el diseño fuera lo más limpio posible sin distracciones, pero aún mostrando lo que los usuarios se preocupan y facilitar los usos que requieren, como la navegación de forma de onda, comentar, republicar y como contenido. Otro requisito principal era facilitar el descubrimiento de música nueva, ya que es realmente importante para DJs como yo, por lo tanto, la navegación por etiquetas y la fusión con las secciones superiores. Creo que lo hice bien en esta primera versión, pero todavía hay mucho que mejorar y nuevas características para implementar, como se describe en el mapa de ruta a continuación.
Datos almacenados en el navegador
DSound utilizará el almacenamiento local del navegador para almacenar las cuentas de usuario y las claves de contabilización cifradas, de modo que no tenga que iniciar sesión cada vez. Si limpia los datos almacenados en su navegador, deberá volver a iniciar sesión en todas las cuentas de DSound.
¿Por qué no puedo iniciar sesión con mi contraseña maestra o mi clave activa?
¡Porque simplemente no deberías hacerlo! Steemit.com lo permite únicamente porque también tienen una cartera en la aplicación, pero no debes iniciar sesión en Steemit.com con tu contraseña de todos modos, es una mala práctica. Creo que lo peor que un desarrollador puede hacer frente es el sentimiento de culpa causa de sus usuarios la pérdida de su dinero y las cuentas debido a una violación de seguridad en su aplicación o en un navegador específico. En su lugar, es mucho más seguro sólo permitir el uso de la clave de contabilización privada y limitar los riesgos.
Si quieres administrar tus recompensas de STEEM, te invito a usar Vessel. Y empiece a usar sólo la clave de publicación en cualquier plataforma en línea, como Steemit.com, Busy.org, etc.
Procesamiento de sonido en la subida
DSound ya hace algún procesamiento de sonido necesario en la carga. Esto es necesario para poder mostrar las formas de onda de los sonidos antes de descargarlos de la red IPFS. Un archivo de canción típica de buena calidad es de alrededor de 10 MB, por lo que podría tardar hasta 30 segundos para mostrar una forma de onda de sonido en la pantalla. Esto multiplicado por 6 sonidos por página sería insano debido al tiempo que tomó y el ancho de banda necesario para sólo mostrar los archivos que el usuario no necesariamente quiere jugar de todos modos.
Así que en DSound lo implementé al revés: en el momento de carga DSound lee el contenido del archivo de sonido y lo procesa para generar los valores de pico para ese archivo que alimentará la visualización de la forma de onda. Estos datos de pico se suben entonces a la red IPFS, junto con los medios originales, generando así 2 archivos cargados por sonido publicado, sin contar la imagen de portada.
Entonces descargar un archivo de picos de 15 KB es casi instantáneo, y sólo descargará el archivo de medios si el usuario quiere jugarlo! Cool no es así?
Integración con otras plataformas
Cualquier otra plataforma basada en STEEM puede integrar fácilmente sonidos publicados en DSound. El sonido y la cubierta IPFS hashes se almacenan dentro de la "json_metadata" de la publicación. Entonces es tan fácil como hacer:
Problemas conocidos
- Comportamiento problemático en iPad
- Alguna carrera de evento extraña en arrastrar por el área de carga de sonido
- ¿Encontraste otro? Por favor, ven conmigo en steemit.chat
Hoja de ruta (características que faltan) Roadmap
- Buscar (de forma descentralizada - no es posible ahora)
- Compartir y reproducir listas de reproducción
- Playback goodies como cross-fade
- Aplicación móvil para iOS y Android
- Integración de Custom Player para redes sociales
- Compartir en Facebook, Twitter y otros
Creo que el estado actual de la DSound es viable, incluso sin estas características faltantes. Los añadiré, lentamente. Por favor, hágamelo saber lo que quiere ser implementado en primer lugar, u otras sugerencias de características en los comentarios ...
Dependencias de la aplicación
DSound se construye con React, y utiliza muchos paquetes open-source de NPM. DSound no existiría sin ellos, por lo que merecen algunos créditos:
- js-ipfs-api - Comunicación con la Red IPFS
- SteemJS - Comunicación con la cadena de bloqueo STEEM
- autolinker - Añadir enlaces a descripciones / comentarios
- momento - Mostrando veces
- XSS - Para mostrar textos no confiables y prevenir ataques XSS
Ultimas palabras
De la misma manera que @heimindanger, soy un verdadero creyente de que la descentralización es el futuro y estoy tratando de contribuir con mi parte para cambiar el mundo.
Pero sé que voy a tener un tiempo difícil aquí porque competir con SoundCloud no será una tarea fácil! DSound se descentralizará lo más que pueda, con el fin de obtener el proyecto fuera de mi control directo dejando sólo el dominio como única dependencia centralizada por ahora.
También espero tener aún más presión de las etiquetas debido a la infracción de derechos de autor, aunque usted no leyó una sola palabra de mí sobre la construcción de DSound para eludir o facilitar el intercambio de materiales con derechos de autor ilegal, ya que soy un músico y DJ yo y yo cumplir con todas las leyes de derechos de autor todo el tiempo.
Por otra parte, defiendo que las leyes de derechos de autor están siendo malinterpretadas por etiquetas a su favor, permitiéndoles utilizar su enorme poder económico para empobrecer al 99% de los creadores musicales, mientras monopolizan el 1% que esclavizan con sus 100 páginas de contratos y 360º y haciendo grandes ganancias de esos, en tiempos que la publicación es MP3 y la distribución es Internet. Por lo tanto, las etiquetas son ahora las empresas de comercialización que venden sus marcas, y luchar contra todos los demás que tratan de traer algo nuevo al mundo, que no es propio de ellos!
¡Nunca animaré el uso de la música sin ninguna clase de contribución al individuo real que puso en el tiempo y la creatividad para dar vuelta eso en una música que gozamos! Los autores también necesitan comprar cosas en los supermercados, no sobreviven de la nada y sin ellos el mundo sería tan menos interesante ...
A lo que no estoy de acuerdo es el abuso de las mismas leyes que tenían en su verdadero corazón la necesidad de defender los derechos de quienes hacen que nuestro mundo sea más entretenido, de hacer cumplir el enriquecimiento de unos pocos y nos impiden escuchar toda la música creada que posiblemente podemos y disfrutar de todo!
Por ejemplo, ¿usted que la música de este siglo se basa en instrumentos electrónicos y el muestreo? ¡Toda la música en las tapas contiene algún tipo de muestra o de instrumento muestreado! Y las etiquetas van después remixers y bajar su contenido mientras se publican y hacer fortunas con otras canciones muestreadas también ?!
También buscan a los pequeños DJs y bajan su trabajo, porque están usando música que compraron legalmente para hacer sus sets, prohibiéndolos de tener su trabajo compartido y hacerse notar por lo que hacen mejor ... ¿Cómo diablos debería hacer un DJ conjunto para compartir sin ningún material con derechos de autor en ella? ¿Esto suena sano en absoluto?
Por lo tanto DSound no se trata de facilitar el intercambio de material con derechos de autor, sino que se trata de liberar a los autores de las presiones de las principales etiquetas y darles una herramienta que les permite hacer una vida digna de sus creaciones sin tener que ser firmado a un etiquetaron y esclavizaron sus vidas.
Si puedo ayudar a que esto suceda, seré el hombre más feliz de este planeta, porque ...
"La música es lo que suenan las sensaciones"
@prc - 2017
Está excelente el aporte de tu post a toda la comunidad hispana. Muchísimas gracias, si puedes visita mi ultimo post https://steemit.com/spanish/@sandrag89/la-humanidad.
Buenísimo!
Creo que tu post es super completo. tiene toda la información incluso sobre Steem que no conocía, saludos
Este Post ha recibido un Upvote desde la cuenta del King: @dineroconopcion, El cual es un Grupo de Soporte mantenido por 5 personas mas que quieren ayudarte a llegar hacer un Top Autor En Steemit sin tener que invertir en Steem Power. Te Gustaria Ser Parte De Este Projecto?
This Post has been Upvote from the King's Account: @dineroconopcion, It's a Support Group by 5 other people that want to help you be a Top Steemit Author without having to invest into Steem Power. Would You Like To Be Part of this Project?
Muy interesante, el post es muy detallado. Enhorabuena.
Y el código fuente, ¿lo vas a compartir en github? ¿Qué tienes pensado al respecto? ¿O integrarlo en NPM? Keep it up!