izhangzhihao / intellij-rainbow-fart

🌈一个在你编程时持续夸你写的牛逼的扩展,可以根据代码关键字播放贴近代码意义的真人语音。Inspired by vscode-rainbow-fart
https://plugins.jetbrains.com/plugin/14543-rainbow-fart
MIT License
511 stars 23 forks source link

Any English sound package out there? #38

Closed Stevemoretz closed 4 years ago

Stevemoretz commented 4 years ago

I don't know if this is a feature request or what?But I can't seem to make it English couldn't find any package also.Would you please help I'm not Chinese.

izhangzhihao commented 4 years ago

I don't think there is any high-quality English voice package, this is the English voices from the origin VSCode version, you can try to download the dir and config it here.

Stevemoretz commented 4 years ago

Thank you so much I did it.I did it and I get this error:

com.fasterxml.jackson.module.kotlin.MissingKotlinParameterException: Instantiation of [simple type, class com.github.izhangzhihao.rainbow.fart.Manifest] value failed for JSON property avatar due to missing (therefore NULL) value for creator parameter avatar which is a non-nullable type
 at [Source: (String)"{
    "name": "built-in-voice-english",
    "display-name": "Built-In Voice (English)",
    "version": "1.0.0",
    "description": "This built-in voice package is created by Speech Synthesis. Because I don't have any friends that use English as mother language, if you are interested in this project, it would be nice to have contribute with your voice, no matter about gender, tone color, personality, language, country etc.",
    "languages": ["javascript"],
    "gender": "female",
    "locale": ""[truncated 6 chars]; line: 9, column: 1] (through reference chain: com.github.izhangzhihao.rainbow.fart.Manifest["avatar"])
    at com.fasterxml.jackson.module.kotlin.KotlinValueInstantiator.createFromObjectWith(KotlinValueInstantiator.kt:112)
    at com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator.build(PropertyBasedCreator.java:198)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:488)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1292)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:326)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:159)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4218)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3214)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3197)
    at com.github.izhangzhihao.rainbow.fart.ResourcesLoader.runActivity(ResourcesLoader.kt:146)
    at com.intellij.ide.startup.impl.StartupManagerImpl.runActivity(StartupManagerImpl.java:216)
    at com.intellij.ide.startup.impl.StartupManagerImpl.lambda$null$1(StartupManagerImpl.java:177)
    at com.intellij.openapi.project.DumbServiceImpl.doRun(DumbServiceImpl.java:396)
    at com.intellij.openapi.project.DumbServiceImpl.updateFinished(DumbServiceImpl.java:388)
    at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:83)
    at com.intellij.openapi.application.TransactionGuardImpl.lambda$pollQueueLater$0(TransactionGuardImpl.java:68)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:441)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:424)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:407)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:908)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:781)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:424)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:698)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:423)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
izhangzhihao commented 4 years ago

Please replace manifest.json with

{
    "name": "built-in-voice-english",
    "display-name": "Built-In Voice (English)",
    "avatar": "avatar.jpg",
    "avatar-dark":"avatar-dark.jpg",
    "version": "1.0.1",
    "description": "none",
    "languages": ["javascript"],
    "author": "Alice Moon",
    "gender": "female",
    "locale": "en"
}
Stevemoretz commented 4 years ago

Thanks now no errors.But how do I test it.(I want it to say something.)

izhangzhihao commented 4 years ago

just typing func or => or catch

izhangzhihao commented 4 years ago

You can config it by editing contributes.json

izhangzhihao commented 4 years ago

I never tested with the English voice package, so I don't know how bad/good it works.

Stevemoretz commented 4 years ago

I used

const test = ()=>{

};

And it talked.

Very nice yeah it's all in contributes.json. Such a full am I :D.

Great so it's working but there are only a few ones.They have used some text to speech to make the voices. Why wouldn't you do that?You already have 343 stars without the English version lol.

Honestly I get some free time I'll make some cool stuff with it.I guess you should have a English version it's pretty easy to make with a text to speech robot.

izhangzhihao commented 4 years ago

Great, contribution welcome!

Stevemoretz commented 4 years ago

Great, contribution welcome!

HI this is me again, would you mind giving me the translations in English so I can make audio files in English for you?

I have managed to turn text to an audio file successfully. Just need to know what each of your audio files mean translated to English ?

izhangzhihao commented 4 years ago

Please try translate from https://github.com/SaekiRaku/vscode-rainbow-fart/blob/master/src/built-in-voice-packages/built-in-voice-chinese/README.md

Stevemoretz commented 4 years ago

Hi again tnx but I'm not Chinese and I don't think Google translate is good enough yet

Stevemoretz commented 4 years ago

This could even be cooler if using some funny or cool stuff instead of some compliments,I used some friends series and some spongebob and some other voices to spice it up.Wish there was such a custom voice package ready,becuase the compliments get repetitive.

By the way great plugin and really nice that this is configurable as easy as that.